* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
ee05f2fe
AM
12003-02-19 Alan Modra <amodra@bigpond.net.au>
2
f4656909
AM
3 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
4 (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
5 test.
6 (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
7 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
8 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
9 and optimize. Use ELIMINATE_COPY_RELOCS.
10 (ppc64_elf_relocate_section): Likewise.
11
ee05f2fe
AM
12 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
13 (ppc_elf_copy_indirect_symbol): Copy pc_count field.
14 (ELIMINATE_COPY_RELOCS): Define.
15 (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
16 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
17 (MUST_BE_DYN_RELOC): Define.
18 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
19 and optimize. Trim dyn_relocs.
20 (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
21 not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
22 track of pc_rel dyn relocs.
23 (ppc_elf_relocate_section): Remove "will_become_local". Adjust
24 WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
25 allocate_dynrelocs. Don't recalculate "sec".
26
7619e7c7
AM
272003-02-18 Alan Modra <amodra@bigpond.net.au>
28
d881513a
AM
29 * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
30 * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
31 on invalid LD relocs.
32 (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
33 (ppc64_elf_relocate_section): Unify new handling of LD relocs and
34 tlsld_got entry. Use IS_PPC64_TLS_RELOC.
35
7619e7c7
AM
36 * elf32-ppc.h: New file.
37 * elf32-ppc.c: Include elf32-ppc.h.
38 (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
39 (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
40 Add "tls_mask" field.
41 (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
42 (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
43 Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
44 sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
45 Make use of htab shortcuts throughout file.
46 (ppc_elf_link_hash_newfunc): Init tls_mask field.
47 (ppc_elf_link_hash_table_create): Init new fields.
48 (ppc_elf_copy_indirect_symbol): Copy tls_mask.
49 (ppc_elf_howto_raw): Add tls relocs.
50 (ppc_elf_reloc_type_lookup): Handle them.
51 (ppc_elf_unhandled_reloc): New function.
52 (ppc_elf_create_got): Stash got section pointer in hash table,
53 return status. Make .rela.got too.
54 (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
55 (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
56 NON_GOT_REF set. Don't allocate space in .plt here..
57 (allocate_dynrelocs): ..do so here instead, properly ref-counting and
58 not allocating plt entries unnecessarily. Allocate got entries here.
59 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
60 (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
61 "info" during allocate_dynrelocs hash traversal. Use htab section
62 shortcuts rather than searching for named sections. Get rid of
63 "plt" and "strip" booleans.
64 (update_local_sym_info, bad_shared_reloc): New functions.
65 (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
66 ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
67 in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
68 Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
69 R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
70 in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
71 relocs that might use a plt entry. Set NON_GOT_REF too.
72 Enumerate all do-nothing relocs.
73 (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
74 tls relocs and all plt relocs.
75 (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
76 (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
77 (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
78 shortcuts.
79 (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
80 bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
81 entries and got relocs here. Warn on non-zero got reloc addend.
82 Split out branch taken/not taken reloc code into a separate switch
83 and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
84 Split out HA reloc adjustments to separate switch statement. Don't
85 warn on reloc overflow if we've already warned about undefined.
86 Don't rebuild sym name when reporting errors. Report all possible
87 errors from _bfd_final_link_relocate.
88 (bfd_elf32_bfd_final_link): Don't define.
89
cd27b276
AM
902003-02-18 Alan Modra <amodra@bigpond.net.au>
91
92 * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
93 rebuild sym name when reporting errors.
94
ae9a127f
NC
952003-02-17 Nick Clifton <nickc@redhat.com>
96
97 * elflink.h (elf_link_output_extsym): Only check
98 allow_shlib_undefined for shared libraries.
99 * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
100 of allow_shlib_undefined.
101 * elf32-cris.c (cris_elf_relocate_section): Likewise.
102 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
103 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
104 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
105 * elf32-s390.c (elf_s390_relocate_section): Likewise.
106 * elf32-sh.c (sh_elf_relocate_section): Likewise.
107 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
108 * elf32-vax.c (elf_vax_relocate_section): Likewise.
109 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
110 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
111 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
112 * elf64-s390.c (elf_s390_relocate_section): Likewise.
113 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
114 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
115 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
116 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
117
b5f852ea
NC
1182003-02-17 Nick Clifton <nickc@redhat.com>
119
120 * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
121 address field to use in the comparison.
122 (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
123
3193e234
NC
1242003-02-14 Bob Wilson <bob.wilson@acm.org>
125
126 * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
127 backends when checking if the generic ELF target should be used.
128
21efdc8d
NC
129 * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
130 outside of functions, treat values as absolute addresses.
131
ed781d5d
NC
132 * bfd.c: Change embedded documentation to use consistent indentation
133 and to split up long lines. Change informal style of description
134 for functions lacking real documentation.
135 * coffcode.h: Break up long lines in embedded documentation.
136 * format.c: Likewise.
137 * targets.c: Likewise.
138 * libcoff.h: Regenerate.
139 * bfd-in2.h: Regenerate.
140
58ac9f71
AM
1412003-02-14 Alan Modra <amodra@bigpond.net.au>
142
143 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
144 (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
145 (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
146 (allocate_dynrelocs): Don't treat undefined and undefweak specially.
147 (ppc_size_one_stub): Fix warning, and tighten plt entry check.
148 (group_sections): Don't share a stub section if stubs are for a large
149 section. Adjust comment.
150 (ppc64_elf_size_stubs): Roughly double the size left for stubs if
151 !stubs_always_before_branch.
152 (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
153 treat undefined and undefweak specially when processing dyn relocs.
154
9147e853
JJ
1552003-02-13 Jakub Jelinek <jakub@redhat.com>
156
157 * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
158
427bfd90
NC
1592003-02-13 Nick Clifton <nickc@redhat.com>
160
161 * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
162 in computation of offset to insert into BL instruction.
163
42b5d0ea
NC
1642003-02-11 Uwe Stieber <uwe@wwws.de>
165
166 * config.bfd: Add support for kaOS as cross build target system.
167
a48ebf4d
AM
1682003-02-11 Alan Modra <amodra@bigpond.net.au>
169
170 * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
171 .__tls_get_addr too.
172 (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
173
c95b8a7a
KK
1742003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
175
176 * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
177 (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
178 (sh_elf_link_hash_newfunc): Remove the initialization of
179 tls_tpoff32 field.
180 (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
181 for which tls_tpoff32 flag is set.
182 (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
183 of the symbol includes the entry matched with the input_section
184 and having tls_tpoff32 flag on. When linking statically, set
185 symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
186 is defined in this executable.
187 (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
188
a779acda
JJ
1892003-02-10 Jakub Jelinek <jakub@redhat.com>
190
191 * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
192 even if there is just non-empty .rela.plt.
193
fde78edd
NC
1942003-02-10 Nick Clifton <nickc@redhat.com>
195
196 * archures.c (bfd_mach_arm_ep9312): Define.
197 * bfd-in2.h: Regenerate.
198 * cpu-arm.c (processors[]): Add ep9312.
199 (bfd_arm_arch): Add ep9312.
200 * elf32-arm.h (elf32_arm_merge_private_data): Update error
201 messages and add test for Maverick floating point support.
202 (elf32_arm_print_private_bfd_data): Handle
203 EF_ARM_MAVERICK_FLOAT flag.
c178919b
NC
204 (elf32_arm_object_p): New function.
205 (elf_backend_object_p): Define.
fde78edd 206
e7b938ca
AM
2072003-02-10 Alan Modra <amodra@bigpond.net.au>
208
209 * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
210 variables, structure fields or function params to tls_mask or
211 similar to better reflect usage.
212 (struct got_entry): Comment.
213 (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
214 (get_tls_mask): Rename from get_tls_type.
215
951fd09b
AM
2162003-02-09 Alan Modra <amodra@bigpond.net.au>
217
218 * elf64-ppc.c (TLS_GD_LD): Don't define..
219 (TLS_GD): ..define this instead and update all uses.
220 (TLS_TPRELGD): Define.
221 (ppc64_elf_link_hash_table_create): Tweak initialization of
222 init_refcount and init_offset.
223 (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
224 Mark second slot of GD or LD toc entries.
225 (get_tls_type): Return an int. Distinguish toc GD and LD entries
226 from other tls types.
227 (ppc64_elf_tls_setup): New function, split out from..
228 (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
229 defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
230 on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
231 return value to properly decide whether toc GD and LD entries can
232 optimize away __tls_get_addr call. Check next reloc after DTPMOD64
233 to determine GD or LD rather than looking at TLS_LD flag. Don't
234 attempt to adjust got entry tls_type here..
235 (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
236 look for possible merges.
237 (ppc64_elf_size_dynamic_sections): Adjust local got entries for
238 optimization.
239 (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
240 (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
241 Make use of return value from get_tls_type to properly detect GD and
242 LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
243 handle tls_get_addr removal when looking at REL24 relocs, do it when
244 looking at the previous reloc. Check reloc after DTPMOD64 to determine
245 GD or LD.
246 * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
247
acc990f2
AM
2482003-02-08 Alan Modra <amodra@bigpond.net.au>
249
00b28bb0
AM
250 * elf32-hppa.c (group_sections): Don't share a stub section if
251 stubs are for a large section.
252
acc990f2
AM
253 * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
254 stubs if !stubs_always_before_branch.
255
589e6347
NC
2562003-02-07 Nick Clifton <nickc@redhat.com>
257
258 * elf.c (swap_out_syms): Generate an error message if an
259 equivalent output section cannot be found for a symbol.
260
c328dc3f
JJ
2612003-02-07 Jakub Jelinek <jakub@redhat.com>
262
263 * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
264 local_got_entries is NULL.
265
84f97cb6
AS
2662003-02-06 Andreas Schwab <schwab@suse.de>
267
268 * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
269 (read_value): Add parameter is_signed, use signed extraction if
270 the value is signed.
271 (_bfd_elf_write_section_eh_frame): Pass signed flag of the
272 encoding to read_value.
273
6349e628
AM
2742003-02-06 Alan Modra <amodra@bigpond.net.au>
275
276 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
277 plt info when called to transfer weak sym info.
278
411e1bfb
AM
2792003-02-05 Alan Modra <amodra@bigpond.net.au>
280
281 * reloc.c: Add PPC and PPC64 TLS relocs.
282 * libbfd.h: Regenerate.
283 * bfd-in2.h: Regenerate.
284 * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
285 (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
286 against a 32 bit field.
287 (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
288 (_ppc64_elf_section_data): Add t_symndx and comments.
289 (ppc64_elf_section_data): Use elf_section_data macro.
290 (ppc64_elf_new_section_hook): American spelling.
291 (struct got_entry, struct plt_entry): New.
292 (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
293 (struct ppc_stub_hash_entry): Add "addend" field.
294 (struct ppc_link_hash_entry): Add "tls_type".
295 (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
296 TLS_EXPLICIT): Define.
297 (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
298 (link_hash_newfunc): Init new fields.
58ac9f71 299 (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
411e1bfb
AM
300 init_offset to NULL.
301 (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
302 _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
303 there.
304 (update_local_sym_info, update_plt_info): New functions.
305 (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
306 handling to use got.glist rather than got.refcount. Likewise for PLT.
307 (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
308 (func_desc_adjust): Adjust for new PLT list.
309 (ppc64_elf_adjust_dynamic_symbol): Likewise.
310 (get_sym_h, get_tls_type): New functions.
311 (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
312 (ppc64_elf_tls_optimize): New function.
313 (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
314 TLS relocs.
315 (ppc64_elf_size_dynamic_sections): Likewise.
316 (ppc_type_of_stub): Adjust for new PLT list.
317 (ppc_build_one_stub): Likewise.
318 (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
319 calls specially.
320 (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
321 TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
322 init GOT entries that have a reloc. Generate GOT relocs here..
323 (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
324 * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
325
0cca5f05
AS
3262003-02-04 Andreas Schwab <schwab@suse.de>
327
328 * elf32-m68k.c (elf_m68k_hash_entry): Define.
329 (elf_m68k_link_hash_traverse): Remove.
330 (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
331 elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
332 reduce casting.
333 (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
334 casting.
335 (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
336 instead of elf_m68k_link_hash_traverse.
337 (elf_m68k_discard_copies): Change first parameter to pointer to
338 struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
339 elf_m68k_link_hash_entry is needed.
340
5cab59f6
AM
3412003-02-04 Alan Modra <amodra@bigpond.net.au>
342
343 * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
344 (struct elf_link_hash_entry): Add "glist" and "plist" fields to
345 "got" union, and declare as gotplt_union. Use gotplt_uinion for
346 "plt" field.
347 (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
348 Add "init_offset" field.
349 (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
350 (elf_local_got_ents): Declare.
351 * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
352 and "plt".
353 (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
354 (_bfd_elf_link_hash_table_init): Set "init_offset".
355 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
356 from init_offset.
357 (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
358
359 * elf.c (bfd_elf_local_sym_name): Split out from..
360 (group_signature): ..here.
361 * elf-bfd.h (bfd_elf_local_sym_name): Declare.
362
68bfbfcc
AM
3632003-02-04 Alan Modra <amodra@bigpond.net.au>
364
365 * elf-bfd.h (enum elf_link_info_type): Remove.
366 (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
367 to struct sec. Remove linkonce_p field.
368 (elf_linkonce_p): Delete.
369 (elf_discarded_section): Update for sec_info_type change.
370 * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
371 flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
372 (ELF_INFO_TYPE_NONE): Define.
373 (ELF_INFO_TYPE_STABS): Define.
374 (ELF_INFO_TYPE_MERGE): Define.
375 (ELF_INFO_TYPE_EH_FRAME): Define.
376 (ELF_INFO_TYPE_JUST_SYMS): Define.
377 (STD_SECTION): Update struct sec initializer.
378 * ecoff.c (bfd_debug_section): Likewise.
379 * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
380 * elflink.h: Likewise.
381 * elf-eh-frame.c: Likewise.
382 * elf64-alpha.c: Likewise.
383 * elfxx-ia64.c: Likewise.
384 * elfxx-mips.c: Likewise.
385 * bfd-in2.h: Regenerate.
386
387 * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
388 referring to used_by_bfd.
389 * elf64-sparc.c (sec_do_relax): Likewise.
390 * elf64-mmix.c (mmix_elf_section_data): Likewise.
391 * elfxx-mips.c (mips_elf_section_data): Likewise.
392 * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
393 (ieee_get_section_contents): Likewise.
394 (ieee_new_section_hook): Formatting.
395 (ieee_canonicalize_reloc): Remove commented out code.
396 * mmo.c (mmo_section_data): Define. Use throughout file.
397 * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
398
31f7ba04
NC
3992003-01-31 Graydon Hoare <graydon@redhat.com>
400
401 * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
402 * Makefile.in: Regenerate.
403 * opncls.c (calc_crc32, get_debug_link_info,
404 seperate_debug_file_exists, find_seperate_debug_file): New
405 internal functions.
406 (bfd_follow_gnu_debuglink): New function. Follow the pointer
407 contained inside a .gnu_debuglink section.
408 * bfd-in2.h: Regenerate.
409
38985a1c
AO
4102003-01-29 Alexandre Oliva <aoliva@redhat.com>
411
412 * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
413 entry->abfd when it's NULL.
414
4bb9a95f
AO
4152003-01-27 Alexandre Oliva <aoliva@redhat.com>
416
417 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
418 _bfd_elf_section_offset returning -2 the same way as -1.
419
f4416af6
AO
420 * elfxx-mips.c (mips_elf_multi_got): New function.
421 (struct mips_got_entry): Make symndx and gotidx signed. Moved
422 addend into union along with address and link hash entry.
423 (struct mips_got_info): Added bfd2got and next.
424 (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
425 (mips_elf_got_section, mips_elf_create_got_section): Use
426 SEC_EXCLUDE bit to tell whether we really need the got
427 section. Take boolean arguments to disregard an excluded
428 section, or to create it as excluded. Adjust all callers.
429 Use mips_elf_got_section all over.
430 (mips_elf_local_got_index, mips_elf_got_page,
431 mips_elf_got16_entry): Take input bfd as argument, and pass it
432 on to mips_elf_create_local_got_entry.
433 (mips_elf_global_got_index, mips_elf_create_local_got_entry):
434 Take input bfd as argument, and manage entries in the
435 appropriate GOT.
436 (mips_elf_got_offset_from_index): Take input bfd as argument,
437 and use it to adjust the GP offset of the bfd.
438 (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
439 unreferenced GOT entries of global symbols to the end.
440 (mips_elf_record_global_got_symbol): Take input bfd as
441 argument. Add entries to the master GOT hash table.
442 (struct mips_elf_bfd2got_hash): New.
443 (struct mips_elf_got_per_bfd_arg): New.
444 (struct mips_elf_set_global_got_offset_arg): New.
445 (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
446 mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
447 mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
448 mips_elf_merge_gots, mips_elf_set_global_got_offset,
449 mips_elf_resolve_final_got_entry,
450 mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
451 mips_elf_got_for_ibfd): New functions.
452 (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
453 (MIPS_ELF_GOT_MAX_SIZE): New macro.
454 (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
455 (mips_elf_got_entry_hash): Take new fields into account. Use
456 mips_elf_hash_bfd_vma.
457 (mips_elf_got_entry_eq): Take new fields into account.
458 (mips_elf_create_got_section): Initialize new fields.
459 (mips_elf_calculate_relocation): Pass input_bfd to functions
460 that now take it. Adjust gp for the input_bfd.
461 (mips_elf_allocate_dynamic_relocation,
462 mips_elf_create_dynamic_relocation,
463 _bfd_mips_elf_create_dynamic_sections): Use...
464 (mips_elf_rel_dyn_section): New function. Borrow code from...
465 (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
466 now take it. Create the got section if needed, even if
467 excluded, before recording a global got symbol. Move some
468 code to...
469 (mips_elf_record_local_got_symbol): New fn.
470 (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
471 Compute multi-got global entries offsets. Move GOT code to...
472 (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
473 if the GOT is too big.
474 (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
475 undefweak symbol to zero. Generate dynamic relocations for
476 non-primary GOT entries for global symbols.
477 (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
478 case. Generate dynamic relocations for local got entries.
479 Sort dynamic relocations on N64 too, using...
480 (sort_dynamic_relocs_64): New fns.
481 (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
482 (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
483
52b69c9e
AO
4842003-01-27 Alexandre Oliva <aoliva@redhat.com>
485
486 * bfd.c (struct _bfd): Added id field.
487 * opncls.c (_bfd_id_counter): New static variable.
488 (_bfd_new_bfd): Use it.
489 * bfd-in2.h: Rebuilt.
490
71e5db1c
AM
4912003-01-25 Alan Modra <amodra@bigpond.net.au>
492
493 * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
494
b9734f35
JJ
4952003-01-25 Jakub Jelinek <jakub@redhat.com>
496
497 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
498 (elf32_sparc_rev32_howto): New variable.
499 (sparc_reloc_map): Add TLS relocs.
500 (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
501 Handle REV32.
502 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
503 New functions.
504 (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
505 struct elf32_sparc_link_hash_table):
506 New structures.
507 (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
508 elf32_sparc_hash_table): Define.
509 (link_hash_newfunc, elf32_sparc_link_hash_table_create,
510 create_got_section, elf32_sparc_create_dynamic_sections,
511 elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
512 functions.
513 (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
514 reference counting.
515 (elf32_sparc_gc_sweep_hook): Likewise.
516 (elf32_sparc_adjust_dynamic_symbol): Likewise.
517 (elf32_sparc_size_dynamic_sections): Likewise.
518 (elf32_sparc_relocate_section): Likewise.
519 (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
520 New functions.
521 (elf32_sparc_object_p): Allocate backend private object data.
522 (bfd_elf32_bfd_link_hash_table_create,
523 elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
524 elf_backend_can_refcount): Define.
525 (elf_backend_create_dynamic_sections): Define to
526 elf32_sparc_create_dynamic_sections.
527 * reloc.c: Add SPARC TLS relocs.
528 * bfd-in2.h, libbfd.h: Rebuilt.
529 * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
530 (sparc_reloc_map): Likewise.
531
69fc87f1
MS
5322003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
533
534 * bfd-in2.h: Regenerate.
535 * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
536 s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
537 (elf_howto_table): Add TLS relocs.
538 (elf_s390_reloc_type_lookup): Likewise.
539 (elf_s390_link_hash_entry): Add tls_type.
540 (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
541 New macros.
542 (elf_s390_link_hash_table): Add tls_ldm_got.
543 (link_hash_newfunc): Initialize tls_type.
544 (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
545 (elf_s390_copy_indirect_symbol): Copy tls_type information.
546 (elf_s390_check_relocs): Support TLS relocs.
547 (elf_s390_gc_sweep_hook): Likewise.
548 (allocate_dynrelocs): Likewise.
549 (elf_s390_size_dynamic_sections): Likewise.
550 (elf_s390_relocate_section): Likewise.
551 (elf_s390_finish_dynamic_symbol): Likewise.
552 (bfd_elf32_mkobject): Define for TLS.
553 * elf64-s390.c: Same changes as for elf32-s390.c.
554 * libbfd.h: Regenerate.
555 * reloc.c: Add s390 TLS relocations.
556
9aa4e505
NC
5572003-01-24 Charles Lepple clepple.ghz.cc
558
559 * aclocal.m4: Fix name of --enable-install-libbfd switch.
560
5177500f
NC
5612003-01-23 Nick Clifton <nickc@redhat.com>
562
563 * Add sh2e support:
564
565 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
566
567 * archures.c (bfd_mach_sh2e): Added.
568 * bfd-in2.h: Rebuilt.
569 * cpu-sh.c (arch_info_struct): Added SH2e.
570 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
571
f0abc2a1
AM
5722003-01-23 Alan Modra <amodra@bigpond.net.au>
573
574 * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
575 dynindx to an int. Rearrange for better packing.
576 * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
577 * elf32-mips.c (bfd_elf32_new_section_hook): Define.
578 * elf32-sh64.h: New. Split out from include/elf/sh.h.
579 (struct _sh64_elf_section_data): New struct.
580 (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
581 * elf32-sh64-com.c: Include elf32-sh64.h.
582 * elf32-sh64.c: Likewise.
583 (sh64_elf_new_section_hook): New function.
584 (bfd_elf32_new_section_hook): Define.
585 (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
586 (sh64_bfd_elf_copy_private_section_data): Likewise.
587 (sh64_elf_final_write_processing): Likewise.
588 * elf32-sparc.c (struct elf32_sparc_section_data): New.
589 (elf32_sparc_new_section_hook): New function.
590 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
591 (sec_do_relax): Define.
592 (elf32_sparc_relax_section): Adjust to use sec_do_relax.
593 (elf32_sparc_relocate_section): Likewise.
594 * elf64-mips.c (bfd_elf64_new_section_hook): Define.
595 * elf64-mmix.c (struct _mmix_elf_section_data): New.
596 (mmix_elf_section_data): Define. Use throughout file.
597 (mmix_elf_new_section_hook): New function.
598 (bfd_elf64_new_section_hook): Define.
599 * elf64-ppc.c (struct _ppc64_elf_section_data): New.
600 (ppc64_elf_section_data): Define. Use throughout.
601 (ppc64_elf_new_section_hook): New function.
602 (bfd_elf64_new_section_hook): Define.
603 * elf64-sparc.c (struct sparc64_elf_section_data): New.
604 (sparc64_elf_new_section_hook): New function.
605 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
606 (sec_do_relax): Define.
607 (sparc64_elf_relax_section): Adjust to use sec_do_relax.
608 (sparc64_elf_relocate_section): Likewise.
609 (bfd_elf64_new_section_hook): Define.
610 * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
611 * elfxx-mips.c (struct _mips_elf_section_data): New.
612 (mips_elf_section_data): Define. Use throughout.
613 (_bfd_mips_elf_new_section_hook): New function.
614 (mips_elf_create_got_section): Don't alloc used_by_bfd.
615 * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
616 * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
617 * Makefile.am: Run "make dep-am".
618 * Makefile.in: Regenerate.
619
cc03ec80
RH
6202003-01-21 Richard Henderson <rth@redhat.com>
621
622 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
623 (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
624 (elf64_alpha_adjust_dynamic_symbol): Set them.
625 (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
626 (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
627 symbol index when relaxing LDM to TPREL.
628 (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
629 relocs, even if the target isn't locally defined.
630 (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
631 (elf64_alpha_relocate_section): Likewise. Force TP-relative
632 relocs vs symndx 0 to the tp base.
633
da896d3f
NC
6342003-01-21 Fabio Alemagna <falemagn@aros.org>
635
636 * config.bfd: Handle i[3456]86-*-aros*.
637
7fce784e
AS
6382003-01-21 Andreas Schwab <schwab@suse.de>
639
640 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
641 (struct ppc_elf_link_hash_entry): Define.
642 (ppc_elf_hash_entry): New function.
643 (struct ppc_elf_link_hash_table): Define.
644 (ppc_elf_hash_table): New function.
645 (ppc_elf_link_hash_newfunc): New function.
646 (ppc_elf_link_hash_table_create): New function.
647 (ppc_elf_copy_indirect_symbol): New function.
648 (allocate_dynrelocs): New function.
649 (readonly_dynrelocs): New function.
650 (ppc_elf_size_dynamic_sections): Allocate space for dynamic
651 relocs and determine DT_TEXTREL.
652 (ppc_elf_check_relocs): Don't do that here, just count the
653 dynamic relocs.
654 (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
655 removed section.
656 (bfd_elf32_bfd_link_hash_table_create): Define.
657 (elf_backend_copy_indirect_symbol): Define.
658
1bbc9cec
RH
6592003-01-21 Richard Henderson <rth@redhat.com>
660
661 * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
662 TPREL also get a reloc if shared. Remove SREL support.
663 (elf64_alpha_emit_dynrel): New.
acc990f2 664 (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
1bbc9cec
RH
665 and GOTTPREL relocs to local symbols against the tp base.
666 (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
667
668 * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
669 use count before clobbering r_type.
670 (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
671 ordering would mean dataflow inspection is necessary.
672
0da35f8b
SS
6732003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
674
675 * coffcode.h (coff_set_flags): Added get/set arch hooks.
acc990f2 676
571fe01f
NC
6772003-01-20 Fabio Alemagna <falemagn@aros.org>
678
679 * elf32-sh.c: Treat elfNN_bed like other macros defined in
680 elfxx-target.h and #undef it before #define'ing it.
681 * elf32-i386.c: Likewise.
acc990f2
AM
682 * elf32-sh64.c: Likewise.
683 * elf64-alpha.c: Likewise.
684 * elf64-sh64.c: Likewise.
571fe01f 685
5236c819
MS
6862003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
687
688 * bfd-in2.h: Regenerate.
689 * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
690 (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
691 R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
692 R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
693 R_390_PLTOFF32 and R_390_PLTOFF64.
694 (elf_s390_reloc_type_lookup): Likewise.
695 (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
696 of GOTPLT references to a function.
697 (link_hash_newfunc): Initialize gotplt_refcount.
698 (elf_s390_check_relocs): Move allocation of local_got_refcounts array
699 and creation of the got section out of the main switch. Add support
700 for the gotoff, gotplt and pltoff relocations.
701 (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
702 and pltoff.
703 (elf_s390_adjust_gotplt): New function.
704 (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
705 plt entries.
706 (allocate_dynrelocs): Add comment.
707 (elf_s390_relocate_section): Change r_type to unsigned. Add support
708 for gotoff, gotplt and pltoff relocations.
709 * elf64-s390.c: Same changes as for elf32-s390.c.
710 * libbfd.h: Regenerate.
711 * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
712 BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
713 BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
714 and BFD_RELOC_390_PLTOFF64.
715
a823975a
JJ
7162003-01-18 Jakub Jelinek <jakub@redhat.com>
717
718 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
719 R_IA64_TPREL64[LM]SB against non-global symbol properly.
720
b3dfd7fe
JJ
7212003-01-16 Jakub Jelinek <jakub@redhat.com>
722
723 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
724 self_dtpmod_done and self_dtpmod_offset.
725 (allocate_global_data_got): Only use one got entry for all
726 dtpmod relocs against local symbols.
727 (allocate_dynrel_entries): Only need .rela.got entry for
728 dtpmod against global symbol.
729 (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
730 Reserve space in .rela.got for the local dtpmod entry.
731 (set_got_entry): Initialize the common local dtpmod .got entry.
732 (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
733 and R_IA_64_DTPREL64MSB.
734
04c9666a
AM
7352003-01-16 Alan Modra <amodra@bigpond.net.au>
736
737 * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
738 (R_PPC_*): Rename all occurrences to R_PPC64_*.
739 (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
740 (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
741 (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
742 relative relocs, not with absolute ones.
743 * Makefile.am: Run "make dep-am".
744 * Makefile.in: Regenerate.
745 * po/SRC-POTFILES.in: Regenerate.
746
c87f1ff7
AS
7472003-01-15 Andreas Schwab <schwab@suse.de>
748
749 * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
750 relocation against a non-allocated readonly section.
751
86bbe32f
AM
7522003-01-10 Alan Modra <amodra@bigpond.net.au>
753
754 * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
755 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
756
32d95f29
KD
7572002-01-08 Klee Dienes <kdienes@apple.com>
758
759 * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
760 (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
761 * Makefile.in: Regenerate.
acc990f2 762
ab7d0aa0
AO
7632003-01-08 Alexandre Oliva <aoliva@redhat.com>
764
765 * elfn32-mips.c (prev_reloc_section): New.
766 (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
767 (SET_RELOC_ADDEND): Parenthesize macro argument.
768
95d0f04a
DA
7692003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
770
771 * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
772 adjust addil instructions if the symbol has no section.
773
5c9e189c
DD
7742003-01-07 DJ Delorie <dj@redhat.com>
775
776 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
777 partial_inplace.
778
3e829b4a
AS
7792003-01-07 Andreas Schwab <schwab@suse.de>
780
781 * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
782 PC relative relocations.
783 (elf_m68k_discard_copies): Set it here instead.
784
a75473eb
SC
7852002-01-02 Ben Elliston <bje@redhat.com>
786 Jeff Johnston <jjohnstn@redhat.com>
787
788 * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
789 (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
790 (BFD32_BACKENDS): Add elf32-iq2000.lo.
791 (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
792 (cpu-iq2000.lo): New target.
793 * Makefile.in: Regenerate.
794 * config.bfd: Handle iq2000-*-elf.
795 * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
796 (bfd_archures_list): Add bfd_iq2000_arch.
797 * configure.in: Handle bfd_elf32_iq2000_vec.
798 * configure: Regenerate.
acc990f2 799 * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
a75473eb
SC
800 and BFD_RELOC_IQ2000_UHI16.
801 * targets.c (bfd_elf32_iq2000_vec): Declare.
802 (bfd_target_vector): Add bfd_elf32_iq2000_vec.
803 * elf.c (prep_headers): Set e_machine to EM_IQ2000.
804 * cpu-iq2000.c: New file.
805 * elf32-iq2000.c: Likewise.
806 * libbfd.h: Regenerate.
807 * bfd-in2.h: Likewise.
808
64543e1a
RS
8092003-01-02 Richard Sandiford <rsandifo@redhat.com>
810
811 * elfxx-mips.c: Include libiberty.h.
812 (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
813 (mips_set_isa_flags): New function, split out from...
814 (_bfd_mips_elf_final_write_processing): ...here. Only call
815 mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
816 (mips_mach_extensions): New array.
817 (mips_32bit_flags_p): New function.
818 (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
819 Use mips_32bit_flags_p to check if one binary is 32-bit and the
820 other is 64-bit. When adopting IBFD's architecture, adopt the
821 bfd_mach as well as the flags.
822
4852a44e
NC
8232003-01-02 Nick Kelsey <nickk@ubicom.com>
824
825 * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
826 fix internal errors, fix bad code generation, fix incorrect stabs
827 information, and improve ability to eliminate redundant page
828 instructions. Added code to ip2k_final_link_relocate to self-verify
829 the linker relaxation. Fix formatting problems.
830
af7ee8bf
CD
8312002-12-30 Chris Demetriou <cgd@broadcom.com>
832
833 * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
834 * archures.c (bfd_mach_mipsisa32r2): New define.
835 * bfd-in2.h: Regenerate.
836 * cpu-mips.c (I_mipsisa32r2): New enum value.
837 (arch_info_struct): Add entry for I_mipsisa32r2.
838 * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
839 (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
840 (_bfd_mips_elf_final_write_processing): Add
841 bfd_mach_mipsisa32r2 case.
842 (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
843 binaries marked as using MIPS32 Release 2.
844
2469cfa2
NC
8452002-12-30 Dmitry Diky <diwil@mail.ru>
846
847 * Makefile.am: Add msp430 target.
848 * configure.in: Likewise.
849 * Makefile.in: Regenerate.
850 * configure: Regenerate.
851 * archures.c: Add msp430 architecture vector.
852 * config.bfd: Likewise.
853 * reloc.c: Add msp430 relocs.
854 * targets.c: Add msp320 target.
855 * cpu-msp430.c: New file: msp430 cpu detection.
856 * elf32-msp430.c: New file: msp430 reloc processing.
857 * bfd-in2.h: Regenerate.
858 * libbfd.h: Regenerate.
859
eecdbe52
JJ
8602002-12-28 Jakub Jelinek <jakub@redhat.com>
861
862 * elf.c (elf_sort_sections): Don't reorder .tbss.
863 (assign_file_positions_for_segments): Only adjust off/voff
864 for increased alignment in PT_LOAD or PT_NOTE segment,
865 but adjust p_filesz for .tbss too. in PT_LOAD consider
866 .tbss to have zero memory size.
867 (copy_private_bfd_data) [SECTION_SIZE]: Define.
868 [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
869 [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
870 into PT_TLS segment. Never put SHF_TLS sections in
871 segments other than PT_TLS or PT_LOAD.
872
873 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
874 sh_entsize.
875
213e90f4
DD
8762002-12-23 DJ Delorie <dj@redhat.com>
877
878 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
879
75828352
AM
8802002-12-23 Alan Modra <amodra@bigpond.net.au>
881
882 * elflink.h (elf_link_output_extsym): Heed strip_discarded.
883
312b768e
NC
8842002-12-23 Nick Clifton <nickc@redhat.com>
885
886 * archures.c (bfd_arch_get_compatible): Add third parameter
887 'accept_unknowns'. Only accept unknown format BFDs if
888 accept_unknowns is true, or if the format is "binary".
acc990f2 889 * bfd-in2.h: Regenerate.
312b768e 890
63222ec9
NC
8912002-12-21 Nick Clifton <nickc@redhat.com>
892
893 * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
894 that subtracted 8 from pc relative relocations.
895
19852a2a
KH
8962002-12-20 Kazu Hirata <kazu@cs.umass.edu>
897
898 * coff-h8300.c: Fix comment typos.
899 * coffcode.h: Likewise.
900 * cpu-cris.c: Likewise.
901 * elf32-vax.c: Likewise.
902 * genlink.h: Likewise.
903 * linker.c: Likewise.
904 * som.c: Likewise.
905 * tekhex.c: Likewise.
906 * vms-misc.c: Likewise.
907
5fd63999
DD
9082002-12-20 DJ Delorie <dj@redhat.com>
909
910 * reloc.c: Add BFD_RELOC_XSTORMY16_12.
911 * libbfd.h: Regenerate.
912 * bfd-in2.h: Regenerate.
913 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
914 (xstormy16_reloc_map): Add R_XSTORMY16_12.
acc990f2 915
4ee79850
KH
9162002-12-19 Kazu Hirata <kazu@cs.umass.edu>
917
918 * doc/bfdint.texi: Fix typos.
919
66e25bab
AM
9202002-12-20 Paul Eggert <eggert@twinsun.com>
921
922 Port to POSIX 1003.1-2001.
923 * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
924 * configure.in (build-warnings): Likewise.
925 (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
926 * aclocal.m4: Regenerate.
927 * config.in: Regenerate.
928 * configure: Regenerate.
929
7dc77aaa
AM
9302002-12-19 Alan Modra <amodra@bigpond.net.au>
931
0171ee92
AM
932 * coff-h8300.c: Include libiberty.h.
933 (h8300_reloc16_extra_cases): Check the hash table creator before
934 referencing h8300 specific fields. Stash the hash table pointer
935 in a local var. Comment typo fixes.
936 (h8300_bfd_link_add_symbols): Likewise.
937
7dc77aaa
AM
938 * bfd/reloc.c (struct reloc_howto_struct): Revise src_mask and
939 dst_mask comments.
940 * bfd-in2.h: Regenerate.
941
47388f4c
AM
9422002-12-18 Alan Modra <amodra@bigpond.net.au>
943
944 * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
945 code a little. Comment on dynamic relocs against section symbols.
946
1b3e3744
AM
9472002-12-17 Roger Sayle <roger@eyesopen.com>
948
949 * configure.host (ia64-*-hpux*): Support 64 bit targets using
950 the HP compiler's "long long".
951
46f2b541
DD
9522002-12-16 Andrew MacLeod <amacleod@redhat.com>
953
954 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
955 and R_XSTORMY16_HI16) howto entries.
956 (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
1b3e3744 957 (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
46f2b541
DD
958 determine the start of the second reloc table.
959
af738ea7
NC
9602002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
961
962 * ecofflink.c: Fix the reading of the debugging information
963 of Tru64/Alpha binaries that are produced by recent Compaq
964 compilers.
965 (mk_fdrtab): Fix error in creating the FDR (file descriptor)
966 table.
967 (lookup_line): Because of the strange information sometimes
968 generated by Compaq's recent compilers, change how the FDR
969 table is searched so that PDRs (procedure descriptors) are
970 correctly found. Note that this change is really more of a hack;
971 however, I have included extensive documentation as to why
972 this is the best solution short of an extensive rewrite or
973 another hack.
974 (fdrtab_lookup): Add comments to explain the algorithm.
975
5354b572
AO
9762002-12-12 Alexandre Oliva <aoliva@redhat.com>
977
978 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
979 initializers to match struct declaration.
980
ab3acfbe
AM
9812002-12-12 Alan Modra <amodra@bigpond.net.au>
982
983 * dwarf2.c (comp_unit_contains_address): Comment typo fix.
984 * elf.c (get_program_header_size): Likewise.
985 * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
986 (m32r_elf_generic_reloc): Likewise.
987 * elf32-ppc.c (ppc_elf_howto_init): Likewise.
988 * elflink.h (elf_bfd_discard_info): Likewise.
989
6348e046
AM
9902002-12-12 Alan Modra <amodra@bigpond.net.au>
991
992 * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
993 to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
994 DT_RELSZ adjustment, not output section. Avoid writing tags when
995 unchanged. Don't assume linker script is sane, adjust DT_REL too.
996 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
997 size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
998 DT_RELASZ adjustment, not output section. Avoid writing tags when
999 unchanged. Adjust DT_RELA.
1000 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
1001 formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
1002
2e7a68a8
AO
10032002-12-12 Alexandre Oliva <aoliva@redhat.com>
1004
1005 * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
1006 addend by 4.
1007
b15e6682
AO
10082002-12-12 Alexandre Oliva <aoliva@redhat.com>
1009
1010 * elfxx-mips.c (struct mips_got_entry): New.
1011 (struct mips_got_info): Added got_entries field.
1012 (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
1013 (mips_elf_local_got_index, mips_elf_got_page,
1014 mips_elf_got16_entry): Re-implement in terms of new...
1015 (mips_elf_create_local_got_entry): Rewrite to use got_entries.
1016 Change return type.
1017 (mips_elf_highest): Warning clean-up.
1018 (mips_elf_create_got_section): Initialize got_entries.
1019 (_bfd_mips_elf_check_relocs): Use got_entries to estimate
1020 local got size.
1021 (_bfd_mips_elf_size_dynamic_sections): Do not account for
1022 GOT_PAGE entries, since we now reuse GOT16 entries.
1023
e6af3a53
NC
10242002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
1025
1026 * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
1027 read-only section that lies after .text and before .data to be
1028 written into the output file and included in a_text.
1029 (translate_to_native_sym_flags): If an otherwise unrepresentable
1030 section was merged with .text, convert its symbols to N_TEXT
1031 symbols.
1032 * libaout.h (aout_section_merge_with_text_p): New macro.
1033
cf3d882d
AM
10342002-12-08 Alan Modra <amodra@bigpond.net.au>
1035
1036 * bfd-in.h: Comment typo fix. Formatting.
1037 * bfd-in2.h: Regenerate.
1038 * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
1039 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
1040 * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
1041
2f9bd3f6
RH
10422002-12-05 Richard Henderson <rth@redhat.com>
1043
1044 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
1045 Only send PCREL21B though the plt. Fix installed reloc type.
1046 (elfNN_ia64_relocate_section): Give error for dynamic reloc
1047 against PCREL22 or PCREL64I; clean up error messages for
1048 branch relocs.
1049
d0112f73
KB
10502002-12-04 Kevin Buettner <kevinb@redhat.com>
1051
1052 * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
1053 New functions.
1054 (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
1055
c10d9d8f
JW
10562002-12-04 David Mosberger <davidm@hpl.hp.com>
1057
1058 * cpu-ia64-opc.c: Add operand constant "ar.csd".
1059
d48770d4
L
10602002-12-04 H.J. Lu <hjl@gnu.org>
1061
1062 * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
1063 BFD address when constructing local name.
1064
b6152c34
AS
10652002-12-04 Andreas Schwab <schwab@suse.de>
1066
1067 * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
1068 member.
1069 (elf_m68k_link_hash_table_create): Initialize it.
1070 (elf_m68k_check_relocs): Handle symbols that are forced to be
1071 local due to visibility changes.
1072 (elf_m68k_adjust_dynamic_symbol): Likewise.
1073 (elf_m68k_size_dynamic_sections): Likewise.
1074 (elf_m68k_discard_copies): Likewise.
1075 (elf_m68k_relocate_section): Likewise.
1076
73374ef1
AM
10772002-12-04 Alan Modra <amodra@bigpond.net.au>
1078
1079 * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
1080
c5c1944d
AM
10812002-12-04 Alan Modra <amodra@bigpond.net.au>
1082
1083 * srec.c (srec_write_symbols): Restore '$' prefix to address
1084 accidentally removed in 2002-04-04 change.
1085 (srec_get_symtab): Use 0 instead of `(long) FALSE'.
1086
e1a9cb8e
NC
10872002-12-03 Nick Clifton <nickc@redhat.com>
1088
1089 * elf32-ppc.c (apuinfo_list_init): New function.
73374ef1
AM
1090 (apuinfo_list_add): New function: Add a value to the list.
1091 (apuinfo_list_length): New function: Return the number of
1092 values on the list.
1093 (apuinfo_list_element): New function: Return a value on the
1094 list.
1095 (apuinfo_list_finish): New function: Free the resources used
1096 by the list.
1097 (ppc_elf_begin_write_processing): New function. Scan the
1098 input bfds for apuinfo sections.
1099 (ppc_elf_write_section): New function: Delay the creation of
1100 the contents of an apuinfo section in an output bfd.
1101 (ppc_elf_final_write_processing): New function. Create the
1102 contents of an apuinfo section in an output bfd.
1103 (elf_backend_begin_write_processing): Define.
1104 (elf_backend_final_write_processing): Define.
1105 (elf_backend_write_section): Define.
e1a9cb8e 1106
a823923b
RH
11072002-12-03 Richard Henderson <rth@redhat.com>
1108
1109 * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
1110
30491647
SC
11112002-12-01 Stephane Carrez <stcarrez@nerim.fr>
1112
1113 Fix PR savannah/1417:
1114 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
1115 branch if it goes to the start of the deleted region.
1116
bc7c6a90
SC
11172002-12-01 Stephane Carrez <stcarrez@nerim.fr>
1118
1119 * bfd-in2.h (bfd_mach_m6812): Rebuild.
1120 * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
1121 bfd_mach_m6812s): Declare.
1122
1123 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
1124 (_bfd_m68hc12_elf_set_private_flags): Call it.
1125 (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
1126 (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
1127 report microcontroller incompatibilities (HC12 vs HCS12).
1128 (elf_backend_object_p): Update.
1129
b34976b6
AM
11302002-11-30 Alan Modra <amodra@bigpond.net.au>
1131
1132 * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
1133 (enum bfd_boolean, boolean): Delete.
1134 (bfd_boolean): Typedef to an int.
1135 (FALSE, TRUE): Define.
1136 * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
1137 aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
1138 aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
1139 binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
1140 coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
1141 coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
1142 coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
1143 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
1144 coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
1145 coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
1146 corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
1147 cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
1148 cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
1149 cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
1150 cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
1151 cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
1152 cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
1153 cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
1154 cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
1155 cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
1156 dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
1157 elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
1158 elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
1159 elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
1160 elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
1161 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
1162 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
1163 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
1164 elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
1165 elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
1166 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
1167 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
1168 elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
1169 elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
1170 elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
1171 elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
1172 hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
1173 i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
1174 libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
1175 libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
1176 m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
1177 mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
1178 nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
1179 pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
1180 pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
1181 pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
1182 reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
1183 som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
73374ef1 1184 syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
b34976b6
AM
1185 vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
1186 xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
1187 bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
1188 of bfd_boolean vars with TRUE/FALSE. Formatting.
1189 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
1190
947216bf
AM
11912002-11-28 Alan Modra <amodra@bigpond.net.au>
1192
1193 * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
1194 Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
1195 with Elf_Internal_Rela.
1196 * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
1197 elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
1198 elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
1199 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
1200 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
1201 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
1202 elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
1203 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
1204 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
1205 elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
1206 elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
1207 * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
1208 throughout instead.
1209 * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
1210 * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
1211 Remove INLINE keyword.
1212 (elf_swap_reloc_in): Likewise. Also clear r_addend.
1213 (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
1214 as a bfd_byte *.
1215 (elf_write_relocs): Consolidate REL and RELA code.
1216 (elf_slurp_reloc_table_from_section): Simplify REL code.
1217 (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
1218 * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
1219 * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
1220 RELA code.
1221 (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
1222 reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
1223 (elf_link_output_relocs): Likewise.
1224 (elf_reloc_link_order): Likewise.
1225 (elf_finish_pointer_linker_section): Likewise.
1226 (struct elf_link_sort_rela): Remove union.
1227 (elf_link_sort_cmp1): Update to suit.
1228 (elf_link_sort_cmp2): Here too.
1229 (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
1230 over-allocation for int_rels_per_ext_rel != 1 case.
1231 * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
1232 * elf32-i386.c: Likewise.
1233 * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
1234 * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
1235 elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
1236 * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
1237 * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
1238 elf64-sparc.c, elf64-x86-64.c: Likewise.
1239 * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
1240 * elfxx-mips.c (sort_dynamic_relocs): Likewise for
1241 bfd_elf32_swap_reloc_in.
1242
1243 * elf32-arm.h: Update elf32_arm_info_to_howto calls.
1244 * elf32-mips.c: Likewise for mips_info_to_howto_rel.
1245 (mips_elf64_swap_reloc_in): Zero r_addend.
1246 (mips_elf64_be_swap_reloc_in): Likewise.
1247 (mips_elf64_slurp_one_reloc_table): Simplify.
1248
1249 * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
1250 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
1251 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
1252
1448fa32
KK
12532002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1254
1255 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
73374ef1 1256 unresolved debugging relocs in dynamic applications.
1448fa32
KK
1257 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1258
73722af0
AM
12592002-11-26 Alan Modra <amodra@bigpond.net.au>
1260
1261 * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
1262 (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
1263 on a relocatable link. Comment typos.
1264 * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
1265 in the order they are declared. Clear elf_hash_value too.
1266 (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
1267 eh_info and tls_segment.
1268 * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
1269 sorted when discarding relocs by turning them into R_*_NONE.
1270
1271 * libbfd.c (warn_deprecated): Comment spelling.
1272 * po/SRC-POTFILES.in: Regenerate.
1273
7c25b72c
RH
12742002-11-21 Richard Henderson <rth@redhat.com>
1275
1276 * elflink.h (elf_link_add_object_symbols): Don't overwrite the
1277 arch's st_other bits when merging visibilities.
1278 (elf_link_output_extsym): Tidy clearing of visibility field.
1279
dc12c51f
AM
12802002-11-21 Alan Modra <amodra@bigpond.net.au>
1281
1282 * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
1283 (SWAP_OUT_RELOC_OFFSET): Define.
1284
963f13ec
AO
12852002-11-20 Alexandre Oliva <aoliva@redhat.com>
1286
1287 * elf.c (_bfd_elf_link_hash_table_init): Make sure
1288 can_refcount is properly extended to the type of
1289 init_refcount.
1290
ee6423ed
AO
12912002-11-19 Alexandre Oliva <aoliva@redhat.com>
1292
4ffba85c
AO
1293 * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
1294 (_bfd_mips_elf_relocate_section): Use it.
1295
ee6423ed
AO
1296 * elfxx-mips.c (MNAME): New macro.
1297 (_bfd_mips_elf_check_relocs): Use it.
1298 (_bfd_mips_elf_discard_info): Likewise.
1299 (_bfd_mips_elf_final_link): Likewise.
1300
cdcf6e38
AM
13012002-11-19 Alan Modra <amodra@bigpond.net.au>
1302
1303 * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
1304 rel_hdr.sh_size too.
1305
93509525
KD
13062002-11-18 Klee Dienes <kdienes@apple.com>
1307
1308 * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
1309 (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
1310 (BFD_H_FILES): Add bfdwin.c, bfdio.c.
1311 (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
1312 Add dependencies for bfdwin.c, bfdio.c.
1313 * bfd.c: Remove bfd_get_mtime, bfd_get_size.
1314 * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
1315 bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
1316 bfd_tell, bfd_flush, bfd_stat, bfd_seek.
1317 * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
1318 bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
1319 bfd_get_size (moved from libbfd.c and bfd.c).
1320 * bfdwin.c New file. Contains _bfd_window_internal,
1321 bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
1322 libbfd.c and bfd.c).
1323 * po/SRC-POTFILES.in: Regenerate.
1324 * po/bfd.pot: Regenerate.
1325 * libbfd.h: Regenerate.
1326 * bfd-in2.h: Regenerate.
1327 * aclocal.m4: Regenerate.
1328 * Makefile.in: Regenerate.
1329 * configure: Regenerate.
1330
3ae41454
AM
13312002-11-18 Klee Dienes <kdienes@apple.com>
1332
1333 * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
1334
e514ac71
NC
13352002-11-15 Kazu Hirata <kazu@cs.umass.edu>
1336
1337 * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
1338 jsr after a short jump.
1339 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
1340
eddc4f81
KD
13412002-11-15 Klee Dienes <kdienes@apple.com>
1342
1343 * pef.c (bfd_pef_convert_architecture): Move declaration of
1344 ARCH_POWERPC and ARCH_M68K to the start of the function.
1345
51908eee
SS
13462002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
1347
1348 * coff-tic4x.c (tic4x_howto_table): Formatting fixup
1349
3416d2e7
HPN
13502002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
1351
1352 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
1353 For bpo_gregs_section->contents, allocate _raw_size, not
1354 _cooked_size.
1355
b1c58715
AM
13562002-11-13 Klee Dienes <kdienes@apple.com>
1357
1358 * config.bfd: Add entries for powerpc-*-darwin and cousins.
1359
077ca68b
L
13602002-11-13 H.J. Lu <hjl@gnu.org>
1361
1362 * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
1363
e84d6fca
AM
13642002-11-13 Klee Dienes <kdienes@apple.com>
1365 Alan Modra <amodra@bigpond.net.au>
1366
1367 * bfd.c (struct bfd_preserve): New.
1368 (bfd_preserve_save): New function.
1369 (bfd_preserve_restore): Ditto.
1370 (bfd_preserve_finish): Ditto.
1371 * bfd-in2.h: Regenerate.
1372 * mach-o.c: Formatting.
1373 (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
1374 (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
1375 (bfd_mach_o_core_p): Ditto.
1376 (bfd_mach_o_scan): Pass in mdata.
1377 * mach-o.h (bfd_mach_o_scan): Update prototype.
1378 * pef.c: Formatting.
1379 (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
1380 (bfd_pef_xlib_object_p): Ditto.
1381 (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
1382 * pef.h (bfd_pef_scan): Update prototype.
1383 * xsym.c: Formatting, K&R fixes.
1384 (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
1385 (bfd_sym_scan): New function split out from bfd_sym_object_p.
1386 * xsym.h (bfd_sym_scan): Declare.
1387 * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
a7f84125 1388 * elfcore.h (elf_core_file_p): Likewise.
e84d6fca
AM
1389 * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
1390
cd24c222
NC
13912002-11-12 Nick Clifton <nickc@redhat.com>
1392
1393 * po/da.po: Updated Danish translation.
1394
99eb2ac8
AM
13952002-11-12 Alan Modra <amodra@bigpond.net.au>
1396
d6fe2dc1
AM
1397 * elflink.h (elf_link_add_object_symbols): Optimize stabs for
1398 relocatable link too.
1399 (elf_link_input_bfd): When emitting relocs, adjust offsets for
1400 eh_frame and stab sections. Zap deleted relocs.
1401 (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
1402 (elf_bfd_discard_info): Run for relocatable link too.
1403 * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
1404 Handle ld -r case.
1405 (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
1406 * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
1407
126495ed
AM
1408 * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
1409 (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
1410 (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
1411 (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
1412 (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
1413 (struct elf_link_hash_table): Add eh_info.
1414 (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
1415 (_bfd_elf_discard_section_eh_frame): Update prototype.
1416 (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
1417 (_bfd_elf_write_section_eh_frame): Likewise.
1418 (_bfd_elf_write_section_eh_frame_hdr): Likewise.
1419 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
1420 param. Get "hdr_info" from link hash table.
1421 (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
1422 header section from link hash table. Save header section to elf_tdata.
1423 (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
1424 header section from link hash table. Don't alloc hdr_info. Clear
1425 hdr_sec instead of setting "strip".
1426 (_bfd_elf_eh_frame_section_offset): Formatting.
1427 (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
1428 Get header section from link hash table.
1429 (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
1430 Get header section from link hash table.
1431 * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
1432 (get_program_header_size): Likewise.
1433 (_bfd_elf_section_offset): Formatting.
1434 * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
1435 section pointer in link hash table.
1436 (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
1437 and _bfd_elf_write_section_eh_frame calls. Update comment about
1438 eh_frame entries.
1439 (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
1440 _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
1441
1442 * po/SRC-POTFILES.in: Regenerate.
1443
99eb2ac8
AM
1444 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
1445 relocs for discarded FDEs. Remove dead code.
1446 (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
1447 * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
1448 Tidy conditions under which stabs are edited. Formatting.
1449 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
1450 from discarded relocs.
1451 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
1452 section adjustments after testing magic values.
1453
7c319a27
AM
14542002-11-12 Thomas Moestl <tmm@FreeBSD.org>
1455
1456 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
1457 references to large plt symbols.
1458
a95a4550
AM
14592002-11-12 Klee Dienes <kdienes@apple.com>
1460
1461 * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
1462 looking for an unused section name.
1463
bc7eab72
KH
14642002-11-11 Kazu Hirata <kazu@cs.umass.edu>
1465
1466 * coff-h8300.c: Fix formatting.
1467 * elf32-h8300.c: Likewise.
1468 * reloc16.c: Likewise.
1469
52585bb8
AM
14702002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1471
1472 * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
1473 section when dynamic section unused; _bfd_strip_section_from_output
1474 instead.
1475
9f632188
AM
14762002-11-08 Alan Modra <amodra@bigpond.net.au>
1477
207b304b
AM
1478 * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
1479 and sym_vec.
3b029f65 1480
9f632188
AM
1481 * dwarf2.c: Revert last change.
1482
ec4530b5
NC
14832002-11-07 Michal Ludvig <mludvig@suse.cz>
1484
1485 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
1486 _bfd_dwarf2_find_nearest_line): Use
1487 bfd_simple_get_relocated_section_contents() instead of
1488 bfd_get_section_contents().
1489 * reloc.c (bfd_perform_relocation): Add sanity check.
1490 * simple.c (simple_get_relocated_section_contents): If the section
1491 does not have any relocs associated with it, just return the
1492 unadjusted contents.
1493
205cfeb0
HPN
14942002-11-07 Hans-Peter Nilsson <hp@axis.com>
1495
1496 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
1497 case R_CRIS_32_GOT>: Correct test for filling in constant .got
1498 contents, enabling for a non-DSO, for symbols defined in the
1499 program with --export-dynamic.
1500
87e226ce
AM
15012002-11-07 Alan Modra <amodra@bigpond.net.au>
1502
1503 * elf64-ppc.c: Comment typo fixes.
1504 (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
1505
235c4794
NC
15062002-11-07 Nick Clifton <nickc@redhat.com>
1507
1508 * po/da.po: Updated Danish translation.
1509
49179469
AO
15102002-11-06 Alexandre Oliva <aoliva@redhat.com>
1511
1512 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
1513 exactly three internal relocs per external reloc. Set reloc_count
1514 to the external reloc count.
1515
246178f2
NC
15162002-11-06 Klee Dienes <kdienes@apple.com>
1517
3ae41454 1518 * coff-stgo32.c (stub_bytes): Mark as const.
246178f2
NC
1519 Fix comment formatting.
1520
3af9a47b
NC
15212002-11-06 Klee Dienes <kdienes@apple.com>
1522
3ae41454 1523 * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
3af9a47b
NC
1524 xsym.lo.
1525 (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
1526 (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
1527 * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
1528 * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
1529 * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
1530 sym.
3ae41454 1531 (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
3af9a47b
NC
1532 * Makefile.in: Regenerate.
1533 * doc/Makefile.in: Regenerate.
3ae41454 1534 * bfd-in2.h: Regenerate.
3af9a47b
NC
1535 * xsym.c: New file. Contains support for the Apple/Metrowerks
1536 xSYM debugging format.
1537 * xsym.h: New file.
1538 * pef.c: New file. Contains support for the Apple Code Fragment
1539 Manager Preferred Executable Format
1540 * pef.h: New file.
1541 * pef-traceback.h: New file. Contains support for parsing PowerPC
1542 traceback tables as used by PEF executables (and perhaps other
1543 systems as well).
3ae41454 1544 * mach-o.c: New file. Contains support for the Mach-O object file
3af9a47b
NC
1545 format.
1546 * mach-o.h: New file.
1547 * mach-o-target.c: New file. Declares the mach-o targets
1548 themselves. Included three times by mach-o.c; each time with a
1549 different set of macros set.
3ae41454 1550
b6821651 15512002-11-06 Graeme Peterson <gp@qnx.com>
911b232a
AM
1552
1553 * Makefile.am: Remove entries for elf32-qnx.[ch].
1554 * Makefile.in: Regenerate.
1555 * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
1556 ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
1557 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
1558 * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
1559 bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
1560 and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
1561 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
1562 * configure: Regenerate.
1563 * elf32-qnx.c: Remove.
1564 * elf32-qnx.h: Remove.
1565 * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
1566 is_contained_by_filepos, and copy_private_bfd_data_p.
ad12c1c5
AM
1567 * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
1568 is_contained_by_filepos, and copy_private_bfd_data_p.
911b232a
AM
1569 * elf32-i386.c: Remove QNX extended bfd support.
1570 * elf32-ppc.c: Remove QNX extended bfd support.
1571 * elf32-sh.c: Remove QNX extended bfd support.
1572 * elfarm-nabi.c: Remove QNX extended bfd support.
1573 * targets.c: Remove qnx vectors.
1574 * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
1575 (elf_backend_is_contained_by_filepos): Remove.
1576 (elf_backend_copy_private_bfd_data_p): Remove.
1577 * po/SRC-POTFILES.in: Regenerate.
1578
b6821651
AM
15792002-11-06 David O'Brien <obrien@FreeBSD.org>
1580 Alan Modra <amodra@bigpond.net.au>
1581
1582 * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
1583 dynamic relocs against section symbols for the output section vma.
1584
15852002-11-05 Alan Modra <amodra@bigpond.net.au>
1586
1587 * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
1588 t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
1589
08f74004
AM
15902002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1591 Alan Modra <amodra@bigpond.net.au>
1592
1593 * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
1594 vectors in target_selvecs.
1595 (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
1596 in target_selvecs.
1597 (sh-*-netbsdelf*): Likewise.
1598 * configure.in (assocvecs): New variable. Handle assocvecs like
1599 selvecs.
1600 * configure: Regenerate.
1601 * format.c (bfd_check_format_matches): Store bfd_target pointers
1602 in matching_vector instead of target names. Select first target
1603 from bfd_associated_vector that matches a list of ambiguous targets.
1604 * targets.c (_bfd_associated_vector): New array.
1605 (bfd_associated_vector): New variable.
1606 (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
1607 * libbfd-in.h (bfd_associated_vector): Declare.
1608 * libbfd.h: Regenerate.
1609
89117aab
AM
16102002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
1611
1612 * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
1613 non-NULL before dereferencing.
1614
5e9aae3e
KK
16152002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1616
1617 * vms.c (vms_object_p): Restore the start address when returning
1618 NULL.
1619
c97e73dd
AM
16202002-11-04 Alan Modra <amodra@bigpond.net.au>
1621 Hans-Peter Nilsson <hp@axis.com>
1622
1623 * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
1624 (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
1625 Set up a larger symshndxbuf, and write it out. Free it on
1626 exit rather than freeing symbuf twice. Correct section index
1627 on output section symbol loop.
1628 (elf_link_output_sym): Accumulate symbol extension section
1629 indices, reallocating symshndxbuf rather than writing it out.
1630 (elf_link_flush_output_syms): Don't flush symshndxbuf.
1631 * elf.c (assign_section_numbers): Init i_shdrp to all zero.
1632 Use bfd_zalloc to clear i_shdrp[0] too.
1633
3463048e
SC
16342002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
1635
1636 * elf32-sh64-com.c (sh64_address_in_cranges): Use
1637 _raw_size of cranges section if _cooked_size not yet set.
1638
63a23799
HPN
16392002-11-03 Hans-Peter Nilsson <hp@axis.com>
1640
1641 * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
1642 for bfd_elf32_swap_symbol_out.
1643
e68cc12e
DB
16442002-10-31 David O'Brien <obrien@FreeBSD.org>
1645
1646 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
1647 signed and unsigned in comparison.
1648
db4b6d01
DJ
16492002-10-30 Daniel Jacobowitz <drow@mvista.com>
1650
1651 * coffcode.h: Remove extraneous '\'.
1652
840f0243
L
16532002-10-28 H.J. Lu <hjl@gnu.org>
1654
1655 * Makefile.am (targets.lo): Depend on Makefile instead of
1656 config.status.
1657 (archures.lo): Likewise.
1658 * Makefile.in: Regenerated.
1659
05a7e2db
JT
16602002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
1661
1662 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
1663 bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
1664 targ_selvecs.
1665
a0087177
JW
16662002-10-25 Jim Wilson <wilson@redhat.com>
1667
1668 * elf64-sh64.c (sh_elf64_relocate_section): Call
1669 _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
1670 of SHF_MERGE section.
1671
8718ac9c
HPN
16722002-10-25 Hans-Peter Nilsson <hp@axis.com>
1673
1674 * simple.c: Correct placement of ATTRIBUTE_UNUSED.
1675
d45913a0
DA
16762002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1677
1678 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
1679 unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
1680 unsigned int.
1681 (NAME(aout,final_link)): Cast enum used in assignment.
1682 (aout_link_write_symbols): Cast enums in comparisons, int values to
1683 boolean, enums in assignments to int.
1684 (aout_link_input_section_std): Cast rel->r_index to unsigned int.
1685 (aout_link_input_section_ext): Likewise. Cast enums used in comparisons
1686 with unsigned ints.
1687 (aout_link_reloc_link_order): Cast enum to int in assignment.
1688 * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
1689 calls to char *.
1690 * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
1691 assignment.
1692 * bfd-in2.h (bfd_set_section_vma): Likewise.
1693 * bfd.c (bfd_record_phdr): Cast enums in assignments.
1694 * binary.c (bfd_alloc): Cast enum to long.
1695 * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
1696 * dwarf2.c (read_abbrevs): Add casts to enum types.
1697 (read_attribute_value): Likewise.
1698 (arange_add): Cast result of bfd_zalloc call.
1699 (comp_unit_contains_address): Return true and false.
1700 (comp_unit_find_nearest_line): Cast return to boolean.
1701 * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
1702 * gen-aout.c: define macro '_' if not defined.
1703 * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
1704 (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
1705 (bfd_write_bigendian_4byte_int): Cast return to boolean.
1706 (bfd_seek): Cast bfd_realloc to bfd_byte *.
1707 (bfd_generic_is_local_label_name): Cast return to boolean.
1708 * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
1709 * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
1710 struct bfd_hash_entry *.
1711 (_bfd_generic_link_hash_newfunc): likewise.
1712 (_bfd_generic_final_link): Cast enum to unsigned int.
1713 * merge.c (sec_merge_emit): Cast return to boolean.
1714 (merge_strings): Add casts to const unsigned char *.
1715 * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
1716 (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
1717 * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to
1718 struct bfd_hash_entry *.
1719 (bfd_set_section_content): Add cast to PTR in comparison.
1720 * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
1721 simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
1722 simple_dummy_unattached_reloc,
1723 bfd_simple_get_relocated_section_contents): Add K&R declarations and
1724 function definitions.
1725 * srec.c (S3Forced): Initialize to false.
1726 (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
1727 * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
1728 (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
1729 * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
1730 (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
1731 comparisons.
1732
475c2a7e
JJ
17332002-10-23 Jakub Jelinek <jakub@redhat.com>
1734
1735 * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
1736 relocs into shared lib non-allocated reloc sections.
1737
e82ce529
AM
17382002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
1739
1740 * dwarf2.c (add_line_info): Ensure that the line_info_table is
1741 sorted even when given an out-of-order line sequence.
1742 (lookup_address_in_line_info_table): When an exact VMA match is
1743 not found, return line information with the closest VMA.
1744
f2482cb2
NC
17452002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
1746
1747 * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
1748 HPUX 11.00 patch PHSS_26559.
1749
c1fd6598
AO
17502002-10-22 Alexandre Oliva <aoliva@redhat.com>
1751
1752 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
1753 the options section into a separate section unless IRIX 6
1754 compatibility is enabled.
1755
033fd5f9
AO
17562002-10-22 Alexandre Oliva <aoliva@redhat.com>
1757
1758 * elflink.h (struct elf_link_sort_rela): Turn rel and rela
1759 into arrays.
1760 (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
1761 (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
1762 into account.
1763 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
1764 R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
1765
ef485c01
AM
17662002-10-21 Graeme Peterson <gp@qnx.com>
1767
1768 * targets.c (_bfd_target_vector): Add missing qnx vectors.
1769
b50afec9
AM
17702002-10-21 Alan Modra <amodra@bigpond.net.au>
1771
1772 * targets.c (bfd_target_list): Don't return the default target twice.
1773
5fe39cae
AM
17742002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
1775
1776 * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
1777 perror with bfd_perror.
1778
5d603aa9
L
17792002-10-19 H.J. Lu <hjl@gnu.org>
1780
1781 * elflink.h (elf_link_add_object_symbols): Correctly handle
1782 DT_RPATH and DT_RUNPATH.
1783
e377ab71
MK
17842002-10-19 Mark Kettenis <kettenis@gnu.org>
1785
1786 * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
1787
0d09fec6
DC
17882002-10-17 Denis Chertykov <denisc@overta.ru>
1789
1790 * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
1791 for ip2k port.
1792
acf8aed4
AM
17932002-10-17 Alan Modra <amodra@bigpond.net.au>
1794
1795 * elfxx-target.h (USE_REL): Don't define as 1.
1796 * elf32-arm.h (USE_REL): Provide a default define of 0.
1797 Use #if rather than #ifdef when testing USE_REL.
1798 * elf32-m32r.c: Likewise.
1799
1800 * elf32-arc.c (USE_REL): Define as 1.
1801 * elf32-d10v.c (USE_REL): Likewise.
1802 * elf32-m32r.c (USE_REL): Likewise.
1803 * elf32-m68hc11.c (USE_REL): Likewise.
1804 * elf32-m68hc12.c (USE_REL): Likewise.
1805 * elf32-or32.c (USE_REL): Likewise.
1806 * elfarm-nabi.c (USE_REL): Likewise.
1807
f52d1d64
JJ
18082002-10-16 Jakub Jelinek <jakub@redhat.com>
1809
1810 * config.bfd (s390-*-linux*): Add targ64_selvecs.
1811 (s390x-*-linux*): Add targ_selvecs.
1812
2bc3c89a
AM
18132002-10-16 Alan Modra <amodra@bigpond.net.au>
1814
1815 * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
5fe39cae 1816 elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
2bc3c89a
AM
1817 elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
1818 elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
1819 (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
1820 (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
1821 (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
1822 (SOURCE_HFILES): Add elf32-qnx.h.
1823 (BUILD_HFILES): Add bfdver.h.
1824 Run "make dep-am".
1825 * Makefile.in: Regenerate.
1826 * configure.in Update bfd vector dependencies.
1827 * configure: Regenerate.
1828 * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
1829 * elf32-i386qnx.c: Likewise.
1830 * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
1831 * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
1832 * elf32-sh-lin.c: Likewise.
1833 * elf32-shqnx.c: Likewise.
1834 * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
1835 * elf32-sh64-nbsd.c: Likewise.
1836 * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
1837 * elf64-sh64-nbsd.c: Likewise.
1838 * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
1839 * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
1840 * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
1841 * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
1842 * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
1843 (elf_backend_is_contained_by_filepos): Likewise.
1844 (elf_backend_copy_private_bfd_data_p): Likewise.
1845 Globalize and move functions to..
1846 * elf32-qnx.c: ..here. New file.
1847 * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
1848 emit target vectors when INCLUDE_SHMEDIA.
1849 * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
1850 end of file.
1851 * elf64-sh64.c: Remove ELF_ARCH test.
1852 * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
1853 * po/BLD-POTFILES.in: Regenerate.
1854 * po/SRC-POTFILES.in: Regenerate.
1855
90c9df85
AM
18562002-10-16 Alan Modra <amodra@bigpond.net.au>
1857
366f2964
AM
1858 * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
1859 loaded with --just-symbols.
1860
90c9df85
AM
1861 * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
1862 * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
1863 * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
1864 * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
1865
2238051f
RH
18662002-10-15 Richard Henderson <rth@redhat.com>
1867
1868 * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
1869 (BFD64_BACKENDS_CFILES): Likewise.
1870 * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
1871 * elf64-alpha-fbsd.c: Remove file, move code ...
1872 * elf64-alpha.c: ... here.
1873 * Makefile.in, configure: Rebuild.
1874
64e04ecd
RH
18752002-10-14 Richard Henderson <rth@redhat.com>
1876
1877 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
1878 VALUE, not ADDEND.
1879
396a6083
SC
18802002-10-14 Stephen Clarke <stephen.clarke@superh.com>
1881
1882 * elf32-sh.c (elf_sh_link_hash_entry): Replace
1883 datalabel_got_offset with union of datalabel_got
1884 offset and refcount.
1885 (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
1886 (allocate_dynrelocs): Delete unnecessary code for
1887 STT_DATALABEL type. Create entry in got for
1888 datalabel version of symbol if datalabel_got.refcount > 0.
1889 (sh_elf_relocate_section): Use datalabel_got union.
1890 (sh_elf_gc_sweep_hook): Pull common code to initialize
1891 h and eh out of switch statement. Declare seen_stt_datalabel.
1892 Initialize it. Decrement datalabel_got.refcount for
1893 got relocs when seen_stt_datalabel is true.
1894 Decrement local_got_refcounts entry for datalabel got relocs
1895 of local symbols.
1896 (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
1897 (sh_elf_check_relocs): Declare seen_stt_datalabel.
1898 Initialize it. When seen_stt_datalabel is true, increment
1899 datalabel_got refcount rather than got.refcount.
1900 (sh_elf_finish_dynamic_symbol): Create relocs to
1901 initialize got entry for datalabel version of symbol.
1902
6a0735ef
AM
19032002-10-14 Alan Modra <amodra@bigpond.net.au>
1904
1905 * Makefile.am: Run "make dep-am".
1906 (BFD_H_FILES): Remove version.h.
1907 * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
1908 * version.h: ..to here.
1909 * configure.in (bfd_version_date): Remove.
1910 (AC_OUTPUT): Make bfdver.h from version.h.
1911 * bfd.c: #include "bfdver.h".
1912 * vms-hdr.c: Likewise.
1913 * Makefile.in: Regenerate.
1914 * bfd-in2.h: Regenerate.
1915 * configure: Regenerate.
1916 * po/SRC-POTFILES.in: Regenerate.
1917
686e4055
AM
19182002-10-14 Alan Modra <amodra@bigpond.net.au>
1919
1920 * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
1921 bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
1922 bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
1923 bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
1924 bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
1925 bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
1926 bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
1927 bfd_mach_ip2022, bfd_mach_ip2022ext,
1928 bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
1929 * bfd-in2.h: Regenerate.
1930
019dca2b
KK
19312002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1932
1933 * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
1934 endian vector to targ_selvecs.
1935
bce03d3d
AO
19362002-10-13 Alexandre Oliva <aoliva@redhat.com>
1937
1938 * elfxx-mips.c (mips_elf_calculate_relocation): Take
1939 save_addend argument. Don't apply the 32-bit mask to a
1940 GPREL32 value if it's to be used in another relocation. Don't
1941 use forced-check computation of local_p to decide whether to
1942 add gp0 to GPREL16 value. Don't use only the lowest 16 bits
1943 of the addend of a non-in-place GPREL16 relocation.
1944 (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
1945 mips_elf_calculate_relocation().
1946
9b691193
SC
19472002-10-12 Stephane Carrez <stcarrez@nerim.fr>
1948
1949 * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
1950 with symbols in other sections if we relaxed something; the sections
1951 output offsets must be re-computed before.
1952
1f4c5b47
SC
19532002-10-12 Stephane Carrez <stcarrez@nerim.fr>
1954
1955 * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
1956 handling to use Elf_Internal_Sym.
1957 (m68hc11_elf_relax_delete_bytes): Likewise.
1958
5dc97655
KK
19592002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1960
1961 * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
1962 sh_elf_object_p, dtpoff_base): New functions.
1963 (sh_elf_howto_table): Add TLS relocs.
1964 (sh_reloc_map): Likewise.
1965 (sh_elf_info_to_howto): Support TLS relocs.
1966 (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
1967 (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
1968 New macros.
1969 (sh_elf_obj_tdata): New.
1970 (elf_sh_link_hash_table): Add tls_ldm_got.
1971 (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
1972 (allocate_dynrelocs): Support TLS relocs.
1973 (sh_elf_size_dynamic_sections): Likewise.
1974 (sh_elf_relocate_section): Support TLS relocs. Don't try to find
1975 .rela.got section when found already. Return false after printing
1976 error about unresolvable relocation.
1977 (sh_elf_gc_sweep_hook): Support TLS relocs.
1978 (sh_elf_check_relocs): Likewise.
1979 (sh_elf_finish_dynamic_symbol): Likewise.
1980 (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
1981 * reloc.c: Add SH TLS relocs.
1982 * bfd-in2.h, libbfd.h: Regenerate.
1983
6a0735ef
AM
19842002-10-11 Daniel Jacobowitz <drow@mvista.com>
1985
1986 * Makefile.in: Regenerated.
1987
af39267e
DJ
19882002-10-11 Daniel Jacobowitz <drow@mvista.com>
1989
1990 * Makefile.am: Run dep-am.
6a0735ef 1991 (BFD_H_DEP): Add simple.c and linker.c.
af39267e
DJ
1992 (BFD32_LIBS): Add simple.lo.
1993 (BFD32_LIBS_CFILES): Add simple.c.
1994 * Makefile.in: Regenerated.
1995 * bfd-in2.h: Regenerated.
1996 * simple.c: New file.
1997
0be617ce
AM
19982002-10-11 Alan Modra <amodra@bigpond.net.au>
1999
14a793b2
AM
2000 * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
2001 (record_thumb_to_arm_glue): Likewise.
2002 * ecoff.c (ecoff_link_add_externals): Likewise.
2003 * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
2004 (record_thumb_to_arm_glue): Likewise.
2005 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
2006 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
2007 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
2008 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
2009 * elf64-ppc.c (func_desc_adjust): Likewise.
2010 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
2011 (sh64_elf64_create_dynamic_sections): Likewise.
2012 * elflink.c (_bfd_elf_create_got_section): Likewise.
2013 (_bfd_elf_create_dynamic_sections): Likewise.
2014 (_bfd_elf_create_linker_section): Likewise.
2015 * elflink.h (elf_add_default_symbol): Likewise.
2016 (elf_link_create_dynamic_sections): Likewise.
2017 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
2018 * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
2019 * elfxx-mips.c (mips_elf_create_got_section): Likewise.
2020 (_bfd_mips_elf_add_symbol_hook): Likewise.
2021 (_bfd_mips_elf_create_dynamic_sections): Likewise.
2022 * linker.c (generic_link_add_symbol_list): Likewise.
2023 * xcofflink.c (xcoff_link_add_symbols): Likewise.
2024
2025 * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
2026
0be617ce 2027 * elf64-ppc.c (edit_opd): Only zero opd syms when function is
7f6a7663 2028 completely removed. Correct local sym adjustment.
0be617ce 2029
0a4ef3f4
SC
20302002-10-10 Stephen Clarke <stephen.clarke@superh.com>
2031
2032 * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
2033 Correct mistake in calculation of address of .got.
2034 * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
2035 elf_sh64_pic_plt_entry_le): Likewise.
2036
efacd36e
SC
20372002-10-09 Richard Shann <richard.shann@superh.com>
2038 Stephen Clarke <stephen.clarke@superh.com>
2039
2040 * Makefile.am: Add entries for elf32-sh64-lin.c and
2041 elf64-sh64-lin.c. Regenerate.
2042 * Makefile.in: Regenerate.
2043 * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
2044 to use sh64 vectors rather than sh vectors.
2045 * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
2046 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
2047 * configure: Regenerate.
2048 * elf32-sh64-lin.c: New file.
2049 * elf64-sh64-lin.c: New file.
2050 * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5fe39cae
AM
2051 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
2052
299bf759
L
20532002-10-08 H.J. Lu <hjl@gnu.org>
2054
2055 * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
2056 IE->LE transition for R_386_TLS_IE.
2057
51020317
AM
20582002-10-08 Alan Modra <amodra@bigpond.net.au>
2059
2060 * elf64-ppc.c (edit_opd): Correct test for discarded sections.
2061
a8fcf378
NC
20622002-10-07 Mark Elbrecht <snowball3@softhome.net>
2063
51020317
AM
2064 * cofflink.c (mark_relocs): Don't mark relocations in excluded
2065 sections.
a8fcf378 2066
a16d5acb
AM
20672002-10-07 Alan Modra <amodra@bigpond.net.au>
2068
a6b511bd
AM
2069 * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
2070 code.
2071
a16d5acb
AM
2072 * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
2073
7c4a37eb
AM
20742002-10-06 Alan Modra <amodra@bigpond.net.au>
2075
2076 * opncls.c: Formatting.
2077 (_bfd_new_bfd): Use a smaller section hash table.
2078
7c4ca42d
AO
20792002-10-05 Alexandre Oliva <aoliva@redhat.com>
2080
2081 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
2082 of the other two relocations packed with a REL32 to NONE.
2083
4989d792
SC
20842002-10-02 Stephen Clarke <stephen.clarke@superh.com>
2085
2086 * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
2087 (sh_elf_link_hash_newfunc): Initialize it.
2088 (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
2089 to got.refcount for symbols that are forced local or when
2090 we have direct got refs.
2091 (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
2092 to correctly adjust got.refcount and plt.refcount.
2093 (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
2094 (sh_elf_check_relocs): Increment gotplt_refcount.
51020317 2095
7c445aa3
JJ
20962002-10-01 Jakub Jelinek <jakub@redhat.com>
2097
2098 * elf32-i386.c (elf_i386_relocate_section): Fix
2099 movl foo@indntpoff, %eax IE->LE transition.
2100
abcf1d52
JJ
21012002-10-01 Jakub Jelinek <jakub@redhat.com>
2102
2103 * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
2104 sequence and its transitions.
2105
a45bb67d
JJ
21062002-10-01 Jakub Jelinek <jakub@redhat.com>
2107
2108 * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
2109 to st_value + addend in non-code sections.
2110 * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
2111 R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
2112
00707a0e 21132002-09-30 Gavin Romig-Koch <gavin@redhat.com>
51020317
AM
2114 Ken Raeburn <raeburn@cygnus.com>
2115 Aldy Hernandez <aldyh@redhat.com>
2116 Eric Christopher <echristo@redhat.com>
2117 Richard Sandiford <rsandifo@redhat.com>
00707a0e
RS
2118
2119 * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
2120 (bfd_mach_mips5500): New.
2121 * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
2122 (arch_info_struct): Add corresponding entries here.
2123 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
2124 E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
2125 (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
2126 bfd_mach_mips5400 and bfd_mach_mips5500.
2127 (_bfd_mips_elf_mach_extends_p): New function.
2128 (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
2129 the EF_MIPS_MACH flags.
2130 * bfd-in2.h: Regenerate.
2131
624f0b25
JT
21322002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
2133
2134 * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
2135 .got sections.
2136
b89fe0ee
AM
21372002-09-28 Alan Modra <amodra@bigpond.net.au>
2138
2139 * elf.c (map_sections_to_segments): Correct test for start of
2140 writable section in the same page as end of read-only section.
2141
b29635ba
JT
21422002-09-27 Matt Thomas <matt@3am-software.com>
2143
2144 * elf32-vax.c (elf_vax_check_relocs): Remove unused
2145 local_got_refcounts usage. Remove allocation of got slot.
2146 (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
2147 Remove de-allocation of got slot.
2148 (elf_vax_size_dynamic_section): Fix some indentation. Add hash
2149 traversal for elf_vax_instantiate_got_entries. Allow empty .got
2150 sections to be GC'ed.
2151 (elf_vax_instantiate_got_entries): New function.
2152 (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
2153 tests that are now handled by elf_vax_instantiate_got_entries.
2154 Assert GOT entry falls within .got section size. Remove redundant
2155 comparisions. Fix comments.
2156
bffbf940
JJ
21572002-09-27 Jakub Jelinek <jakub@redhat.com>
2158
2159 * reloc.c: Add x86-64 TLS relocs.
2160 * bfd-in2.h, libbfd.h: Rebuilt.
2161 * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
2162 relocs. Add TLS relocs.
2163 (x86_64_reloc_map): Add TLS relocs.
2164 (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
2165 (struct elf64_x86_64_link_hash_entry): Add tls_type field.
2166 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
2167 (elf64_x86_64_hash_entry): Define.
2168 (struct elf64_x86_64_obj_tdata): New.
2169 (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
2170 (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
2171 (link_hash_newfunc): Initialize tls_type.
2172 (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
2173 (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
2174 (elf64_x86_64_mkobject): New.
2175 (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
2176 (elf64_x86_64_tls_transition): New.
2177 (elf64_x86_64_check_relocs): Add r_type variable and use it.
2178 Handle TLS relocs.
2179 (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
2180 (allocate_dynrelocs): Allocate GOT space for TLS relocs.
2181 (elf64_x86_64_size_dynamic_sections): Likewise.
2182 (dtpoff_base, tpoff): New.
2183 (elf64_x86_64_relocate_section): Handle TLS relocs.
2184 (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
2185 entries.
2186 (bfd_elf64_mkobject): Define.
2187
2188 * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
2189 DF_STATIC_TLS if shared.
2190
14366460
TS
21912002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2192
2193 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
2194 empty relocation sections.
2195
9f951329
AM
21962002-09-26 Alan Modra <amodra@bigpond.net.au>
2197
2198 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
2199 (ppc64_elf_build_stubs): Build them here instead.
2200
6b3ac709
JJ
22012002-09-24 Jakub Jelinek <jakub@redhat.com>
2202
2203 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
2204 addend into r_addend, not *r_offset.
2205 (elf32_sparc_finish_dynamic_symbol): Likewise.
2206 * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
2207 R_SPARC_RELATIVE's r_offset.
2208
e2f6d277
NC
22092002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
2210
2211 * dwarf2.c (decode_line_info): Update to correctly decode
2212 the (non-standard DWARF2) out-of-order address sequences
2213 generated by the Intel C++ 6.0 compiler for ia64-Linux.
2214
f3961b2b
DD
22152002-09-23 Mark Elbrecht <snowball3@softhome.net>
2216
2217 * config.bfd: For DJGPP targets, match with any cpu and any machine.
2218
ad34bc37
AM
22192002-09-23 Alan Modra <amodra@bigpond.net.au>
2220
2221 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
2222 for discarded FDEs. Remove redundant assignment.
2223 * elflink.h (elf_bfd_discard_info): Save edited relocs.
2224
82988bff
L
22252002-09-22 H.J. Lu <hjl@gnu.org>
2226
2227 * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
2228 the relocation count between different .reloc sections.
2229
5ad8645c
AM
22302002-09-21 Alan Modra <amodra@bigpond.net.au>
2231
5f819128
AM
2232 * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
2233 ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
2234 R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
2235 R_PPC_EMB_RELSDA.
2236
5ad8645c
AM
2237 * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
2238 unsigned. Move "symcount" assignment out of loop.
2239 * Makefile.am: Run "make dep-am".
2240 * Makefile.in: Regenerate.
2241 * configure: Regenerate.
2242 * po/SRC-POTFILES.in: Regnerate.
2243
75936555
NC
22442002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
2245
2246 * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
2247 zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
2248 (e.g. IRIX64).
2249
2243deae
L
22502002-09-19 Jakub Jelinek <jakub@redhat.com>
2251
2252 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
2253 even if generating R_PPC_RELATIVE reloc.
2254 (ppc_elf_relocate_section): Make sure relocation is performed
2255 if skip == -2. Clear memory at r_offset when creating dynamic
2256 relocation.
2257
37e55690
JJ
22582002-09-19 Jakub Jelinek <jakub@redhat.com>
2259
2260 * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
2261 BFD_RELOC_386_TLS_GOTIE): Add.
2262 * bfd-in2.h, libbfd.h: Rebuilt.
2263 * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
2264 and R_386_TLS_GOTIE.
2265 (elf_i386_reloc_type_lookup): Handle it.
2266 (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
2267 char instead of enum, change GOT_* into defines.
2268 (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
2269 (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
2270 (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
2271 accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
2272 R_386_PLT32 cases so that R_386_TLS_IE can fall through.
2273 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
2274 (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
2275 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
2276 (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
2277 tls_type is GOT_TLS_IE_BOTH.
2278 (elf_i386_size_dynamic_sections): Likewise.
2279 (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
2280 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
2281 (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
2282 all 4 GOT_TLS_* TLS types.
2283
8e67855b
NC
22842002-09-19 Nick Clifton <nickc@redhat.com>
2285
2286 * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
2287 follow indirect links.
2288
1c59ba3f
NC
22892002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
2290
2291 * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
2292 correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
2293 on 64 bit machines.
2294 (ecoff_swap_sym_in) <iss>: Likewise.
0e327d91
NC
2295 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
2296 ECOFF information: 'ioptMax' refers to the actual *size*
2297 of the optimization symtab, not the number of entries.
1c59ba3f 2298
9d7404b7
NC
22992002-09-19 Daniel Jacobowitz <drow@mvista.com>
2300
2301 * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
2302 ELF_LINK_HASH_NEEDS_PLT logic.
2303
05a487dc
DJ
23042002-09-18 Daniel Jacobowitz <drow@mvista.com>
2305
2306 * elfcode.h (elf_slurp_reloc_table_from_section): Check
2307 correct relocation count.
2308
1f70368c
DJ
23092002-09-17 Daniel Jacobowitz <drow@mvista.com>
2310
2311 * bfd-in.h (bfd_get_dynamic_symcount): Define.
2312 * bfd.c (struct _bfd): Add dynsymcount.
2313 * bfd-in2.h: Regenerated.
2314 * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
2315 abfd->dynsymcount.
2316 * elfcode.h (elf_slurp_reloc_table_from_section): Check
2317 for overflow.
2318
51020317 23192002-09-17 Stan Cox <scox@redhat.com>
a902ee94
SC
2320
2321 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
2322 (mips_elf64_final_gp): Don't make up gp value.
2323 * elfn32-mips.c (mips_elf_final_gp): Likewise.
2324 * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
2325 .MIPS.options/.options section.
2326
290062cc
DB
23272002-09-17 David O'Brien <obrien@FreeBSD.org>
2328
2329 * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
2330 It is benign for FreeBSD < 4.1. Minor reformatting.
2331 * elf64-alpha-fbsd.c: Likewise.
2332
c5c1f40c
JJ
23332002-09-17 Jakub Jelinek <jakub@redhat.com>
2334
ca1eb0ba
JJ
2335 * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
2336 addend.
c5c1f40c 2337
562ace6b
AM
23382002-09-17 Alan Modra <amodra@bigpond.net.au>
2339
2340 * elf64-alpha.c (alpha_elf_size_info): Make static.
2341
5af6ead6
AM
23422002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
2343
2344 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
2345 * cpu-tic4x.c: Ditto.
2346
cb9512fc
TS
23472002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2348
2349 * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
2350 duplicate define.
2351
4ada7262
DB
23522002-09-16 Bruno Haible <bruno@clisp.org>
2353
2354 * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
2355 by a target variant implementation.
2356 * elf64-alpha.c: Likewise.
2357 * elf32-i386-fbsd.c: New file.
2358 * elf64-alpha-fbsd.c: New file.
2359 * targets.c: Support bfd_elf32_i386_freebsd_vec and
2360 bfd_elf64_alpha_freebsd_vec.
2361 * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
2362 bfd_elf64_alpha_freebsd_vec.
2363 * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
2364 (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
2365 (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
2366 (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
2367 (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
2368 * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
2369 specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
2370
6a30718d
JJ
23712002-09-12 Jakub Jelinek <jakub@redhat.com>
2372
2373 * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
2374 NULL.
2375 (elf_i386_relocate_section): Return false after printing error about
2376 unresolvable relocation.
2377
6cf9e9fe
NC
23782002-09-12 Nick Clifton <nickc@redhat.com>
2379
2380 * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
2381 R_ARM_THM_PC11.
2382
10f469bf
DJ
23832002-09-11 Jeffrey Law <law@redhat.com>
2384
2385 * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
2386
dc43ada5
NC
23872002-09-11 Andrew Haley <aph@cambridge.redhat.com>
2388
2389 * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
2390 line_ptr before deciding we've found a symbol.
2391
e09f4395
NC
23922002-09-11 Nick Clifton <nickc@redhat.com>
2393
2394 * po/da.po: New Danish translation file.
2395 * configure.in (LINGUAS): Add 'da'.
2396 * configure: Regenerate.
2397
b3018b5f
NC
23982002-09-10 Michael Snyder <msnyder@redhat.com>
2399
2400 * irix-core.c (do_sections, do_sections64): New functions.
51020317 2401 (irix_core_core_file_p): Call new functions do_sections,
b3018b5f
NC
2402 do_sections64, depending on corefile (32-bit or 64-bit).
2403
2f21f25e
RH
24042002-09-09 Richard Henderson <rth@redhat.com>
2405
2406 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
2407 and PCREL21F like PCREL21B.
2408
28b94e7c
KB
24092002-09-04 Kevin Buettner <kevinb@redhat.com>
2410
51020317
AM
2411 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
2412 vector.
28b94e7c 2413
5cec6941
NC
24142002-09-02 Nick Clifton <nickc@redhat.com>
2415
2416 * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
2417 names instead of cryptically overloaded bfd_reloc error
2418 codes.
2419 (v850_elf_relocate_section): Likewise.
2420 (v850_elf_relax_section): Replace caching of external symbols
2421 with caching of internal symbols obtained from calling
2422 bfd_elf_get_elf_syms().
51020317 2423 Fixup problems with freeing cached allocated memory blocks.
5cec6941 2424
3b77b1d5
AM
24252002-09-02 Alan Modra <amodra@bigpond.net.au>
2426
638524b5
AM
2427 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
2428 (bfd_pj_arch): Use bfd_default_scan.
2429 * cpu-v850.c (scan): Remove.
2430 (N): Use bfd_default_scan.
2431 * cpu-z8k.c (scan_mach): Remove.
2432 (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
2433 first. Use bfd_default_scan.
2434
250d94fd
AM
2435 * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
2436 bfd_mach constants.
2437 (ecoff_get_magic): Likewise.
2438 * elf32-v850.c (v850_elf_object_p): Likewise.
2439 (v850_elf_final_write_processing): Likewise.
2440 * mipsbsd.c (MY(set_arch_mach)): Likewise.
2441 (MY(write_object_contents)): Likewise.
2442 * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
2443 * coffcode.h (coff_write_object_contents): Likewise.
2444 (coff_set_arch_mach_hook): Add comment describing machine == 0.
2445 Remove unnecessary "machine" assignments.
2446 (coff_write_relocs): Test for the absolute section sym by testing
2447 section and flags.
2448
3b77b1d5
AM
2449 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
2450 and bfd_mach_i386_i386_intel_syntax.
250d94fd 2451 * pdp11.c (NAME(aout,machine_type)): Likewise.
3b77b1d5 2452
e5b45b83
DA
24532002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
2454
2455 * bfd-in.h (align_power): Cast constants to bfd_vma type.
2456 * bfd-in2.h (align_power): Likewise.
2457
37f45cf8
AM
24582002-08-30 Alan Modra <amodra@bigpond.net.au>
2459
2460 * Makefile.am: Run "make dep-am".
2461 * Makefile.in: Regenerate.
2462
2463 * cpu-avr.c (compatible): Don't use hard-coded mach constants.
2464 * cpu-powerpc.c (powerpc_compatible): Likewise.
2465 * cpu-rs6000.c (rs6000_compatible): Likewise.
2466
86aba9db
NC
24672002-08-28 Catherine Moore <clm@redhat.com>
2468
2469 * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
2470 (v850-elf-reloc): Don't resolve pc relative relocs.
2471 (v850_elf_ignore_reloc): New routine.
2472 (v850_elf_final_link_relocate): Handle new relocs.
2473 (v850_elf_relax_delete_bytes ): New routine.
2474 (v850_elf_relax_section): New routine.
2475 (bfd_elf32_bfd_relax_section): Define.
2476 (HOWTO): New entries for new relocs.
2477 * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
2478 (BFD_RELOC_V850_LONGJUMP): New reloc.
2479 (BFD_RELOC_V850_ALIGN): New reloc.
2480 * archures.c: Remove redundant v850ea architecture.
2481 * cpu-v850.c: Remove redundant v850ea support.
2482 * libbfd.h: Regenerate.
2483 * bfd-in2.h: Regenerated.
2484
026df7c5
NC
24852002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
2486
2487 * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
2488 * configure.in: Add tic4x_coff vector files.
2489 * configure: Regenerate.
2490 * Makefile.am: Add tic4x target.
2491 * Makefile.in: Regenerate.
2492
24932002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2494
2495 * archures.c: Add the BFD arch type tic4x.
2496 * bfd-in.h: Add BFD_IN_MEMORY flag.
2497 * coff-tic4x.c: New file.
2498 * coffswap.h (coff_swap_sym_out): Add preadjuster.
2499 * cpu-tic4x.c: New file.
2500 * targets.c: Added tic4x- in list of xvecs.
2501 * ticoff.h: New file.
2502 * bfd-in2.h: Regenerate.
2503
88f7bcd5
NC
25042002-08-27 Adam Nemet <anemet@lnxw.com>
2505
2506 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
2507 bit of DT_INIT and DT_FINI for Thumb functions.
2508
c8e48751
AM
25092002-08-26 Alan Modra <amodra@bigpond.net.au>
2510
2511 * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
2512
2846975a
AM
25132002-08-26 Alan Modra <amodra@bigpond.net.au>
2514
2515 * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
2516
067653c5
AM
25172002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2518
2519 * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
2520 (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
2521 Likewise.
2522 (struct elf_sh_pcrel_relocs_copied): Removed.
2523 (struct elf_sh_dyn_relocs): New.
2524 (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
2525 field with dyn_relocs.
2526 (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
2527 sections and sym_sec.
2528 (sh_elf_link_hash_newfunc): Clear dyn_relocs.
2529 (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
2530 (sh_elf_create_dynamic_sections): Use create_got_section instead
2531 of _bfd_elf_create_got_section.
2532 (sh_elf_check_relocs): Likewise.
2533 (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
2534 sections.
2535 (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
2536 sh_elf_relocate_section, sh_elf_check_relocs,
2537 sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
2538 Likewise.
2539 (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
2540 dynamic relocations and avoiding the copy relocation when we
2541 didn't find any dynamic relocations in the section which has
2542 contents or is read-only.
2543 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
2544 (sh_elf_size_dynamic_sections): Don't reset the size of
2545 .rela.got section even if dynamic_sections_created flag is off.
2546 Don't use sh_elf_discard_copies. Scan all input bfd and use
2547 allocate_dynrelocs. Call readonly_dynrelocs to determine
2548 whether we need DT_TEXTREL.
2549 (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
2550 whether the symbol was never referred to.
2551 (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
2552 (sh_elf_gc_sweep_hook): Fill with the real sweep function.
2553 (sh_elf_check_relocs): Call create_got_section if the short-cut
2554 to .got is null. Increment reference counters only instead of
2555 allocating space on dynamic sections here. Don't conditionalize
2556 uninitialized got.offset value when marking the symbol as a
2557 global offset table entry. Keep relocations for symbols satisfied
2558 by a dynamic library to avoid copy relocations for the symbol.
2559 Set dynobj field of an elf hash table if needed.
2560 (sh_elf_finish_dynamic_sections): Handle null section pointer
2561 correctly.
2562 (elf_backend_copy_indirect_symbol): Defined.
2563 (elf_backend_can_refcount): Defined.
2564
7e326afc
NC
25652002-08-23 Nick Clifton <nickc@redhat.com>
2566
2567 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
2568 previous change. Add comment explaining why.
2569
c8614e8e
AM
25702002-08-23 Stephen Clarke <stephen.clarke@superh.com>
2571
2572 * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
2573 contents of .got.plt[2] to tr0, not address of .got.plt.
2574 (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
2575 patching absolute plt entry. For shmedia plt entry, set bottom bit
2576 of branch to plt0 as this is a branch to an shmedia instruction.
2577 * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
2578 Copy contents of .got.plt[2] to tr0, not address of .got.plt.
2579 (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
2580 branch to plt0.
2581 (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
2582 patching absolute plt entry. For shmedia plt entry, branch to
2583 plt0 is now ptrel, so use relative offset. Set bottom bit of
2584 branch target as it is a branch to an shmedia instruction.
2585
3b587c71
AM
25862002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
2587 Richard Shann <richard.shann@superh.com>
2588
2589 * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
2590 value if .init is an SHmedia function. Similarly for DT_FINI.
2591 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
51020317 2592
957dcaa8
AM
25932002-08-23 Stephen Clarke <stephen.clarke@superh.com>
2594
3b587c71 2595 * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
957dcaa8 2596 dynamic section.
3b587c71 2597 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
957dcaa8 2598
a4263c47
NC
25992002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2600
2601 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
51020317 2602 byte read when reading the return address register column.
a4263c47 2603
db4ed121
NC
26042002-08-22 Nick Clifton <nickc@redhat.com>
2605
2606 * config.bfd: Add powepc64-*-*bsd* target.
2607
ed71e111
NC
26082002-08-22 Graeme Peterson <gp@qnx.com>
2609
2610 * Makefile.am: Add entries for elf32-shqnx.c
2611 * Makefile.in: Regenerate.
2612 * config.bfd: Add support sh-*-nto* target.
2613 * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
2614 * configure: Regenerate.
2615 * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
2616 * elf32-sh.c: Do not include elf32-target.h if
2617 ELF32_SH_C_INCLUDED is defined.
2618 * elf32-shqnx.c: New file: Support for QNX.
2619 * targets.c: Add bfd_elf32_sh{l}qnx_vec.
2620
0ab72ee2
NC
26212002-08-22 Nick Clifton <nickc@redhat.com>
2622
75c83283
NC
2623 * po/tr.po: Updated Turkish translation.
2624
0ab72ee2
NC
2625 * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
2626 symbols are not read.
2627
56780f18
AM
26282002-08-22 Alan Modra <amodra@bigpond.net.au>
2629
2630 * elf32-m68hc11.c: Formatting fixes.
2631 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
2632 * elf32-m68hc12.c: Formatting fixes.
2633 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
2634
b48fa14c
AM
26352002-08-22 Alan Modra <amodra@bigpond.net.au>
2636
a7c71b0c
AM
2637 * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
2638 SEC_DATA.
2639 (pmac_xcoff_vec): Likewise.
2640 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2641 (aix5coff64_vec): Likewise.
2642
56780f18
AM
26432002-08-22 Alan Modra <amodra@bigpond.net.au>
2644
b48fa14c
AM
2645 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
2646 param to elf_backend_copy_indirect_symbol.
2647 (_bfd_elf_link_hash_copy_indirect): Likewise.
2648 * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
2649 calls to copy_indirect_symbol.
2650 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
2651 * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
2652 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
2653 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
2654 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
2655 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
2656 * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
2657 * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
2658 * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
2659 * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
2660 test refcounts for "used" values.
2661
8c2ab17d
AM
26622002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
2663
2664 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
2665 argument declaration.
2666
d62b1198 26672002-08-19 Elena Zannoni <ezannoni@redhat.com>
51020317
AM
2668
2669 * archures.c (bfd_mach_ppc_e500): Added.
2670 * bfd-in2.h: Rebuilt.
d62b1198
EZ
2671 * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
2672
9f88ba09
AM
26732002-08-19 Alan Modra <amodra@bigpond.net.au>
2674
2675 * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
2676
df622259
AC
26772002-08-17 Andrew Cagney <ac131313@redhat.com>
2678
2679 * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
51020317 2680 `bfd_byte'.
df622259 2681
44c410de
SC
26822002-08-17 Stan Cox <scox@redhat.com>
2683
2684 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
2685 IRIX 6 segment layout for NEWABI.
2686
4972a8e9
SC
26872002-08-16 Stephen Clarke <stephen.clarke@superh.com>
2688
2689 * bfd/elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
2690 symbols when looking for section referred to by a relocation.
2691 * bfd/elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
51020317 2692
c5cd6d62
AM
26932002-08-15 Alan Modra <amodra@bigpond.net.au>
2694
2695 * elf32-i370.c: Move reloc enum to include/elf/i370.h.
2696
0741c7be
HPN
26972002-08-15 Hans-Peter Nilsson <hp@axis.com>
2698
2699 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
2700 missing check for whether the symbol is referenced by DSO before
2701 unexporting it as an unneeded dynamic symbol.
2702
e8d5d179
L
27032002-08-14 H.J. Lu <hjl@gnu.org>
2704
2705 * libbfd.h: Regenerate.
2706
e9229007
L
27072002-08-14 H.J. Lu <hjl@gnu.org>
2708
2709 * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
2710
1fd03b5a
SC
27112002-08-14 Stephane Carrez <stcarrez@nerim.fr>
2712
2713 * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
2714 instructions.
2715 (m68hc11_direct_relax): New to define table of relaxable instructions.
2716 (find_relaxable_insn): New, find a relaxable insn.
2717 (compare_reloc): New to compare two relocs.
2718 (m68hc11_elf_relax_section): New, relax text sections.
2719 (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
2720 (elf32_m68hc11_check_relocs): New function for GC support.
2721 (elf32_m68hc11_relocate_section): New function for GC support.
2722 (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
2723 (elf_backend_check_relocs): Likewise.
2724 (elf_backend_relocate_section): Likewise.
2725
c828c771
L
27262002-08-13 H.J. Lu <hjl@gnu.org>
2727
2728 * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
2729 definitions in shared objects when checking symbol with
2730 undefined version.
2731
9b701e44
SC
27322002-08-13 Stephane Carrez <stcarrez@nerim.fr>
2733
2734 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
2735 (elf32_m68hc11_gc_sweep_hook): Likewise.
2736 (elf_backend_gc_mark_hook): Define for GC section support.
2737 (elf_backend_gc_sweep_hook): Likewise.
2738 (elf_backend_can_gc_sections): Likewise.
2739
2740 * elf32-m68hc12.c: Likewise.
2741
96405e3c
SC
27422002-08-13 Stephane Carrez <stcarrez@nerim.fr>
2743
2744 * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
2745 (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
2746 (_bfd_m68hc11_elf_set_private_flags): New function.
2747 Use them to set/check/print ELF flags specific to 68HC11.
2748
2749 * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
2750 (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
2751 (_bfd_m68hc12_elf_set_private_flags): New function.
2752 Use them to set/check/print ELF flags specific to 68HC12.
2753
dae78fb0
SC
27542002-08-13 Stephane Carrez <stcarrez@nerim.fr>
2755
2756 * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
2757 fix masks for PC-rel relocs.
2758 (m68hc11_elf_ignore_reloc): New function.
2759
2760 * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
2761 68HC12 banked addressing relocs.
2762 (m68hc12_phys_addr): New to compute physical address of banked memory.
2763 (m68hc12_phys_page): Likewise for page.
2764 (m68hc12_addr_is_banked): New to see if address is in banked area.
2765 (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
2766
3dbfec86
SC
27672002-08-13 Stephane Carrez <stcarrez@nerim.fr>
2768
2769 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
2770 BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
2771 BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
2772 * bfd-in2.h: Regenerate.
2773
871da94f
L
27742002-08-12 H.J. Lu <hjl@gnu.org>
2775
2776 * elflink.h (elf_add_default_symbol): Preserve section across
2777 elf_merge_symbol.
2778
59bc061d
NC
27792002-08-09 Graeme Peterson <gp@qnx.com>
2780
51020317 2781 * Makefile.am: Add entries for elf32-ppcqnx.c, and add
59bc061d
NC
2782 elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
2783 * Makefile.in: Regenerate.
2784 * config.bfd: Add support for powerpc{le}-*-nto targets.
2785 * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
2786 * configure: Regenerate.
2787 * elf32-i386qnx.c: Moved backend functions into a QNX specific
2788 common file "elf32-qnx.h", and now include that file.
2789 * elf32-qnx.h: New file: QNX specific common elf backend.
2790 * elf32-ppc.c: Do not include elf32-target.h if
2791 ELF32_PPC_C_INCLUDED is defined.
2792 * elf32-ppcqnx.c: New file: Support for QNX.
2793 * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
2794 * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
2795
2b692c59
NC
27962002-08-09 Nick Clifton <nickc@redhat.com>
2797
2798 * po/sv.po: Updated Swedish translation.
2799
d0c7ff07
TS
28002002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2801
2802 * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
2803 g->global_gotsym is NULL.
2804
d8bbe778
L
28052002-08-08 H.J. Lu <hjl@gnu.org>
2806
c5cd6d62 2807 * elflink.h (elf_add_default_symbol): Don't warn if a definition
d8bbe778
L
2808 overrides an indirect versioned symbol.
2809
c366c25e
JJ
28102002-08-08 Jakub Jelinek <jakub@redhat.com>
2811
2812 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
2813 for R_386_TLS_TPOFF32 relocs against symndx 0.
2814
31941635
L
28152002-08-07 H.J. Lu <hjl@gnu.org>
2816
2817 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
2818 with undefined version if needed.
2819 (elf_link_assign_sym_version): Match a default symbol with a
2820 version without definition. No need to hide the default
2821 definition separately.
2822
0f3bd64f
AM
28232002-08-08 Alan Modra <amodra@bigpond.net.au>
2824
7330fb86
AM
2825 * elflink.h (elf_link_output_extsym): Don't output symbols from
2826 SEC_EXCLUDE sections.
2827
0f3bd64f
AM
2828 * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
2829
a4aa0fb7
AM
28302002-08-07 Alan Modra <amodra@bigpond.net.au>
2831
2832 * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
2833 entries.
2834
34ea4a36
TS
28352002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2836
2837 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
2838 mismatch.
2839
141ff970
TS
28402002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2841
2842 * elfxx-mips.c (ABI_64_P): Remove superfluous check.
2843
28458e7e
TS
28442002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2845
2846 * elf32-mips.c (mips_reloc_map): Fix typo.
2847
0121a3da
AM
28482002-08-06 Alan Modra <amodra@bigpond.net.au>
2849
2850 * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
2851
d006db6c
AM
28522002-08-06 Alan Modra <amodra@bigpond.net.au>
2853
2854 * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
2855
8ea80f08
AM
28562002-08-06 Alan Modra <amodra@bigpond.net.au>
2857
2a52da53
AM
2858 * libxcoff.h: Use PARAMS on function declarations.
2859 * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
2860 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
2861
8ea80f08
AM
2862 * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
2863 addend.
2864 * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
2865
cf9ab45b
AM
28662002-08-06 Alan Modra <amodra@bigpond.net.au>
2867
2868 * coff-rs6000.c: Formatting fixes.
2869 (xcoff_calculate_relocation): Use PARAMS in declaration.
2870 (xcoff_complain_overflow): Likewise.
2871 (xcoff_ppc_relocate_section): Use old-style function pointer call.
2872 (bfd_xcoff_backend_data): Remove useless comments.
2873 (rs6000coff_vec): Likewise.
2874 (bfd_pmac_xcoff_backend_data): Likewise.
2875 (pmac_xcoff_vec): Likewise.
8ea80f08 2876
cf9ab45b
AM
2877 * coff64-rs6000.c: Formatting fixes.
2878 (xcoff64_calculate_relocation): Use PARAMS in declaration.
2879 (xcoff64_ppc_relocate_section): Use old-style function pointer call.
2880 (bfd_xcoff_backend_data): Remove useless comments.
2881 (rs6000coff64_vec): Likewise.
2882 (bfd_xcoff_aix5_backend_data): Likewise.
2883 (aix5coff64_vec): Likewise.
2884
48bfecdd
AM
28852002-08-06 Alan Modra <amodra@bigpond.net.au>
2886
a78eab4e
AM
2887 * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
2888 mask entries. Use complain_overflow_dont for R_REF.
2889 (xcoff_reloc_type_ba): Revert last change.
2890 (xcoff_reloc_type_br): Likewise.
2891 (xcoff_reloc_type_crel): Likewise.
2892 (xcoff_ppc_relocate_section): Likewise.
2893 * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
2894 (xcoff64_ppc_relocate_section): Likewise.
2895 (xcoff64_howto_table): Revert some of last change to mask entries.
2896 Use complain_overflow_dont for R_REF.
2897
48bfecdd
AM
2898 * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
2899 relocs with bitsize == 16 have size = 1.
2900 (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
2901 (xcoff_reloc_type_br): Likewise.
2902 (xcoff_reloc_type_crel): Likewise.
2903 (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
2904 * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
2905 dst_mask adjustment.
2906 (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
2907 (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
2908 bitsize == 16 have size = 1.
2909
fd13ed0c
DC
29102002-08-01 Denis Chertykov <denisc@overta.ru>
2911
2912 * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
2913 (struct misc): New field isymbuf. All free_* fields removed.
2914 (symbol_value): Pass in internal syms. No need to swap syms in.
2915 (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
2916 possibly cached info.
2917 (tidyup_after_error): Removed.
2918 (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
2919 misc. Use new field.
2920 (adjust_all_relocations): Use internal syms. No need to swap syms
2921 in and out.
2922 (add_page_insn): Don't use removed fields of struct misc.
2923
24a1ba0f
NC
29242002-08-01 Nick Clifton <nickc@redhat.com>
2925
2926 * elf32-arm.h: Revert previous delta.
2927
a6903459
NC
29282002-08-01 Nick Clifton <nickc@redhat.com>
2929
2930 * configure.in (AM_INIT_AUTOMAKE): Bump version number.
2931 * configure: Regenerate.
2932
39a2a3eb
L
29332002-07-31 H.J. Lu <hjl@gnu.org>
2934
2935 * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
2936 selected.
2937
a0dfa6a8
L
29382002-07-31 H.J. Lu <hjl@gnu.org>
2939
2940 * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
2941 is selected.
2942
cd67d266
JJ
29432002-07-31 Jakub Jelinek <jakub@redhat.com>
2944
2945 * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
2946 if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
2947
4eb6b71c
NC
29482002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2949
2950 * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
2951 There is no 8 byte relocation type for this architecture.
2952 (do_ns32k_reloc): Use bfd_vma instead of native types.
2953 (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
2954 returns void.
2955 (_bfd_ns32k_put_displacement): Don't check for overflow. We can
2956 rely on generic code to do that.
2957 * aout-ns32k.c (howto_table): Add appropriate overflow detection
2958 to all table entries.
2959 (_bfd_ns32k_relocate_contents): put_data returns void.
2960 * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
2961 (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
2962 return void.
2963
f7c33884
NC
29642002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2965
2966 * aoutx.h (aout_link_check_ar_symbols): Whether to include an
2967 archive object is target dependant.
2968
8f64befb
NC
29692002-07-31 Adam Nemet <anemet@lnxw.com>
2970
2971 * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
2972 (THUMB_PLT_ENTRY_SIZE): New macro.
2973 (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
2974 (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
2975 ARM_PLT_ENTRY_SIZE.
2976 (elf32_arm_plt_entry): Likewise.
2977 (elf_backend_plt_header_size): Likewise.
2978 (elf32_thumb_plt0_entry): New global.
2979 (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
2980 into .plt.thumb.
2981 (elf32_thumb_plt_entry): New global.
2982 (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
2983 Thumb entries. Set the bottom bit of the corresponding GOT entry
2984 for a Thumb PLT entry.
2985 (struct elf32_arm_plt_entry_info): New structure.
2986 (struct elf32_arm_link_hash_entry, plt_info): New member of this
2987 type.
2988 (elf32_arm_link_hash_newfunc): Initialize new member.
2989 (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
2990 relocations against the PLT.
2991 (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
2992 first_rel_type if this is the first time we encounter the symbol.
2993 (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
2994 Determine if relocation needs a PLT entry. Set first_rel_type if
2995 this is the first time we encounter the symbol
2996 (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
2997 functions as well.
2998 (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
2999 (elf32_arm_create_dynamic_sections): New function. Create the
3000 .plt.thumb section.
3001 (elf_backend_create_dynamic_sections): Call it.
3002
47badb7b
NC
30032002-07-31 Nick Clifton <nickc@redhat.com>
3004
3005 * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
3006 'alternative' in order to avoid shadowing global symbol of the
3007 same name.
3008 * bfd-in2.h: Regenerate.
3009 * libbfd.h: Regenerate.
3010 * libcoff.h: Regenerate.
3011
8a397dad
TS
30122002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3013
3014 * Makefile.am: Add n32 ABI support.
3015 * Makefile.in: Regenerate.
3016 * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
3017 bit vectors for mips*-*-linux targets as optional.
3018 * configure.in: Add n32 ABI vectors.
3019 * configure: Regenerate.
3020 * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
3021 * elfn32-mips.c: New file, n32 ABI support.
3022 * targets.c: Add n32 ABI vectors.
3023
7e392df6 30242002-07-30 Graeme Peterson <gp@qnx.com>
83e1617e 3025
7e392df6
NC
3026 * elfarmqnx-nabi.c: New file: Support for QNX.
3027 * config.bfd: Add support for arm-*-nto target.
3028 * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
3029 * configure: Regenerate.
3030 * Makefile.am: Add entries for elfarmqnx-nabi.c.
3031 * Makefile.in: Regenerate.
3032 * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
3033 Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
3034 * elfarm-nabi.c: Do not include elf32-arm.h if
3035 ELFARM_NABI_C_INCLUDED is defined.
3036 * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7330fb86 3037
7e392df6 30382002-07-30 Nick Clifton <nickc@redhat.com>
7330fb86 3039
83e1617e
NC
3040 * po/sv.po: Updated Swedish translation.
3041
704afa60
JJ
30422002-07-30 Jakub Jelinek <jakub@redhat.com>
3043
3044 * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
3045
487e54f2
AM
30462002-07-30 Alan Modra <amodra@bigpond.net.au>
3047
3048 * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
3049 * archive.c (bfd_generic_archive_p): Likewise.
3050 * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
3051 (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
3052 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
3053 (xcoff64_archive_p): Likewise.
3054 (xcoff64_openr_next_archived_file): Likewise.
3055 (xcoff64_archive_p): Clean up tdata properly on error.
3056 * coffgen.c (coff_real_object_p): Likewise.
3057 (coff_object_p): Release filehdr and opthdr.
3058 * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
3059 * ieee.c (ieee_archive_p): Likewise.
3060 * ihex.c (ihex_object_p): Likewise.
3061 (ihex_mkobject): Always allocate tdata.
3062 * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
3063 * srec.c (srec_mkobject): Always allocate tdata.
3064 (srec_object_p): Clean up tdata properly on error.
3065 (symbolsrec_object_p): Likewise.
3066 * versados.c (versados_object_p): Likewise.
3067 * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
3068 and bfd_realloc instead of realloc.
3069 (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
3070 * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
3071 place of bfd_malloc, simplifying error freeing. Free hash table too.
3072 (vms_object_p): Clean up tdata on error.
3073 (vms_mkobject): Don't complain on stderr if vms_initialize fails.
3074 (vms_close_and_cleanup): Adjust for bfd_alloc use.
3075
9d46020e
AM
30762002-07-30 Alan Modra <amodra@bigpond.net.au>
3077
3078 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
3079
fb39dac1
RS
30802002-07-26 Chris Demetriou <cgd@broadcom.com>
3081
3082 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
3083 flags into resulting BFD.
3084
7a624474
AM
30852002-07-26 Alan Modra <amodra@bigpond.net.au>
3086
3087 From John Reiser <jreiser@BitWagon.com>
3088 * elf32-i386.c (elf_i386_link_hash_table_create): Clear
3089 tls_ldm_got.refcount.
3090
a4382ec6
TS
30912002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3092
3093 * elf64-mips.c: Update TODO comment.
3094 (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
3095 mips_elf64_gprel16_reloca): Remove prototypes.
3096 (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
3097 (UNUSED_RELOC): Replace by EMPTY_RELOC.
3098 (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
3099 wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
3100 R_MIPS_HIGHEST.
3101 (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
3102 R_MIPS_GOT16. Remove wrong comments.
3103 (elf_mips16_jump_howto,elf_mips16_gprel_howto,
3104 elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
3105 from elf32-mips.c.
3106 (mips_elf64_hi16_reloc): Fix formatting.
3107 (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
3108 (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
3109 Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
3110 (mips_elf64_gprel16_reloc): Make static. Add check for
3111 partial_inplace.
3112 (mips_elf64_gprel16_reloca): Remove.
3113 (mips_elf64_literal_reloc): New function.
3114 (mips_elf64_gprel32_reloc): Fix formatting.
3115 (mips_elf64_shift6_reloc): Fix comment. Make static.
3116 (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
3117 elf32-mips.c.
3118 (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
3119 elf32-mips.c
3120 (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
3121 specific relocations.
3122 (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
3123 (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
3124 (ELF_MAXPAGESIZE): Add comment.
3125
219576a4
NC
31262002-07-25 Nick Clifton <nickc@redhat.com>
3127
3128 * po/sv.po: Updated Swedish translation.
3129 * po/es.po: Updated Spanish translation.
3130 * po/fr.po: Updated French translation.
3131
8c58d23b
AM
31322002-07-25 Alan Modra <amodra@bigpond.net.au>
3133
3134 * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
3135 as elf_link_record_local_dynamic_symbol.
3136 (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
3137 (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
3138 * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
3139 * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
3140 attempt is made to record a symbol in a discarded section, and
3141 return `2' in that case.
3142
ff3063f5
NC
31432002-07-24 Nick Clifton <nickc@redhat.com>
3144
3145 * po/sv.po: Updated Swedish translation.
3146 * po/es.po: Updated Spanish translation.
3147
f0fe0e16
AM
31482002-07-23 Alan Modra <amodra@bigpond.net.au>
3149
c1fb5f8a
AM
3150 * po/SRC-POTFILES.in: Regenerate.
3151
f0fe0e16
AM
3152 * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
3153 immediately. Remove code handling relocatable linking.
3154 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
3155 * elf32-cris.c (cris_elf_relocate_section): Likewise.
3156 * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
de2d743e 3157 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
3158 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
3159 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3160 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
3161 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3162 * elf32-v850.c (v850_elf_relocate_section): Likewise.
3163 * elf32-vax.c (elf_vax_relocate_section): Likewise.
3164 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3165 * elf32-avr.c (elf_backend_rela_normal): Define.
3166 * elf32-cris.c: Likewise.
3167 * elf32-fr30.c: Likewise.
de2d743e 3168 * elf32-frv.c: Likewise.
f0fe0e16
AM
3169 * elf32-h8300.c: Likewise.
3170 * elf32-hppa.c: Likewise.
3171 * elf32-ip2k.c: Likewise.
3172 * elf32-sparc.c: Likewise.
3173 * elf32-v850.c: Likewise.
3174 * elf32-vax.c: Likewise.
3175 * elf64-hppa.c: Likewise.
3176 * elf64-sparc.c: Likewise.
3177 * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
de2d743e 3178 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
3179 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
3180 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
3181 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
3182 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
3183 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
3184 * elf-m10200.c (USE_RELA): Don't define.
3185 * elf-m10300.c: Likewise.
de2d743e 3186 * elfarm-oabi.c: Likewise.
f0fe0e16
AM
3187 * elf32-i370.c: Likewise.
3188 * elf32-ip2k.c: Likewise.
3189 * elf32-m68k.c: Likewise.
3190 * elf32-mcore.c: Likewise.
3191 * elf32-ppc.c: Likewise.
3192 * elf32-s390.c: Likewise.
3193 * elf32-vax.c: Likewise.
3194 * elf64-ppc.c: Likewise.
3195 * elf64-s390.c: Likewise.
3196 * elf64-x86-64.c: Likewise.
3197 * elfxx-ia64.c: Likewise.
3198 * elf32-avr.c (USE_REL): Don't undef.
3199 * elf32-ip2k.c: Likewise.
3200
5e8d7549
NC
32012002-07-23 Nick Clifton <nickc@redhat.com>
3202
3203 * elf-bfd.h (struct elf_backend_data): Add new bitfield
3204 'want_p_paddr_set_to_zero'.
3205 * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
3206 to false;
3207 * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
3208 * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
3209
9e12c7db
NC
32102002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
3211
3212 * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
3213 the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
3214 show the Copyright string.
3215 Minor formatting tidy ups.
3216
0461a601
NC
32172002-07-23 Nick Clifton <nickc@redhat.com>
3218
ff3063f5
NC
3219 * po/fr.po: Updated French translation.
3220 * po/sv.po: Updated Swedish translation.
0461a601 3221
fad2542d
AM
32222002-07-23 Alan Modra <amodra@bigpond.net.au>
3223
3224 * elflink.h (elf_link_input_bfd): Don't change internal symbols
3225 when outputting relocs.
3226
c0647bfc
JT
32272002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
3228
3229 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
3230 DT_PLTGOT into the dynamic section if there is a PLT.
3231
d01414a5
TS
32322002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3233
3234 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
3235 elf32-mips.c.
3236 (_bfd_mips_elf_write_section): Likewise.
3237 * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
3238 (_bfd_mips_elf_write_section): Likewise.
3239 * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
3240 (elf32_mips_write_section): Likewise.
3241 * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
3242 (_bfd_mips_elf_write_section): Likewise.
3243
40c97fc6
AM
32442002-07-19 Alan Modra <amodra@bigpond.net.au>
3245
3246 * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
3247 PT_IA_64_UNWIND segments for a given section.
3248
58378160
L
32492002-07-17 H.J. Lu <hjl@gnu.org>
3250
3251 * Makefile.am: Fix a typo.
3252 * Makefile.in: Regenerate.
3253
cf88bb9f
NC
32542002-07-15 Denis Chertykov <denisc@overta.ru>
3255 Frank Ch. Eigler <fche@redhat.com>
3256 Ben Elliston <bje@redhat.com>
3257 Alan Lehotsky <alehotsky@cygnus.com>
3258 John Healy <jhealy@redhat.com>
3259 Graham Stott <grahams@redhat.com>
3260 Jeff Johnston <jjohnstn@redhat.com>
3261
3262 * Makefile.am: Add support for ip2k.
3263 * Makefile.in: Regenerate.
3264 * doc/Makefile.in: Regenerate.
3265 * archures.c: Add support for ip2k.
3266 * config.bfd: Add support for ip2k.
3267 * configure.in: Add support for ip2k.
3268 * configure: Regenerate.
3269 * reloc.c: Add support for ip2k.
3270 * targets.c: Add support for ip2k.
3271 * bfd-in2.h: Regenerate.
3272 * libbfd.h: Regenerate.
3273 * cpu-ip2k.c: New file.
3274 * elf32-ip2k.c: New file.
3275
0dafd5f6
RE
32762002-07-17 Ian Rickards <irickard@arm.com>
3277
40c97fc6 3278 * dwarf2.c (concat_filename): If we can't establish the directory
0dafd5f6
RE
3279 just return the filename.
3280
36b08f12
AM
32812002-07-16 Moritz Jodeit <moritz@jodeit.org>
3282
3283 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
3284
58821868
AM
32852002-07-16 Alan Modra <amodra@bigpond.net.au>
3286
3287 * elflink.h: Formatting fixes, tidy prototypes.
3288 (elf_link_assign_sym_version): Move common code out of loop.
3289
c89583f8
AM
32902002-07-16 Alan Modra <amodra@bigpond.net.au>
3291
3292 * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
3293 reloc section size is zero. Correct reloc output location.
3294
ba94744e
AM
32952002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3296
3297 * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
3298 the final type for the e_fsel selector when generating PA2.0W code.
3299 (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
3300 relocations.
3301
96a94295
L
33022002-07-14 H.J. Lu <hjl@gnu.org>
3303
3304 * elflink.h (elf_link_assign_sym_version): Hide the default
3305 definition if there is a hidden versioned definition.
3306
6849c52f
HPN
33072002-07-12 Hans-Peter Nilsson <hp@axis.com>
3308
3309 * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
3310 dynamic reference test in assertion when initializing GOT with
3311 static contents. Just assert that there are either no dynamic
3312 sections, the symbol is defined in the regular objects or that the
3313 symbol is undef weak. Tweak comment.
3314 (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
3315 only if the symbol isn't defined in the program and isn't undef
3316 weak.
3317 (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
3318 rid of PLT entry: only do it if the symbol isn't defined in a DSO.
3319 When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
3320 (elf_cris_discard_excess_program_dynamics): Don't consider
3321 ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
3322
239e1f3a
AM
33232002-07-11 Alan Modra <amodra@bigpond.net.au>
3324
3325 * elf32-i386.c (elf_i386_relocate_section): Don't complain about
3326 unresolved debugging relocs in dynamic applications.
3327 * elf32-s390.c (elf_s390_relocate_section): Likewise.
3328 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3329 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3330 * elf64-s390.c (elf_s390_relocate_section): Likewise.
3331 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3332 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
3333
2f6d9989
AM
33342002-07-10 Alan Modra <amodra@bigpond.net.au>
3335
f5e87a1d
AM
3336 * elf64-ppc.c (ONES): Define.
3337 (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
3338 missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
3339 in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
3340
2f6d9989
AM
3341 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
3342 (ppc64_elf_set_private_flags): Delete.
3343 (ppc64_elf_section_from_shdr): Delete.
3344 (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
3345 (ppc64_elf_fake_sections): Delete.
3346 (bfd_elf64_bfd_set_private_flags): Don't define.
3347 (bfd_elf64_get_symbol_info): Likewise.
3348 (elf_backend_section_from_shdr): Likewise.
3349 (elf_backend_fake_sections): Likewise.
3350
0594c12d
AM
33512002-07-10 Marco Walther <Marco.Walther@sun.com>
3352
3353 * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
3354 when not already set.
3355 * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
3356 (elf_backend_fake_sections): Define.
3357
699cb9b8
AM
33582002-07-10 Alan Modra <amodra@bigpond.net.au>
3359
3360 * merge.c (_bfd_merge_section): Remove redundant output_section check.
3361 Formatting.
3362 (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
3363
0a4787a0
HPN
33642002-07-09 Hans-Peter Nilsson <hp@axis.com>
3365
3366 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
3367 NULL sym_hashes to just before use.
3368 <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
3369 symbol with non-default visibility.
3370 <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
3371 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
3372 Ditto.
3373 (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
3374 symbol with non-default visibility.
3375 (cris_elf_check_relocs): At tests for local symbol before
3376 increasing h->plt.refcount, also check for non-default
3377 visibility. Ditto when checking for local symbol to eliminate
3378 pc-relative runtime relocs.
3379
aecc8f8a
AM
33802002-07-08 Alan Modra <amodra@bigpond.net.au>
3381
3382 * elf.c: Formatting.
3383 (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
3384 (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
3385 (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
3386 segments.
3387
e9168c1e
MM
33882002-07-07 Mark Mitchell <mark@codesourcery.com>
3389 Alan Modra <amodra@bigpond.net.au>
3390
3391 * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
3392 account the impact of relocation count overflow when computing
3393 section offsets.
3394 * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
3395 or not to apply the PE COFF reloc overflow handling. Fix a
3396 fencepost error in deciding whether or not to use that technique.
3397
6cdc0ccc
AM
33982002-07-07 Alan Modra <amodra@bigpond.net.au>
3399
3400 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
3401 change type of locsyms.
3402 (bfd_elf_get_elf_syms): Declare.
3403 * elf.c (bfd_elf_get_elf_syms): New function.
3404 (group_signature): Use bfd_elf_get_elf_syms.
3405 (bfd_section_from_r_symndx): Likewise.
3406 * elfcode.h (elf_slurp_symbol_table): Likewise.
3407 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
3408 (elf_link_add_object_symbols): Likewise. Reorganise to increase
3409 locality of various data structures. Properly free internal relocs.
3410 (elf_bfd_final_link): Properly free internal relocs.
3411 (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
3412 (elf_link_input_bfd): Likewise.
3413 (elf_gc_mark): Likewise. Properly free internal relocs.
3414 (elf_gc_sweep): Properly free internal relocs.
3415 (elf_reloc_symbol_deleted_p): No need to swap syms in.
3416 (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
3417 internal relocs.
3418 * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
3419 Properly free possibly cached info.
3420 (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
3421 (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
3422 symbol swapping code.
3423 (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
3424 Properly free possibly cached info.
3425 * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
3426 (mn10300_elf_relax_delete_bytes): Likewise.
3427 (mn10300_elf_symbol_address_p): Likewise.
3428 (mn10300_elf_get_relocated_section_contents): Likewise.
3429 * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
3430 (elf32_h8_relax_delete_bytes): Likewise.
3431 (elf32_h8_symbol_address_p): Likewise.
3432 (elf32_h8_get_relocated_section_contents): Likewise.
3433 * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
3434 (m32r_elf_relax_delete_bytes): Likewise.
3435 (m32r_elf_get_relocated_section_contents): Likewise.
3436 * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
3437 elf_section_data to determine whether cached.
3438 (sh_elf_relax_section): As above for elf-m10200.c.
3439 (sh_elf_relax_delete_bytes): Likewise.
3440 (sh_elf_get_relocated_section_contents): Likewise.
3441 * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
3442 * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
3443 reading of local syms.
3444 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
3445 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
3446 * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
3447 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
3448 relocs.
3449 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
3450 free internal relocs and section contents. Don't read symbols.
3451 * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
3452 (elf32_hppa_size_stubs): Don't free local syms.
3453 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
3454 reading of local syms. Use bfd_elf_get_elf_syms. Properly free
3455 possibly cached info.
3456 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
3457 * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
3458 * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
3459 all_local_syms.
3460 (get_local_syms): Delete function.
3461 (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
3462 on exit.
3463 (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
3464
b3212001
JW
34652002-07-05 Jim Wilson <wilson@redhat.com>
3466
3467 * syms.c (decode_section_type): New.
3468 (bfd_decode_symclass): Call decode_section_type.
3469
894bb1ee
JJ
34702002-07-04 Jakub Jelinek <jakub@redhat.com>
3471
3472 * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
3473 section content start.
3474 Reported by Michael Schumacher <mike@hightec-rt.com>.
3475
bc0ba537
AM
34762002-07-04 Alan Modra <amodra@bigpond.net.au>
3477
3478 * section.c (_bfd_strip_section_from_output): Remove unnecessary
3479 link order code. Don't actually remove the output section here;
3480 Just set a flag for the linker to do so.
3481 * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
3482 sections when setting up output section dynsyms.
3483
797fc050
AM
34842002-07-04 Alan Modra <amodra@bigpond.net.au>
3485
3486 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
3487 fudge.
3488 * elf.c (bfd_section_from_shdr): Work around broken hpux shared
3489 libs here instead.
3490
99881371
MS
34912002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
3492
3493 * elf64-s390.c (create_got_section): Set .got section alignment to
3494 8 bytes.
3495 (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
3496
47d9a591
AM
34972002-07-02 Alan Modra <amodra@bigpond.net.au>
3498
3499 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
3500
179d3252
JT
35012002-07-01 Matt Thomas <matt@3am-software.com>
3502
3503 * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
3504 to EF_VAX_*.
3505
4a14403c
TS
35062002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3507
3508 * elfxx-mips.c (ABI_64_P): Fix comment.
3509 (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
3510 new section names for N64 ABI.
3511 (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
3512 (mips_elf_calculate_relocation): Code formatting.
3513 (mips_elf_create_dynamic_relocation): Likewise.
3514 (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
3515 (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
3516 (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
3517 in any NewABI.
3518 (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
3519 for NewABI.
3520 (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
3521 (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
3522 here, too.
3523
607c0e09
AS
35242002-07-01 Andreas Schwab <schwab@suse.de>
3525
3526 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
3527 R_X86_64_64 to R_X86_64_RELATIVE.
3528
ba26fd96
AM
35292002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
3530
3531 * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
3532 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
3533 Run "make dep-am".
3534 * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
3535 host_aout_vec.
3536 * configure.in (vaxbsd_vec): Add.
3537 * targets.c (vaxbsd_vec): Add.
3538 * Makefile.in: Rebuild.
3539 * configure: Rebuild.
3540 * po/SRC-POTFILES.in: Rebuild.
3541
1e2f5b6e
AM
35422002-07-01 Alan Modra <amodra@bigpond.net.au>
3543
3544 * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
3545 examining to gc_mark_hook, rather than the bfd.
3546 (elf_gc_sections): Adjust.
3547 * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
3548 * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
3549 * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
3550 * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
3551 * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
3552 * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
3553 * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
3554 * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
3555 * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
3556 * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
3557 * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
3558 * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
3559 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
3560 * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
3561 * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
3562 * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
3563 * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
3564 * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
3565 * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
3566 * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
3567 * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
3568 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
3569 * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
3570 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
3571 * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
3572 * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
3573 * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
3574 * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
3575 redundant local sym tests.
3576 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
3577 (link_hash_newfunc): Init is_entry.
3578 (ppc64_elf_copy_indirect_symbol): Copy is_entry.
3579 (ppc64_elf_link_hash_table_create): Init all_local_syms.
3580 (create_linkage_sections): Use bfd_make_section_anyway rather than
3581 bfd_make_section.
3582 (ppc64_elf_mark_entry_syms): New function.
3583 (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
3584 up opd entry to function section map.
3585 (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
3586 relocs that reference the opd section.
3587 (edit_opd): New function.
3588 (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
3589 (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
3590 (get_local_syms): Do so here. Exit if we already have local syms.
3591 Remove bogus comment imported from elf32-hppa.c. Don't attempt to
3592 read local syms on non-ELF input.
3593 (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
3594 than duplicating it's function here. Adjust free of internal
3595 relocs to suit.
3596 (ppc64_elf_relocate_section): Adjust local syms in opd section.
3597 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
3598 * elf32-hppa.c (elf32_hppa_size_stubs): Call
3599 _bfd_elf32_link_read_relocs rather than duplicating it's function
3600 here. Adjust free of internal relocs to suit.
3601
1b71fb54
AJ
36022002-07-01 Andreas Jaeger <aj@suse.de>
3603
3604 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
3605 are not allowed in shared libs code, enforce -fPIC.
3606
8d28f606
HPN
36072002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
3608
3609 * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
3610 trailing zero-sequences when there's previous left-over data.
3611
5ac81c74
JL
36122002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
3613
3614 * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
3615 (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
3616 and opd_rel_sec in order for starting rela section. Check _raw_size.
3617 (elf_backend_reloc_type_class): Define.
3618
91a4d569
AM
36192002-06-27 Kevin Buettner <kevinb@redhat.com>
3620
3621 * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
3622 DWARF2 formats.
3623
feee612b
AM
36242002-06-27 Alan Modra <amodra@bigpond.net.au>
3625
3626 * cpu-powerpc.c: Comment on ordering of arch_info.
3627 * elf32-ppc.c (ppc_elf_object_p): New function.
3628 (elf_backend_object_p): Define.
3629 * elf64-ppc.c (ppc64_elf_object_p): New function.
3630 (elf_backend_object_p): Define.
3631
a4e6cefc
JT
36322002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
3633
3634 * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
3635 * configure: Regenerate.
3636
dae2dd0d
NC
36372002-06-25 Jason Eckhardt <jle@rice.edu>
3638
3639 * dwarf2.c (decode_line_info): Check unit->addr_size
3640 to read in the proper number of prologue bytes.
3641
680f9d5c
NC
36422002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
3643
3644 * config.bfd (powerpc-*-aix5*): Only create a selvecs for
3645 aix5coff64_vec if 64-bit bfd support has been enabled.
91a4d569
AM
3646 (powerpc64-*-aix5*): Only define if 64-bit bfd support has
3647 been enabled.
dae2dd0d 3648
680f9d5c
NC
3649 * targets.c (_bfd_target_vector[]): Only include
3650 aix5coff64_vec if 64-bit bfd support has been enabled.
3651
d4c88bbb
AM
36522002-06-25 Alan Modra <amodra@bigpond.net.au>
3653
3654 * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
3655 * elf32-hppa.c (hppa_add_stub): Likewise.
3656 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
3657 * elflink.h (elf_add_default_symbol): Fix comment typo.
3658 (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
3659 (elf_link_add_object_symbols): Likewise.
3660 (elf_link_assign_sym_version): Likewise.
3661 * hash.c (bfd_hash_lookup): Likewise.
3662 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
3663 * section.c (bfd_get_unique_section_name): Likewise.
3664 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
3665 * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
3666 (assign_section_numbers): Likewise.
3667 (_bfd_elfcore_make_pseudosection): Likewise.
3668 (elfcore_grok_lwpstatus): Likewise.
3669 (elfcore_grok_win32pstatus): Likewise.
3670 (elfcore_write_note): Constify input params. Use PTR instead of
3671 void *. Include terminating NUL in namesz. Correct padding.
3672 Support NULL "name" param. Use memcpy instead of strcpy.
3673 (elfcore_write_prpsinfo): Constify input params.
3674 (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
3675 (elfcore_write_lwpstatus): Likewise.
3676 (elfcore_write_pstatus): Likewise.
3677 (elfcore_write_prfpreg): Likewise.
3678 (elfcore_write_prxfpreg): Likewise.
3679 * elf-bfd.h (elfcore_write_note): Update declaration.
3680 (elfcore_write_prpsinfo): Likewise.
3681 (elfcore_write_prstatus): Likewise.
3682 (elfcore_write_pstatus): Likewise.
3683 (elfcore_write_prfpreg): Likewise.
3684 (elfcore_write_prxfpreg): Likewise.
3685 (elfcore_write_lwpstatus): Likewise.
3686
b0ac09d2
NC
36872002-06-25 Jason Eckhardt <jle@rice.edu>
3688
3689 * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
3690 symbols of type stProc and stStaticProc.
3691
36922002-06-25 Nick Clifton <nickc@redhat.com>
3693
3694 * ecoff.c: VArious formatting fixes.
3695
021d6096
AM
36962002-06-25 Alan Modra <amodra@bigpond.net.au>
3697
3698 * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
3699
82e51918
AM
37002002-06-25 Alan Modra <amodra@bigpond.net.au>
3701
3702 * aout-adobe.c: Don't compare against "true" or "false.
3703 * aout-target.h: Likewise.
3704 * aoutx.h: Likewise.
3705 * archive.c: Likewise.
3706 * bout.c: Likewise.
3707 * cache.c: Likewise.
3708 * coff-a29k.c: Likewise.
3709 * coff-alpha.c: Likewise.
3710 * coff-i386.c: Likewise.
3711 * coff-mips.c: Likewise.
3712 * coff-or32.c: Likewise.
3713 * coff64-rs6000.c: Likewise.
3714 * coffcode.h: Likewise.
3715 * coffgen.c: Likewise.
3716 * cpu-ns32k.c: Likewise.
3717 * ecoff.c: Likewise.
3718 * ecofflink.c: Likewise.
3719 * elf.c: Likewise.
3720 * elf32-arm.h: Likewise.
3721 * elf32-cris.c: Likewise.
3722 * elf32-d30v.c: Likewise.
3723 * elf32-i386.c: Likewise.
3724 * elf32-mcore.c: Likewise.
3725 * elf32-ppc.c: Likewise.
3726 * elf32-sh.c: Likewise.
3727 * elf32-sh64.c: Likewise.
3728 * elf32-v850.c: Likewise.
3729 * elf64-alpha.c: Likewise.
3730 * elf64-sh64.c: Likewise.
3731 * elfcode.h: Likewise.
3732 * elfcore.h: Likewise.
3733 * elflink.h: Likewise.
3734 * elfxx-mips.c: Likewise.
3735 * i386os9k.c: Likewise.
3736 * ieee.c: Likewise.
3737 * libbfd.c: Likewise.
3738 * linker.c: Likewise.
3739 * mmo.c: Likewise.
3740 * nlm32-alpha.c: Likewise.
3741 * nlm32-i386.c: Likewise.
3742 * nlm32-ppc.c: Likewise.
3743 * nlm32-sparc.c: Likewise.
3744 * nlmcode.h: Likewise.
3745 * oasys.c: Likewise.
3746 * pdp11.c: Likewise.
3747 * peicode.h: Likewise.
3748 * reloc.c: Likewise.
3749 * som.c: Likewise.
3750 * srec.c: Likewise.
3751 * tekhex.c: Likewise.
3752 * vms.c: Likewise.
3753 * xcofflink.c: Likewise.
3754 * elf64-sparc.c: Edit comment to not use "== false".
3755
3756 * aoutf1.h: Don't use "? true : false".
3757 * ecoff.c: Likewise.
3758 * format.c: Likewise.
3759 * ieee.c: Likewise.
3760 * linker.c: Likewise.
3761 * mmo.c: Likewise.
3762 * oasys.c: Likewise.
3763
48fc70a2
AM
37642002-06-23 H.J. Lu <hjl@gnu.org>
3765
3766 * elflink.h (elf_link_add_archive_symbols): For the default
3767 version, check references with only one `@' first.
3768
47b7c2db
AM
37692002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
3770
3771 * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
3772 function.
3773 (allocate_global_data_dlt): Don't add millicode symbols to dynamic
3774 symbol table.
3775 (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
3776 (elf64_hppa_size_dynamic_sections): Revise to use
3777 elf64_hppa_mark_milli_and_exported_functions.
3778 (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
3779 symbols out of dynamic symbol table.
3780
f5d44ba0
AM
37812002-06-23 Alan Modra <amodra@bigpond.net.au>
3782
bb3fff1e
AM
3783 * Makefile.in: Regenerate.
3784 * libbfd.h: Regenerate.
3785 * bfd-in2.h: Regenerate.
3786 * configure: Regenerate.
3787 * po/SRC-POTFILES.in: Regenerate.
3788
f5d44ba0
AM
3789 * elflink.h: Comment typo fixes.
3790
37912002-06-23 H.J. Lu <hjl@gnu.org>
3792
3793 * elf-bfd.h (elf_link_loaded_list): New structure.
3794 (elf_link_hash_table): Add "loaded".
3795 * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
3796 * elflink.h (elf_link_check_versioned_symbol): New function.
3797 (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
3798
cc36acdf
NC
37992002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
3800
3801 * elflink.h (size_dynamic_sections): If the target does not
f5d44ba0 3802 support an ELF style hash table, return true, indicating that
cc36acdf
NC
3803 nothing needed to be done, rather than false, indicating that the
3804 section's size could not be computed.
3805
4e5ba5b7
DB
38062002-06-18 Dave Brolley <brolley@redhat.com>
3807
3808 From Catherine Moore, Michael Meissner, Dave Brolley:
3809 * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
3810 * targets.c: Support bfd_elf32_frv_vec.
3811 * reloc.c: Add FRV relocs.
3812 * configure.in: Add support for bfd-elf32-frv-vec.
3813 * config.bfd (targ_cpu): Add support for frv-*-elf.
3814 * archures.c: Add frv arch and machines.
3815 * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
3816 (ALL_MACHINES_CFILES): Add cpu-frv.c.
3817 (BFD32_BACKENDS): Add elf32-frv.lo.
3818 (BFD32_BACKENDS_CFILES): Add elf32-frv.c
3819 (cpu-frv.lo): New target.
3820 (elf32-frv.lo): New target.
3821 * cpu-frv.c: New file.
3822 * elf32-frv.c: New file.
3823
7ece0d85
JJ
38242002-06-18 Jakub Jelinek <jakub@redhat.com>
3825
3826 * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
3827 e_shnum == 0.
3828 Only read the first section header if e_shoff is non-zero.
3829 Don't consider e_shstrndx if there are no sections.
3830
57fb03ac
TR
38312002-06-17 Tom Rix <trix@redhat.com>
3832
3833 * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
f5d44ba0 3834 R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
57fb03ac
TR
3835 complain_overflow_bitfield.
3836
341ca622
AM
38372002-06-17 Alan Modra <amodra@bigpond.net.au>
3838
767e34d1
AM
3839 * opncls.c (bfd_openr): Remove redundant bfd_set_error.
3840 (bfd_fdopenr): Likewise.
3841 (bfd_openstreamr): Likewise.
3842 (bfd_openw): Likewise.
3843
341ca622
AM
3844 * targets.c: Sort target vecs.
3845 (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
3846 bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
3847 bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
3848 bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
3849 * configure.in: Sort target vecs. Add m88kmach3_vec.
3850 * configure: Regenerate.
3851
dfbbae4c
HPN
38522002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
3853
3854 * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
3855 bpo_reloc_no to break sort order ties, not address of items.
3856
d663e1cd
JL
38572002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3858
3859 * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
3860 Skip excluded sections in determing __gp value.
3861 (elf_hppa_final_link_relocate): Use the symbol's address in
3862 R_PARISC_FPTR64 relocations that don't need an opd entry.
3863 * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
3864 (elf64_hppa_finalize_dynreloc): Likewise.
3865 (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
3866 (elf64_hppa_finish_dynamic_symbol): Break up assert.
3867
a8295218
NC
38682002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
3869
3870 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
3871 alignment for .bss, .data and .text sections so that sse and sse2
3872 code will work.
3873 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
3874
38752002-06013 J"orn Rennecke <joern.rennecke@superh.com>
5d9b5481
JR
3876
3877 config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
3878 sh[1234]*-elf*.
3879
3db4b612
JL
38802002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
3881
2cb69dd3
JL
3882 * elflink.h (elf_bfd_final_link): Improve error handling for missing
3883 dynamic sections.
3884
3db4b612
JL
3885 * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
3886 for a symbol that has no output section.
3887 (allocate_dynrel_entries): Correct comment.
3888 (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
3889 unless we want one.
3890 (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
3891 (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
3892 with no section. Remove unnecessary parentheses.
3893
f3813499
TR
38942002-06-11 Tom Rix <trix@redhat.com>
3895
3896 * coffcode.h (coff_compute_section_file_positions): Add data
3897 section to AIX loader alignment check.
3898
f5d44ba0 3899 * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
f3813499
TR
3900 alignment to 4 bytes.
3901 (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
3902 power accessor macro.
3903 (do_shared_object_padding): Remove invalid assertion.
3904
0ebaf185
RS
39052002-06-10 Richard Sandiford <rsandifo@redhat.com>
3906
3907 * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
3908 for removed output sections.
3909
ebe3e2d1
NC
39102002-06-10 Geoffrey Keating <geoffk@redhat.com>
3911
3912 * merge.c (merge_strings): Use htab_create_alloc with calloc, not
3913 htab_alloc.
3914 * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
3915
0b14c2aa
L
39162002-06-08 H.J. Lu <hjl@gnu.org>
3917
3918 * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
3919 work around a long long bug in gcc 2.96 on mips.
3920
3c2bfad6
JT
39212002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
3922
3923 * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
3924 (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
3925 Regenerate dependency lists.
3926 * Makefile.in: Regenerate.
3927 * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
3928 vax1knetbsd_vec to targ_selvecs.
3929 * configure.in: Add vax1knetbsd_vec.
3930 * configure: Regenerate.
3931 * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
3932 * vax1knetbsd.c: New file.
3933 * vaxnetbsd.c: Update copyright years.
3934 (TARGET_PAGE_SIZE): Set to 0x1000.
3935 (DEFAULT_MID): Set to M_VAX4K_NETBSD.
3936
91149be3
JT
39372002-06-08 Matt Thomas <matt@3am-software.com>
3938
3939 * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
3940
21e15248
AM
39412002-06-08 Alan Modra <amodra@bigpond.net.au>
3942
3943 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
3944
986b7daa
AM
39452002-06-08 Alan Modra <amodra@bigpond.net.au>
3946
e90b95f6
AM
3947 * Makefile.am: Run "make dep-am".
3948 * Makefile.in: Regenerate.
3949
3f9c735e
AM
3950 * armnetbsd.c: Replace CONST with const.
3951 * corefile.c: Likewise.
3952 * elf32-dlx.c: Likewise.
3953 * elf64-mips.c: Likewise.
3954 * mmo.c: Likewise.
3955 * ns32knetbsd.c: Likewise.
3956
986b7daa
AM
3957 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
3958 table is elf64-sparc.
3959
5a659663
TS
39602002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3961
3962 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
3963 Fix RELA addends to get not shifted in the result. Don't do special
3964 handling of R_MIPS_64 for NewABI.
3965
9bab7074
AM
39662002-06-07 Alan Modra <amodra@bigpond.net.au>
3967
3968 * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
3969 (NAME(aout,slurp_reloc_table)): Likewise.
3970 * coff-mips.c (mips_relax_section): Use bfd_zalloc.
3971 * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
3972 (xcoff_write_archive_contents_big): Likewise.
3973 (xcoff_generate_rtinit): Likewise.
3974 (xcoff_generate_rtinit): Likewise, and check error return.
3975 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
3976 * coffgen.c (coff_section_symbol): Use bfd_zalloc.
3977 (coff_get_normalized_symtab): Likewise.
3978 (coff_make_empty_symbol): Likewise.
3979 (bfd_coff_set_symbol_class): Likewise.
3980 * cofflink.c (coff_link_add_symbols): Likewise.
3981 * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
3982 * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
3983 (bfd_ecoff_write_accumulated_debug): Likewise.
3984 * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
3985 * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
3986 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
3987 * ieee.c (do_with_relocs): Use bfd_zalloc.
3988 * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
3989 * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
3990 (NAME(aout,slurp_reloc_table)): Likewise.
3991 (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
3992 * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
3993 * som.c (som_build_and_write_symbol_table): Likewise.
3994 (som_slurp_string_table): Likewise.
3995 (som_slurp_symbol_table): Likewise.
3996 (som_bfd_ar_write_symbol_stuff): Likewise.
3997 * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
3998 * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
3999 * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
4000 * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
4001 * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
4002
1126897b
AM
40032002-06-07 Alan Modra <amodra@bigpond.net.au>
4004
4005 * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
4006 "group" union.
4007 (elf_group_name): Update.
4008 (elf_group_id): Define.
4009 (bfd_elf_set_group_contents): Declare.
4010 * elf.c (elf_fake_sections): Qualify use of elf_group_name.
4011 (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
4012 ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
4013 that sym for the signature.
4014 (_bfd_elf_compute_section_file_positions): Don't call
4015 set_group_contents for "ld -r" case.
4016 (swap_out_syms): Use bfd_zalloc.
4017 * elflink.h (elf_link_add_archive_symbols): Likewise.
4018 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
4019 (elf_bfd_final_link): Call bfd_elf_set_group_contents.
4020
3fad3c7c
AM
40212002-06-07 Alan Modra <amodra@bigpond.net.au>
4022
4023 * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
4024 relocs in opd for non-shared too.
4025
10f469bf 40262002-06-06 Jeffrey Law <law@redhat.com>
76f99c63
JL
4027
4028 * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
4029 relocations.
4030
7217313c
NC
40312002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
4032
4033 * merge.c: Include libiberty.h.
4034 * elf-strtab.c: Include libiberty.h.
4035
6cb22815
AM
40362002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
4037
4038 * peXXigen.c (pe_print_idata): Remove unused variable.
4039
1ed89aa9
NC
40402002-06-06 David Heine <dlheine@tensilica.com>
4041
4042 * elf.c (assign_file_positions_for_segments): Remove unallocated
4043 sections from the section to segment mapping for PT_LOAD segments.
4044 Update comment about empty loadable segments.
4045
644c4c80
RS
40462002-06-06 Richard Sandiford <rsandifo@redhat.com>
4047
4048 * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
4049 is within the .stabstr section.
4050
f8ecb12b
AM
40512002-06-06 Alan Modra <amodra@bigpond.net.au>
4052
4053 * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
4054 are "const PTR", not "const PTR *".
4055 (bfd_elf32_swap_symbol_in): Likewise.
4056 (bfd_elf64_swap_symbol_in): Likewise.
4057 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
4058 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
4059 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
4060 (elf_link_add_object_symbols): Likewise.
4061 (elf_link_record_local_dynamic_symbol): Likewise.
4062 (elf_link_input_bfd): Likewise.
4063 (elf_gc_mark): Likewise.
4064 (elf_reloc_symbol_deleted_p): Likewise.
4065 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
4066 (mn10200_elf_relax_delete_bytes): Likewise.
4067 (mn10200_elf_symbol_address_p): Likewise.
4068 (mn10200_elf_get_relocated_section_contents): Likewise.
4069 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
4070 (mn10300_elf_relax_section): Likewise.
4071 (mn10300_elf_relax_delete_bytes): Likewise.
4072 (mn10300_elf_symbol_address_p): Likewise.
4073 (mn10300_elf_get_relocated_section_contents): Likewise.
4074 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
4075 (elf32_h8_relax_delete_bytes): Likewise.
4076 (elf32_h8_symbol_address_p): Likewise.
4077 (elf32_h8_get_relocated_section_contents): Likewise.
4078 * elf32-hppa.c (get_local_syms): Likewise.
4079 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
4080 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
4081 * elf32-sh.c (sh_elf_relax_section): Likewise.
4082 (sh_elf_relax_delete_bytes): Likewise.
4083 (sh_elf_get_relocated_section_contents): Likewise.
4084 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
4085 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
4086 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
4087 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
4088 * elf64-ppc.c (get_local_syms): Likewise.
4089 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
4090 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
4091
1ed89aa9 40922002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
7a33bc10
JR
4093
4094 * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
4095
73ff0d56
AM
40962002-06-05 Alan Modra <amodra@bigpond.net.au>
4097
9dce4196
AM
4098 * elf.c (group_signature): Swap in the whole symbol, and handle
4099 extracting section symbol names.
4100 (setup_group): Add comment.
4101 (set_group_contents): When called from objcopy or ld, arrange for
4102 section contents to be written. Write group member output section
4103 indices to allow objcopy to reorganize sections.
4104 (_bfd_elf_copy_private_section_data): Copy group info.
4105
73ff0d56
AM
4106 * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
4107 (bfd_elf32_swap_symbol_in): Update prototype.
4108 (bfd_elf64_swap_symbol_in): Likewise.
4109 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
4110 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
4111 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
4112 (elf_link_add_object_symbols): Likewise.
4113 (elf_link_record_local_dynamic_symbol): Likewise.
4114 (elf_link_input_bfd): Likewise.
4115 (elf_gc_mark): Likewise.
4116 (elf_reloc_symbol_deleted_p): Likewise.
4117 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
4118 (mn10200_elf_relax_delete_bytes): Likewise.
4119 (mn10200_elf_symbol_address_p): Likewise.
4120 (mn10200_elf_get_relocated_section_contents): Likewise.
4121 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
4122 (mn10300_elf_relax_section): Likewise.
4123 (mn10300_elf_relax_delete_bytes): Likewise.
4124 (mn10300_elf_symbol_address_p): Likewise.
4125 (mn10300_elf_get_relocated_section_contents): Likewise.
4126 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
4127 (elf32_h8_relax_delete_bytes): Likewise.
4128 (elf32_h8_symbol_address_p): Likewise.
4129 (elf32_h8_get_relocated_section_contents): Likewise.
4130 * elf32-hppa.c (get_local_syms): Likewise.
4131 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
4132 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
4133 * elf32-sh.c (sh_elf_relax_section): Likewise.
4134 (sh_elf_relax_delete_bytes): Likewise.
4135 (sh_elf_get_relocated_section_contents): Likewise.
4136 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
4137 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
4138 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
4139 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
4140 * elf64-ppc.c (get_local_syms): Likewise.
4141 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
4142 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
4143 * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
4144 * elf64-alpha.c (alpha_elf_size_info): Likewise.
4145 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
4146 * elf64-mips.c (mips_elf64_size_info): Likewise.
4147 * elf64-s390.c (s390_elf64_size_info): Likewise.
4148 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
4149
53bfd6b4
MR
41502002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4151
4152 * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
4153 elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
4154 elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
4155 _bfd_mips_elf_ignore_discarded_relocs.
4156 elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
4157
d4df96e6
L
41582002-06-05 H.J. Lu <hjl@gnu.org>
4159
4160 * elfxx-mips.c (mips_elf_calculate_relocation): Call
4161 _bfd_elf_rel_local_sym for STT_SECTION relocations against
4162 the SEC_MERGE section.
4163
e61463e1
AM
41642002-06-05 Alan Modra <amodra@bigpond.net.au>
4165
3cac74d0
AM
4166 * coff-alpha.c: Update copyright date.
4167 * coff-mips.c: Likewise.
4168 * xcoff-target.h: Likewise.
4169
e61463e1
AM
4170 * bfd-in.h: Remove "taken from the source" comment.
4171 * libbfd-in.h: Likewise.
4172 * libcoff-in.h: Likewise.
4173 * bfd-in2.h: Regenerate.
4174 * libbfd.h: Regenerate.
4175 * libcoff.h: Regenerate.
4176
4177 * elf.c (bfd_elf_discard_group): Return true.
4178 * elf-bfd.h (bfd_elf_discard_group): Declare.
4179 * bfd-in.h (bfd_elf_discard_group): Don't declare here.
4180 * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
4181 * bfd.c (bfd_discard_group): Define.
4182 * targets.c (struct bfd_target): Add _bfd_discard_group.
4183 (BFD_JUMP_TABLE_LINK): Here too.
4184 * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
4185 * aout-adobe.c (aout_32_bfd_discard_group): Define.
4186 * aout-target.h (MY_bfd_discard_group): Define.
4187 * aout-tic30.c (MY_bfd_discard_group): Define.
4188 * binary.c (binary_bfd_discard_group): Define.
4189 * bout.c (b_out_bfd_discard_group): Define.
4190 * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
4191 * coffcode.h (coff_bfd_discard_group): Define.
4192 * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
4193 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
4194 * i386msdos.c (msdos_bfd_discard_group): Define.
4195 * i386os9k.c (os9k_bfd_discard_group): Define.
4196 * ieee.c (ieee_bfd_discard_group): Define.
4197 * ihex.c (ihex_bfd_discard_group): Define.
4198 * mmo.c (mmo_bfd_discard_group): Define.
4199 * nlm-target.h (nlm_bfd_discard_group): Define.
4200 * oasys.c (oasys_bfd_discard_group): Define.
4201 * ppcboot.c (ppcboot_bfd_discard_group): Define.
4202 * som.c (som_bfd_discard_group): Define.
4203 * srec.c (srec_bfd_discard_group): Define.
4204 * tekhex.c (tekhex_bfd_discard_group): Define.
4205 * versados.c (versados_bfd_discard_group): Define.
4206 * vms.c (vms_bfd_discard_group): Define.
4207 * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
4208 * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
4209 (aix5coff64_vec): Likewise.
4210 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
4211
9cba27b2
JT
42122002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
4213
4214 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
4215 (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
4216 (elf32-sh64-com.lo): New dependency list.
4217 * Makefile.in: Regenerate.
4218 * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
4219 (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
4220 elf32-sh64-com.lo.
4221 * configure: Regenerate.
4222 * elf32-sh64.c (sh64_address_in_cranges)
4223 (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
4224 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
4225 (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
4226 * elf32-sh64-com.c: ...here. New file.
4227
8d2c33be
AM
42282002-06-04 Alan Modra <amodra@bigpond.net.au>
4229
4230 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
4231 ATTRIBUTE_UNUSED on used params.
4232 * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
4233 before calling bfd_section_from_elf_index on local syms.
4234 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
4235
5b0e55b6
JT
42362002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
4237
4238 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
4239 (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
4240 (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
4241 (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
4242 (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
4243 * Makefile.in: Regenerate.
4244 * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
4245 (sh64-*-netbsd*): New targets.
4246 * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
4247 bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
4248 * configure: Regenerate.
4249 * elf32-sh64-nbsd.c: New file.
4250 * elf64-sh64-nbsd.c: New file.
4251 * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
4252 bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
4253 bfd_elf64_sh64lnbsd_vec.
4254
b885599b
AM
42552002-06-04 Alan Modra <amodra@bigpond.net.au>
4256
4257 * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
4258 (bfd_section_from_shdr): Likewise. Set section name of group
4259 sections from signature.
4260 (group_signature): Split out from setup_group. Ensure symbol table
4261 is available.
4262 (bfd_elf_discard_group): New function.
4263 (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
4264 .gnu.linkonce* sections if they are members of a group.
4265 (set_group_contents): Set GRP_COMDAT flag.
4266 * section.c (bfd_discard_group): New function.
4267 * bfd-in.h (bfd_elf_discard_group): Declare.
4268 * bfd-in2.h: Regenerate.
4269 * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
4270 (elf_linkonce_p): Define.
4271
90937f86
AM
42722002-06-04 Alan Modra <amodra@bigpond.net.au>
4273
4274 * elf.c (bfd_section_from_shdr): Make "name" const.
4275 * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
4276 * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
4277 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
4278 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
4279 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
4280 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
4281 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
4282 * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
4283 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
4284 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
4285 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
4286
cf6fb9ce
MR
42872002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4288
4289 * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
4290 ABI.
4291
cedb70c5
KH
42922002-06-02 Kazu Hirata <kazu@cs.umass.edu>
4293
4294 * elf32-arc.c: Fix formatting.
4295 * elf32-arm.h: Likewise.
4296 * elf32-cris.c: Likewise.
4297 * elf32-dlx.c: Likewise.
4298 * elf32-hppa.c: Likewise.
4299 * elf32-i386.c: Likewise.
4300 * elf32-i386qnx.c: Likewise.
4301 * elf32-or32.c: Likewise.
4302 * elf32-s390.c: Likewise.
4303 * elf32-sh64.c: Likewise.
4304 * elf32-vax.c: Likewise.
4305 * elf32-xstormy16.c: Likewise.
4306 * elf64-alpha.c: Likewise.
4307 * elf64-mmix.c: Likewise.
4308 * elf64-ppc.c: Likewise.
4309 * elf64-s390.c: Likewise.
4310 * elf64-sh64.c: Likewise.
4311 * elf64-x86-64.c: Likewise.
4312
048d873d
RH
43132002-06-02 Richard Henderson <rth@redhat.com>
4314
4315 * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
4316 null when there are no got entries for a symbol.
4317 (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
4318 uninitialized variable warning.
4319
4a67a098
RH
43202002-06-01 Richard Henderson <rth@redhat.com>
4321
4322 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
4323 undefined symbols here.
4324 (elf64_alpha_relax_section): Do it here. Also test for not
4325 defined in the current module.
4326 (elf64_alpha_relocate_section_r): Split out of ...
4327 (elf64_alpha_relocate_section): ... here. Don't dereference
4328 NULL when looking up local got entries.
4329
f44f99a5
RH
43302002-06-01 Richard Henderson <rth@redhat.com>
4331
4332 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
4333 symbols from JSR relaxation.
4334 (elf64_alpha_size_plt_section_1): New.
4335 (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
4336 (elf64_alpha_size_rela_got_1): ... here.
4337 (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
4338 (elf64_alpha_size_rela_got_section): ... here.
4339 (elf64_alpha_size_plt_section): New.
4340 (elf64_alpha_relax_section): Call them.
4341 (elf64_alpha_size_got_sections): Remove output_bfd arg.
4342 (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
4343
9e756d64
RH
43442002-06-01 Richard Henderson <rth@redhat.com>
4345
4346 * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
4347 (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
4348 in shared libraries. Fix DTPRELHI and TPRELHI value.
4349 (INSN_ADDQ, INSN_RDUNIQ): New.
4350 (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
4351 (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
4352 argument. Reject dynamic symbols. Use LITUSE symbolic constants.
4353 (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
4354 Handle GOTDTPREL and GOTTPREL relocations.
4355 (elf64_alpha_relax_gprelhilo): New.
4356 (elf64_alpha_relax_tls_get_addr): New.
4357 (elf64_alpha_relax_find_tls_segment): New.
4358 (elf64_alpha_relax_section): Handle TLS relocations.
4359 (ALPHA_ELF_LINK_HASH_TLS_IE): New.
4360 (elf64_alpha_check_relocs): Set it.
4361
c853d7f6
RH
43622002-06-01 Richard Henderson <rth@redhat.com>
4363
b646261c
RH
4364 * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
4365
c853d7f6
RH
4366 * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
4367 check; don't suppress dynamic relocs for non-allocated sections.
4368
d7e41a96
RH
4369 * elf64-alpha.c: Remove dead code.
4370
5f333394
AM
43712002-05-31 Alan Modra <amodra@bigpond.net.au>
4372
08e0ee05
AM
4373 * bfd-in2.h: Regenerate.
4374 * libbfd.h: Regenerate.
4375 * po/SRC-POTFILES.in: Regenerate.
4376
5f333394
AM
4377 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
4378 space for bss .plt.
4379
caf47ea6
AM
43802002-05-31 Graeme Peterson <gp@qnx.com>
4381
4382 * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
4383 (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
4384 Run "make dep-am".
4385 * Makefile.in: Regenerate.
4386 * config.bfd: Add i[3456]86-*-nto-qnx* support.
4387 * configure.in: Add bfd_elf32_i386qnx_vec support.
4388 * configure: Regenerate.
4389 * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
4390 is_contained_by_filepos, and copy_private_bfd_data_p.
4391 * elf.c (assign_file_positions_for_segments): Call backend
4392 set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
4393 (IS_CONTAINED_BY_FILEPOS): Define.
4394 (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
4395 (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
4396 Fix non-K&R call to _bfd_error_handler.
4397 (_bfd_elf_copy_private_section_data): Use backend
4398 copy_private_bfd_data_p.
4399 * elf32-i386.c: Don't include elfxx-target.h when
4400 ELF32_I386_C_INCLUDED is defined.
4401 * elf32-i386qnx.c: New QNX elf backend file.
4402 * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
4403 elf_backend_is_contained_by_filepos, and
4404 elf_backend_do_copy_private_bfd_data.
4405 * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
4406
5bc56484
AM
44072002-05-31 Alan Modra <amodra@bigpond.net.au>
4408
4409 * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
4410 Move other similar defines to start of file.
4411
1b164155
TR
44122002-05-30 Tom Rix <trix@redhat.com>
4413
4414 * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
4415 * coff64-rs6000.c (xcoff64_rtype2howto): Same.
4416
3765b1be
RH
44172002-05-30 Richard Henderson <rth@redhat.com>
4418
4419 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
4420 ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
4421 (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
4422 (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
4423 (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
4424 (struct alpha_elf_obj_tdata): Rename total_got_entries and
4425 n_local_got_entries to total_got_size and local_got_size.
4426 (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
4427 (alpha_got_entry_size): New.
4428 (elf64_alpha_relax_with_lituse): Use it.
4429 (elf64_alpha_relax_without_lituse): Likewise.
4430 (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
4431 (get_got_entry): New.
4432 (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
4433 (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
4434 (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
4435 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
4436 (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
4437 (elf64_alpha_calc_got_offsets): Likewise.
4438 (alpha_dynamic_entries_for_reloc): New.
4439 (elf64_alpha_calc_dynrel_sizes): Use it.
4440 (elf64_alpha_size_dynamic_sections): Likewise.
4441 (elf64_alpha_relocate_section): Handle TLS relocations.
4442 * reloc.c: Add Alpha TLS relocations.
4443 * bfd-in2.h, libbfd.h: Rebuild.
4444
5e226794
NC
44452002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
4446
4447 * peXXigen.c (pe_print_idata): Remove double printed
4448 import table lines; add Bound-To comment.
4449
90ace9e9
JT
44502002-05-29 Matt Thomas <matt@3am-software.com>
4451
4452 * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
4453 (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
4454 (elf32-vax.lo): New rule.
4455 * Makefile.in: Regenerate.
4456 * configure.in (bfd_elf32_vax_vec)
4457 (vaxnetbsd_vec): New vectors.
4458 * configure: Regenerate.
4459 * config.bfd (vax-*-netbsdelf*)
4460 (vax-*-netbsdaout*)
4461 (vax-*-netbsd*): New targets.
4462 * elf32-vax.c: New file.
4463 * reloc.c: Add VAX relocations.
4464 * bfd-in2.h: Regenerate.
4465 * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
4466
4a253e81
JT
44672002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4468
4469 * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
4470 and bfd_elf32_bigarm_vec to targ_selvecs.
4471
6e7c73dd
CF
44722002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
4473
4474 * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
4475 with auto-imported symbols.
4476
8afb0e02
NC
44772002-05-29 Adam Nemet <anemet@lnxw.com>
4478
4479 * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
4480 sections only record bfd.
9bab7074 4481 (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8afb0e02 4482 * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
9bab7074 4483 * bfd-in2.h: Regenerate.
8afb0e02 4484
a95653f5
NC
44852002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
4486
4487 * syms.c (_bfd_stab_section_find_nearest_line): Move
4488 declaration and initialisation of saw_line and saw_func out of
4489 for loop.
4490
7cdc5bba
AM
44912002-05-29 Alan Modra <amodra@bigpond.net.au>
4492
4493 * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
4494 (bfd_elf64_get_symbol_info): Define.
4495 * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
4496
4c7aad1c
AM
44972002-05-29 Andrey Volkov <avolkov@transas.com>
4498
4499 * cpu-h8300.c: Make default h8300 machine first in machine list.
4500
d172d4ba
NC
45012002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
4502
4503 * config.bfd: Added DLX configuraton.
4504 * Makefile.am: Added DLX configuraton.
4505 * configure.in: Added DLX configuraton.
4506 * archures.c: Add DLX architecure.
4507 * reloc.c: Add DLX relocs.
4508 * targets.c: Added DLX target vector.
4509 * configure: Regenerate.
4510 * Makefile.in: Regenreate.
4511 * bfd-in2.h: Regenreate.
4512 * elf32-dlx.c: New file: Support DLX target.
4513 * cpu-dlx.c: New file: Support DLX target.
4514
d1329ca3
AM
45152002-05-25 Alan Modra <amodra@bigpond.net.au>
4516
428d0de3
AM
4517 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
4518
d1329ca3
AM
4519 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
4520 (ppc64_elf_check_relocs): Don't set up function descriptor symbol
4521 strings to point inside function code sym string.
4522 (func_desc_adjust): Likewise.
4523 (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
4524
3bab7989
ML
45252002-05-24 Michal Ludvig <mludvig@suse.cz>
4526
4527 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
4528 (elf64_x86_64_grok_psinfo): Added.
4529
436e8db0
NC
45302002-05-24 TAMURA Kent <kent@netbsd.org>
4531
4532 * config.bfd: Add a target for i386-netbsdpe.
4533
ea1e4b0d
AM
45342002-05-24 Alan Modra <amodra@bigpond.net.au>
4535
4536 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
4537 and is_func_descriptor.
4538 (func_desc_adjust): Hide function code sym in shared libs unless
4539 there is a matching exported function descriptor sym.
4540
13ae64f3
JJ
45412002-05-23 Jakub Jelinek <jakub@redhat.com>
4542
4543 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
4544 for symbols from SHF_TLS section.
4545 (_bfd_elf_print_private_bfd_data): Add PT_TLS.
4546 (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
4547 (map_sections_to_segments): Build PT_TLS segment if necessary.
4548 (assign_file_positions_for_segments): Likewise.
4549 (get_program_header_size): Account for PT_TLS segment.
4550 (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
4551 SEC_THREAD_LOCAL sections to STT_TLS.
4552 * reloc.c: Add 386 and IA-64 TLS relocs.
4553 * section.c (SEC_THREAD_LOCAL): Define.
4554 (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
4555 Remove.
4556 * elflink.h (elf_link_add_object_symbols): Support .tcommon.
4557 (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
4558 unconditionally.
4559 (struct elf_final_link_info): Add first_tls_sec.
4560 (elf_bfd_final_link): Set first_tls_sec.
4561 Compute elf_hash_table (info)->tls_segment.
4562 (elf_link_output_extsym): Handle STT_TLS symbols.
4563 (elf_link_input_bfd): Likewise.
4564 * syms.c (BSF_THREAD_LOCAL): Define.
4565 * bfd-in2.h: Rebuilt.
4566 * libbfd.h: Rebuilt.
4567 * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
4568 elf_i386_mkobject, elf_i386_object_p): New functions.
4569 (elf_howto_table): Add TLS relocs.
4570 (elf_i386_reloc_type_lookup): Support TLS relocs.
4571 (elf_i386_info_to_howto_rel): Likewise.
4572 (struct elf_i386_link_hash_entry): Add tls_type.
4573 (struct elf_i386_obj_tdata): New.
4574 (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
4575 New macros.
4576 (struct elf_i386_link_hash_table): Add tls_ldm_got.
4577 (link_hash_newfunc): Clear tls_type.
4578 (elf_i386_check_relocs): Support TLS relocs.
4579 (elf_i386_gc_sweep_hook): Likewise.
4580 (allocate_dynrelocs): Likewise.
4581 (elf_i386_size_dynamic_sections): Likewise.
4582 (elf_i386_relocate_section): Likewise.
4583 (elf_i386_finish_dynamic_symbol): Likewise.
4584 (bfd_elf32_mkobject, elf_backend_object_p): Define.
4585 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
4586 dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
4587 want_tprel, want_dtpmod, want_dtprel.
4588 (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
4589 (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
4590 R_IA64_LTOFF_TPREL22.
4591 (elf_code_to_howto_index): Add TLS relocs.
4592 (elfNN_ia64_check_relocs): Support TLS relocs.
4593 (allocate_global_data_got): Account for TLS .got data.
4594 (allocate_dynrel_entries): Account for TLS dynamic relocations.
4595 (elfNN_ia64_install_value): Supprt TLS relocs.
4596 (set_got_entry): Support TLS relocs.
4597 (elfNN_ia64_relocate_section): Likewise.
4598
c62e1cc3
NC
45992002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
4600
4601 * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
4602 BLX reloc round the relocation up rather than down.
4603 * coff-arm.c (coff_arm_relocate_section): Likewise.
4604
c5a43a5d
L
46052002-05-21 H.J. Lu (hjl@gnu.org)
4606
4607 * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
4608 definition.
4609
afbe61cf
AM
46102002-05-22 Alan Modra <amodra@bigpond.net.au>
4611
4612 * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
4613 (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
4614
9c07fe7c
AM
46152002-05-22 Alan Modra <amodra@bigpond.net.au>
4616
4617 * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
4618 unresolved relocs.
4619 (ppc64_elf_size_dynamic_sections): Check for splt NULL.
4620
21611032
TS
46212002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4622
c5cd6d62 4623 * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
21611032
TS
4624 non-ELF targets.
4625
41241523
TS
46262002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4627
4628 * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
4629 an error value.
4630 * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
4631 return with false on error.
4632 (elf_link_input_bfd): Check reloc_emitter return value.
4633
658f2588
JT
46342002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
4635
4636 * config.bfd (armeb-*-netbsdelf*): New target.
4637
c862ae31
AM
46382002-05-20 Alan Modra <amodra@bigpond.net.au>
4639
4640 * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
4641 at the plt call stub.
4642
6dd14845
TS
46432002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4644
4645 * cpu-mips.c (mips_compatible): Don't try to check machine
4646 compatibility.
4647
a58d9c34
TR
46482002-05-18 Tom Rix <trix@redhat.com>
4649
4650 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
4651
ef60b7ff
AM
46522002-05-17 Alan Modra <amodra@bigpond.net.au>
4653
4654 * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
4655 (ppc64_elf_relocate_section): Don't warn about reloc overflow when
4656 we've already warned about an undefined symbol. Report more
4657 detail on reloc errors.
4658
a703a6ea
AM
46592002-05-17 Alan Modra <amodra@bigpond.net.au>
4660
4661 * acinclude.m4 (AM_INSTALL_LIBBFD): New.
4662 * configure.in: Invoke AM_INSTALL_LIBBFD.
4663 * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
4664 (install_libbfd): .. New target.
4665 (uninstall_libbfd): Likewise.
4666 (install-bfdlibLTLIBRARIES): Likewise.
4667 (uninstall-bfdlibLTLIBRARIES): Likewise.
4668 (bfdlibdir): New.
4669 (bfdincludedir): New.
4670 (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
4671 * aclocal.m4: Regenerate.
4672 * configure: Regenerate.
4673 * Makefile.in: Regenerate.
4674
2c13d98b
NC
46752002-05-17 Stuart Balfour <sbalfour@cisco.com>
4676
4677 * hash.c (bfd_hash_lookup): Remove computation of len from inside
4678 hash loop.
4679
629936c5
NC
46802002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
4681
4682 * config.bfd: Add targets for sh64-linux (little endian and
4683 big endian).
4684
e4cf60a8
NC
46852002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
4686
4687 * peXXigen.c (pe_print_idata): Do not assume that the first thunk
4688 is located in the same section as the import table. Instead
4689 check, and if necessary load the section containing the thunk.
4690
d1e66cd4
NC
46912002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
4692
4693 * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
ea1e4b0d
AM
4694 bfd_bread.
4695 (xcoff64_core_file_matches_executable_p): Replace bfd_read
4696 with bfd_bread.
d1e66cd4 4697
2d653fc7
AM
46982002-05-15 Alan Modra <amodra@bigpond.net.au>
4699
4700 * aix5ppc-core.c: Warning fixes.
4701 * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
4702 * aout-target.h (MY_bfd_link_just_syms): Define.
4703 * aout-tic30.c (MY_bfd_link_just_syms): Define.
4704 * bfd.c (bfd_link_just_syms): Define.
4705 * binary.c (binary_bfd_link_just_syms): Define.
4706 * bout.c (b_out_bfd_link_just_syms): Define.
4707 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
4708 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
4709 * coffcode.h (coff_bfd_link_just_syms): Define.
4710 * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
4711 (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
4712 (_bfd_elf_link_just_syms): Declare.
4713 * elf.c (_bfd_elf_link_just_syms): New function.
4714 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
4715 sections haven't already been discarded by the linker.
4716 * elflink.h (elf_link_add_object_symbols): Likewise for stab
4717 sections and SEC_MERGE sections.
4718 (elf_bfd_discard_info): Similarly here.
4719 * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
4720 * i386msdos.c (msdos_bfd_link_just_syms): Define.
4721 * i386os9k.c (os9k_bfd_link_just_syms): Define.
4722 * ieee.c (ieee_bfd_link_just_syms): Define.
4723 * ihex.c (ihex_bfd_link_just_syms): Define.
4724 * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
4725 (_bfd_generic_link_just_syms): Declare.
4726 * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
4727 * linker.c (_bfd_generic_link_just_syms): New function.
4728 * mmo.c (mmo_bfd_link_just_syms): Define.
4729 * nlm-target.h (nlm_bfd_link_just_syms): Define.
4730 * oasys.c (oasys_bfd_link_just_syms): Define.
4731 * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
4732 * som.c (som_bfd_link_just_syms): Define.
4733 * srec.c (srec_bfd_link_just_syms): Define.
4734 * targets.c (struct bfd_target): Add _bfd_link_just_syms.
4735 (BFD_JUMP_TABLE_LINK): And here.
4736 * tekhex.c (tekhex_bfd_link_just_syms): Define.
4737 * versados.c (versados_bfd_link_just_syms): Define.
4738 * vms.c (vms_bfd_link_just_syms): Define.
4739 * libbfd.h: Regenerate.
4740 * bfd-in2.h: Regenerate.
4741
cb7394f2
TS
47422002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4743
4744 * elf32-mips.c: Remove superfluous definitions copied from
4745 elfxx-mips.c.
4746 (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
4747 SGIish vectors to check the special case.
4748 (mips_elf_hi16_reloc): Fix comment.
4749 (mips_elf_got16_reloc): Likewise.
4750 (_bfd_mips_elf32_gprel16_reloc): Likewise.
4751 (elf_reloc_map): Code cleanup.
4752 (mips_reloc_map): Add comment.
4753 (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
4754 (mips_elf32_rtype_to_howto): Likewise.
4755 (mips_elf32_discard_info): Likewise.
4756 (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
4757 lead to IRIX compatibility now.
4758
8dc1a139
TS
47592002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4760
4761 * elfxx-mips.c: Call it IRIX, not Irix in comments.
4762
2051e1b5
JT
47632002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
4764
4765 * config.bfd (shle-*-netbsdelf*): Add target which includes
4766 sh64 support.
4767
83954261
AM
47682002-05-13 David Edelsohn <edelsohn@gnu.org>
4769
4770 * configure.in: Revert 2002-04-07. Instead, auto-configure
4771 HAVE_ST_C_IMPL.
4772 * configure: Regenerate.
4773 * config.in: Regenerate.
4774 * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
4775 or AIX_5_CORE.
4776
a9bf1154
NC
47772002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
4778
4779 * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
4780 corefiles as well.2
4781 * configure: Regenerate.
4782
3129eb7a
AM
47832002-05-13 Alan Modra <amodra@bigpond.net.au>
4784
4785 * Makefile.am (install-data-local): Install headers to
4786 $(exec_prefix)/include.
4787 * Makefile.in: Regenerate.
4788
a9a32010
DJ
47892002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4790 Daniel Jacobowitz <drow@mvista.com>
4791
4792 * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
4793 map BFD_RELOC_RVA.
4794
47952002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
690cc98b
NC
4796
4797 * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
4798 hppa*-*-openbsd*): New targets.
4799 * configure.in (alpha*-*-openbsd*): Set COREFILE.
4800 * configure: Regenerate.
4801
f1f0d9ab
TR
48022002-05-10 Tom Rix <trix@redhat.com>
4803
ea1e4b0d 4804 * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
f1f0d9ab
TR
4805 xcoff64_ppc_relocate_section.
4806 * coff-rs6000.c : Extern common xcoff_reloc_type functions.
4807 * libxcoff.h: Common xcoff_reloc_type function declaration.
4808
c432ba1a
AM
48092002-05-10 Alan Modra <amodra@bigpond.net.au>
4810
16a10388 4811 * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
90937f86 4812 added in 2002-05-09 commit.
16a10388 4813
c432ba1a
AM
4814 * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
4815 don't look for stubs on all undefined syms.
4816
4a335f3d
AM
48172002-05-09 Alan Modra <amodra@bigpond.net.au>
4818
8fc39d5d
AM
4819 * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
4820 (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
4821 pcrel_offset.
4822
4a335f3d
AM
4823 * elf32-i386.c (elf_howto_table): Comments.
4824 (elf_i386_relocate_section): Handle more relocs for relocatable
4825 linking and against SEC_MERGE sections.
4826
41fcb14e
AM
48272002-05-08 Alan Modra <amodra@bigpond.net.au>
4828
4829 * elf32-ppc.c (ppc_elf_create_got): New function.
4830 (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
ea1e4b0d 4831 _bfd_elf_create_dynamic_sections. Correct .plt flags.
41fcb14e
AM
4832 (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
4833 _bfd_elf_create_got_section.
4834
b491616a
AM
48352002-05-07 Alan Modra <amodra@bigpond.net.au>
4836
4837 * elf-bfd.h (struct elf_backend_data): Add rela_normal.
4838 * elfxx-target.h (elf_backend_rela_normal): Define.
4839 (elfNN_bed): Init rela_normal.
4840 * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
4841 for section symbols here if rela_normal. Simplify abs section test.
4842 * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
4843 return immediately. Remove code handling relocatable linking.
4844 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
4845 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
4846 * elf32-i370.c (i370_elf_relocate_section): Likewise.
4847 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
4848 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
4849 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
4850 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
4851 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
4852 * elf32-s390.c (elf_s390_relocate_section): Likewise.
4853 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
4854 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4855 * elf64-s390.c (elf_s390_relocate_section): Likewise.
4856 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
4857 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
4858 * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
4859 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
4860 * elf-m10200.c (elf_backend_rela_normal): Define.
4861 * elf-m10300.c (elf_backend_rela_normal): Define.
4862 * elf32-fr30.c (elf_backend_rela_normal): Define.
4863 * elf32-i370.c (elf_backend_rela_normal): Define.
4864 * elf32-i860.c (elf_backend_rela_normal): Define.
4865 * elf32-m68k.c (elf_backend_rela_normal): Define.
4866 * elf32-mcore.c (elf_backend_rela_normal): Define.
4867 * elf32-openrisc.c (elf_backend_rela_normal): Define.
4868 * elf32-ppc.c (elf_backend_rela_normal): Define.
4869 * elf32-s390.c (elf_backend_rela_normal): Define.
4870 * elf32-xstormy16.c (elf_backend_rela_normal): Define.
4871 * elf64-ppc.c (elf_backend_rela_normal): Define.
4872 * elf64-s390.c (elf_backend_rela_normal): Define.
4873 * elf64-x86-64.c (elf_backend_rela_normal): Define.
4874 * elfxx-ia64.c (elf_backend_rela_normal): Define.
4875 * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
4876 * elf32-m32r.c (elf_backend_rela_normal): Likewise.
4877
df212a7e
NC
48782002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
4879
4880 * elf32-arm.h (elf32_arm_final_link_relocate): Convert
4881 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
4882
3decf53c
AM
48832002-05-06 Alan Modra <amodra@bigpond.net.au>
4884
4885 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
4886 when not relocatable. Fix reloc_emitter call for K&R.
4887
f46c2da6
AM
48882002-05-04 Alan Modra <amodra@bigpond.net.au>
4889
4890 * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
4891 reloading local sym addend mistakenly removed in 2002-05-01 change.
4892
4893 * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
4894 (read_abbrevs): Change "offset" param to bfd_vma.
4895 (parse_comp_unit): Change "version" and addr_size to unsigned ints.
4896 Change "abbrev_offset" to bfd_vma.
4897 (read_indirect_string): Use correct conversion chars in error
4898 message format string, cast bfd_vma's to unsigned long.
4899 (read_abbrevs): Likewise.
4900 (read_attribute_value): Likewise.
4901 (decode_line_info): Likewise.
4902 (scan_unit_for_functions): Likewise.
4903 (parse_comp_unit): Likewise.
4904
59862849
TR
49052002-05-04 Tom Rix <trix@redhat.com>
4906
4907 * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
4908 (coff_swap_reloc_out): Same.
4909 * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
4910 (xcoff_swap_reloc_out): Same.
4911 (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
4912 case some 16 bit relocs. Add reloc value to output.
4913 (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
ea1e4b0d 4914 R_RBR. Improve names.
59862849
TR
4915 (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
4916 (bfd_xcoff_backend_data): Update with new reloc swap names.
4917 (bfd_pmac_xcoff_backend_data) : Same.
4918 * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
4919 (xcoff64_swap_reloc_out): Same.
ea1e4b0d 4920 (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
59862849 4921 R_POS. Add reloc value to output.
ea1e4b0d
AM
4922 (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
4923 bit R_RBR. Improve names, masks.
59862849
TR
4924 (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
4925 (bfd_xcoff_backend_data): Update with new reloc swap names.
4926 (bfd_xcoff_aix5_backend_data) : Same.
4927
b4655ea9
AM
49282002-05-04 Alan Modra <amodra@bigpond.net.au>
4929
4930 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
4931 bfd_count top_index, input_list, all_local_syms.
4932 (elf32_hppa_setup_section_lists): New function, split from
4933 elf32_hppa_size_stubs.
4934 (elf32_hppa_next_input_section): Likewise.
4935 (group_sections): Likewise.
4936 (get_local_syms): Likewise.
4937 (elf32_hppa_size_stubs): Adjust for split out functions. Look for
4938 stubs on undefined syms too.
4939 (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
8fc39d5d 4940 Only access htab elf fields when we have an elf hash table.
b4655ea9
AM
4941 * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
4942 (elf32_hppa_next_input_section): Declare.
4943
301e3139
AM
49442002-05-04 Bob Byrnes <byrnes@curl.com>
4945
4946 * opncls.c (_bfd_new_bfd_contained_in): Check return value of
4947 _bfd_new_bfd.
4948
7c5fcef7
L
49492002-05-03 H.J. Lu (hjl@gnu.org)
4950
4951 * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
4952 (mips_elf_link_hash_newfunc): Initialize forced_local to false.
4953 (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
4954 to hide a global symbol.
4955 (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
ea1e4b0d 4956 forced_local to true.
7c5fcef7 4957
84de6048
RH
49582002-05-02 Richard Henderson <rth@redhat.com>
4959
4960 * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
4961 vs SHN_UNDEF to zero.
4962
805fc799
AM
49632002-05-02 Alan Modra <amodra@bigpond.net.au>
4964
c061c2d8
AM
4965 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
4966 16 bit reloc.
4967 <R_PPC64_SECTOFF_DS>: Likewise.
4968 (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
4969 SECTOFF reloc.
4970 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
4971 (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
4972 SECTOFF reloc.
4973
805fc799
AM
4974 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
4975 (ppc64_elf_ha_reloc): New function.
4976 (ppc64_elf_brtaken_reloc): New function.
4977 (ppc64_elf_sectoff_reloc): New function.
4978 (ppc64_elf_sectoff_ha_reloc): New function.
4979 (ppc64_elf_toc_reloc): New function.
4980 (ppc64_elf_toc_ha_reloc): New function.
4981 (ppc64_elf_toc64_reloc): New function.
4982 (ppc64_elf_unhandled_reloc): New function.
4983 (ppc64_elf_howto_raw): Use the above.
4984 <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
4985 <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
4986 <R_PPC64_SECTOFF_DS>: Likewise.
4987 (IS_ABSOLUTE_RELOC): Update.
4988 (struct ppc_link_hash_table): Add have_undefweak.
4989 (ppc64_elf_link_hash_table_create): Init.
4990 (func_desc_adjust): Set have_undefweak.
4991 (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
4992 add the .sfpr blr when have_undefweak.
4993 (ppc64_elf_setup_section_lists): Check hash table flavour.
4994 (ppc64_elf_next_input_section): Move output_section->owner test to
4995 ppc64elf.em.
4996 (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
4997 and relocatable test. Return TOCstart and don't set elf_gp.
4998 (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
4999 offset calculation. Add assert on weak sym branch tweaks.
5000 * elf64-ppc.h (ppc64_elf_set_toc): Delete.
5001 (ppc64_elf_toc): Declare.
5002 (ppc64_elf_next_input_section): Update.
ea1e4b0d 5003
818c39a3
AM
50042002-05-01 Alan Modra <amodra@bigpond.net.au>
5005
5006 * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
5007 file_name.
5008
721956f4
AM
50092002-05-01 Alan Modra <amodra@bigpond.net.au>
5010
5011 * elf64-ppc.c (CROR_151515, CROR_313131): Define.
5012 (ppc64_elf_relocate_section): Use them. Don't look for plt calls
5013 on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
5014 call branches. Correct undefined weak destination.
5015 (ppc64_elf_func_desc_adjust): Always create at least one blr in
5016 .sfpr, and correct case where either only savef* or restf* is
5017 needed.
5018
5019 Long branch stubs, multiple stub sections.
5020 * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
5021 (ppc64_elf_next_input_section): Declare.
5022 * elf64-ppc.c: Move linker-only prototypes.
5023 (STUB_SUFFIX): Define.
5024 (enum ppc_stub_type): New.
5025 (struct ppc_stub_hash_entry): New.
5026 (struct ppc_branch_hash_entry): New.
5027 (struct ppc_link_hash_entry): Add stub_cache, oh.
5028 (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
5029 sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
5030 Rename plt_overflow to stub_error.
5031 (ppc_stub_hash_lookup): Define.
5032 (ppc_branch_hash_lookup): Define.
5033 (stub_hash_newfunc): New function.
5034 (branch_hash_newfunc): New function.
5035 (link_hash_newfunc): Init new fields.
5036 (ppc64_elf_link_hash_table_create): Likewise.
5037 (ppc64_elf_link_hash_table_free): New function.
5038 (ppc_stub_name): New function.
5039 (ppc_get_stub_entry): New function.
5040 (ppc_add_stub): New function.
5041 (create_linkage_sections): Use bfd_make_section_anyway. Create
5042 .branch_lt and .rela.branch_lt sections. Don't create .stub.
5043 (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
5044 and set up for plt call stubs. Link func and func desc syms.
5045 (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
5046 (func_desc_adjust): Avoid hash lookup when func desc sym available
5047 via shortcut, and set links when processing.
5048 (ppc64_elf_hide_symbol): Likewise.
5049 (allocate_dynrelocs): Don't allocate stub section here.
5050 (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
5051 Remove sstub code.
5052 (ppc_type_of_stub): New function.
5053 (build_one_stub): Delete.
5054 (ppc_build_one_stub): New function.
5055 (ppc_size_one_stub): New function.
5056 (ppc64_elf_setup_section_lists): New function.
5057 (ppc64_elf_next_input_section): New function.
5058 (group_sections): New function.
5059 (get_local_syms): New function.
5060 (ppc64_elf_size_stubs): Rewrite.
5061 (ppc64_elf_build_stubs): Rewrite.
5062 (ppc64_elf_relocate_section): Look up stub entry for REL24
5063 relocs. Don't propagate REL14* to dynamic objects. Look for long
5064 branch stubs if REL14* or REL24 relocs won't reach.
5065 (bfd_elf64_bfd_link_hash_table_free): Define.
5066
09c2219b
MM
50672002-04-30 Mark Mitchell <mark@codesourcery.com>
5068
c5cd6d62 5069 * config.bfd: Add support for powerpc-*-windiss.
09c2219b 5070
07b678c0
TR
50712002-04-30 Tom Rix <trix@redhat.com>
5072
5073 * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
5074 symbol names into the hash table.
5075
dbe341c6
TR
50762002-04-28 Tom Rix <trix@redhat.com>
5077
5078 * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
ea1e4b0d 5079 calulating relocations.
dbe341c6 5080 (xcoff_complain_overflow) : Function table for relocation errors.
ea1e4b0d
AM
5081 (xcoff_ppc_relocate_section): Use relocation and complain function
5082 tables.
5083 (xcoff_complain_overflow_unsigned_func): New complain function.
dbe341c6
TR
5084 (xcoff_complain_overflow_signed_func): Same.
5085 (xcoff_complain_overflow_bitfield_func): Same.
5086 (xcoff_complain_overflow_dont_func): Same.
5087 (xcoff_reloc_type_crel): New recot function.
5088 (xcoff_reloc_type_br): Same.
5089 (xcoff_reloc_type_ba): Same.
5090 (xcoff_reloc_type_toc): Same.
5091 (xcoff_reloc_type_rel): Same.
5092 (xcoff_reloc_type_neg): Same.
5093 (xcoff_reloc_type_pos): Same.
5094 (xcoff_reloc_type_fail): Same.
5095 (xcoff_reloc_type_noop): Same.
5096 * libxcoff.h : Declare common parts for xcoff64.
5097 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
ea1e4b0d 5098 and complain function tables.
dbe341c6 5099
985142a4
AM
51002002-04-28 Alan Modra <amodra@bigpond.net.au>
5101
5102 * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
5103 * elf32-hppa.c (elf32_hppa_final_link): Formatting.
5104
eba91044
AM
51052002-04-26 Alan Modra <amodra@bigpond.net.au>
5106
e54fdaa5
AM
5107 * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
5108 * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
5109
a50c1845
AM
5110 * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
5111 same as the output before calling elf_link_input_bfd.
5112
eba91044
AM
5113 * coffcode.h (coff_compute_section_file_positions): Set
5114 section_tail after shuffling section list.
5115
3c25c5f6
NC
51162002-04-24 Christian Groessler <chris@groessler.org>
5117
5118 * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
5119 addresses are 23bit with a special layout, not plain 32bit
5120 values. Prevent relocation of immediate values.
5121
40d32fc6
CD
51222002-04-24 Chris G. Demetriou <cgd@broadcom.com>
5123
5124 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
5125 MIPS-16 ASE flags are set, print something to indicate that.
5126
067fa4a6
AM
51272002-04-23 Alan Modra <amodra@bigpond.net.au>
5128
5129 * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
5130 under which a plt call stub is used.
5131 (final_link_relocate): Similarly.
5132 (allocate_plt_static): Clear h-plabel except when plt entry is
5133 exclusively used for a plabel.
5134 (allocate_dynrelocs): Use the above to simplify plt sizing.
5135 (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
5136 (elf32_hppa_link_hash_table_create): Init.
5137 (BL22_RP): Define.
5138 (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
5139 (elf32_hppa_check_relocs): Set has_22bit_branch.
5140
5141 * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
5142 (final_link_relocate): Likewise.
5143
af40ce3c
JJ
51442002-04-22 Jakub Jelinek <jakub@redhat.com>
5145
5146 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
5147 search table if some FDE is DW_EH_PE_aligned encoded either.
5148 (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
5149
09ae86c2
JJ
51502002-04-22 Richard Smith <richard@ex-parrot.com>
5151 Jakub Jelinek <jakub@redhat.com>
5152
5153 * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
5154 (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
5155 encoded personality.
5156 (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
5157 for CIE/FDE removal.
5158
deeb2cd7
TR
51592002-04-20 Tom Rix <trix@redhat.com>
5160
5161 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
5162
99dc0092
AM
51632002-04-20 Alan Modra <amodra@bigpond.net.au>
5164
aa3d5824
AM
5165 * archures.c (bfd_lookup_arch): Move the list order comment..
5166 (struct bfd_arch_info): ..to where it belongs.
5167 * bfd-in2.h: Regenerate.
5168
99dc0092
AM
5169 * archures.c (bfd_lookup_arch): Add comment on list order.
5170 (bfd_default_set_arch_mach): Use bfd_lookup_arch.
5171 * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
5172 is always at head of list.
5173
7831a775
NC
51742002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
5175
5176 * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
5177 insert_thumb_branch, record_thumb_to_arm_glue): Suppress
5178 definition of these functions for ARM_WINCE builds as they are
5179 not used.
ea1e4b0d 5180 (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
7831a775
NC
5181 for ARM_WINCE builds.
5182
51832002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
5184
ea1e4b0d 5185 * coff-arm.c (bfd_arm_process_before_allocation):
7831a775
NC
5186
51872002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
a44d7f9c
JR
5188
5189 * cpu-sh.c (scan_mach): Delete.
5190 (arch_info_struct): Replace scan_mach with bfd_default_scan.
5191 (bfd_sh_arch): Likewise.
5192
3d8dbe36
NC
51932002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
5194
5195 * ihex.c (ihex_write_object_contents): Fix check for records
5196 crossing 64K boundaries.
5197
4ab82700
AM
51982002-04-16 Alan Modra <amodra@bigpond.net.au>
5199
5200 * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
5201 type rather than just assuming entries are ELF.
5202 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
5203 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
5204 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
5205 * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
5206 rather than elf_link_hash_entry.
5207
036fe0fe
RH
52082002-04-15 Richard Henderson <rth@redhat.com>
5209
5210 * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
5211 n32 binaries.
5212
c4f3d130
NC
52132002-04-15 Michael Snyder <msnyder@redhat.com>
5214
5215 * opncls.c (bfd_close): Write contents if writeable.
5216 Minor formatting tidy-ups.
5217
4ab82700 52182002-04-15 Alan Modra <amodra@bigpond.net.au>
27242387
AM
5219
5220 * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
5221
0c04d169
MS
52222002-04-12 Michael Snyder <msnyder@redhat.com>
5223
5224 * bfd-in.h (bfd_get_section_lma): New access macro.
5225 Minor white-space fix-up.
5226
89d4966f
AM
52272002-04-12 Alan Modra <amodra@bigpond.net.au>
5228
5229 * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
5230 header pad.
5231
8d0da3c2
DD
52322002-04-09 DJ Delorie <dj@redhat.com>
5233
5234 * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
5235
05793179
NC
52362002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
5237
5238 * coffcode.h (coff_read_word): New.
5239 (coff_compute_checksum): New.
5240 (coff_apply_checksum): New.
5241 (coff_write_object_contents): Call coff_apply_checksum () to
5242 apply checksum to PE image.
5243
46fe4e66
AM
52442002-04-08 Randolph Chung <tausq@debian.org>
5245
5246 * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
5247 (elf32_hppa_final_link): Split out sorting logic to..
5248 * elf-hppa.h (elf_hppa_sort_unwind): ..here.
5249 (elf_hppa_final_link): Call elf_hppa_sort_unwind.
5250
3b5b409c
AC
52512002-04-07 Andrew Cagney <ac131313@redhat.com>
5252
5253 * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
5254 pattern.
5255 * configure: Re-generate.
5256
ac7b6ceb
AC
52572002-04-07 Andrew Cagney <ac131313@redhat.com>
5258
5259 * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
5260 is greater or equal to 4.3.3.
5261 * configure: Regenerate.
5262 Fix PR gdb/344.
5263
44aa49bb
HPN
52642002-04-05 Hans-Peter Nilsson <hp@axis.com>
5265
5266 * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
5267 R_CRIS_32_PCREL>: Fix typo in name.
5268 (cris_elf_check_relocs): Always create .rela.got here when
5269 R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
5270 (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
5271 assume it's created.
5272
e2d34d7d
DJ
52732002-04-04 Daniel Jacobowitz <drow@mvista.com>
5274
5275 * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
5276 * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
5277 define.
5278 * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
5279 * bfd.c (bfd_link_hash_table_free): Define.
5280 * binary.c (binary_bfd_link_hash_table_free): Define.
5281 * bout.c (b_out_bfd_link_hash_table_free): Define.
5282 * coff-rs6000.c (rs6000coff_vec): Include
5283 _bfd_generic_link_hash_table_free.
5284 (pmac_xcoff_vec): Likewise.
5285 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
5286 (aix5coff64_vec): Likewise.
5287 * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
5288 * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
5289 (bfd_elf32_bfd_link_hash_table_free): Define.
5290 * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
5291 (bfd_elf32_bfd_link_hash_table_free): Define.
5292 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
5293 define.
5294 * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
5295 * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
5296 * ieee.c (ieee_bfd_link_hash_table_free): Define.
5297 * ihex.c (ihex_bfd_link_hash_table_free): Define.
5298 * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
5299 (_bfd_generic_link_hash_table_free): Add prototype.
5300 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
5301 * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
5302 * linker.c (_bfd_generic_link_hash_table_free): New function.
5303 * mmo.c (mmo_bfd_link_hash_table_free): Define.
5304 * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
5305 * oasys.c (oasys_bfd_link_hash_table_free): Define.
5306 * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
5307 * som.c (som_bfd_link_hash_table_free): Define.
5308 * srec.c (srec_bfd_link_hash_table_free): Define.
5309 * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
5310 * versados.c (versados_bfd_link_hash_table_free): Define.
5311 * vms.c (vms_bfd_link_hash_table_free): New function.
5312 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
5313
5314 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
5315 instead of bfd_alloc.
5316 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
5317 * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
5318 * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
5319 * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
5320 * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
5321 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
5322 * elf.c (_bfd_elf_link_hash_table_create): Likewise.
5323 * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
5324 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
5325 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
5326 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
5327 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
5328 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
5329 * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
5330 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
5331 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
5332 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
5333 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
5334 * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
5335 * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
5336 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
5337 * linker.c (_bfd_generic_link_hash_table_create): Likewise.
5338 * m68klinux.c (linux_link_hash_table_create): Likewise.
5339 * sparclinux.c (linux_link_hash_table_create): Likewise.
5340 * sunos.c (sunos_link_hash_table_create): Likewise.
5341 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
5342
5343 * targets.c: Add _bfd_link_hash_table_free to xvec.
5344
5345 * bfd-in2.h: Regenerate.
5346 * libbfd.h: Regenerate.
5347 * libcoff.h: Regenerate.
5348
830629ab
AM
53492002-04-04 Alan Modra <amodra@bigpond.net.au>
5350
5351 * dep-in.sed: Cope with absolute paths.
5352 * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
5353 Run "make dep-am".
5354 * Makefile.in: Regenerate.
5355 * coff-arm.c: Fix copyright date.
5356 * cpu-h8300.c: Likewise.
5357 * cpu-i370.c: Likewise.
5358 * cpu-s390.c: Likewise.
5359 * cpu-mips.c: Likewise.
5360 * po/SRC-POTFILES.in: Regenerate.
5361
c6e90b02
TS
53622002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5363
5364 * Makefile.am: Add elfxx-mips.c to the known backends.
5365 (elf32-mips.lo): remove dependency to coff/external.h.
5366 * Makefile.in: Regenerate.
5367 * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
5368 Remove elf32-mips.lo from 64 bit vectors. Update dependencies
5369 accordingly.
5370 * configure: Regenerate.
5371 * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
5372 (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
5373 (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
5374 MIPS specific backend functions.
5375 * elf32-mips.c: Moved most code to elfxx-mips.c.
5376 (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
5377 static.
5378 (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
5379 (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
5380 (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
5381 (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
5382 interface to allow selection of the right REL or RELA howto table.
5383 (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
5384 static. Let it refuse n32 objects.
5385 (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
5386 (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
5387 (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
5388 (elf32_mips_ignore_discarded_relocs): Rename from
5389 _bfd_elf32_mips_ignore_discarded_relocs.
5390 (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
5391 (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
5392 (elf_mips_howto_table_rela): Remove.
5393 * elf64-mips.c: Moved most code to elfxx-mips.c.
5394 (bfd_elf64_bfd_reloc_type_lookup): Make static.
5395 (mips_elf64_rtype_to_howto): New function.
5396 (mips_elf64_object_p): Likewise.
5397 (elf64_mips_irix_compat): Likewise.
5398 * elfxx-mips.c: New file containing common code merged together from
5399 elf32-mips.c and elf64-mips.c.
5400 * elfxx-mips.h: New file containing MIPS specific prototypes from
5401 elf-bfd.h.
5402 * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
5403 elf_backend_mips_rtype_to_howto.
5404
d8dce692
AM
54052002-04-04 Alan Modra <amodra@bigpond.net.au>
5406
5407 * srec.c (MAXCHUNK, Chunk): Revise comments.
5408 (srec_write_record): Correct buffer size.
5409 (srec_write_header): Do without intermediate buffer.
5410 (srec_write_section): Validate Chunk.
5411 (srec_write_terminator): Pass NULL instead of dummy buffer.
5412 (srec_write_symbols): Pass file and symbol names directly to
5413 bfd_bwrite so sprintf won't overflow buffer.
5414
b88a866a
JJ
54152002-04-03 Jakub Jelinek <jakub@redhat.com>
5416
5417 * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
5418 PC relative relocs against hidden symbols.
5419 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5420
d7866f04
AM
54212002-04-03 Alan Modra <amodra@bigpond.net.au>
5422
5423 * elf.c (_bfd_elf_make_section_from_shdr): When setting section
5424 LMAs, loop over segments until p_vaddr and p_memsz specify an
5425 extent enclosing the section.
5426
9e81ee67
NC
54272002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
5428
5429 * ihex.c (ihex_write_object_contents): Do not allow records to
5430 cross a 64K boundary - wrap if necessary.
5431
d2b64500
JT
54322002-04-01 Nathan Williams <nathanw@wasabisystems.com>
5433
5434 * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
5435 which caused the returned LWP ID to always be 0.
5436
e36f7d53
RH
54372002-04-01 Richard Henderson <rth@redhat.com>
5438
5439 * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
5440 (elf32_sparc_relocate_section): Use it to figure out when to
5441 initialize .got entries.
5442 * elf64-sparc.c: Similarly.
5443
e92d460e
AM
54442002-03-28 Alan Modra <amodra@bigpond.net.au>
5445
5446 * linker.c (link_action): Ignore duplicate warning syms.
5447 (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
5448 * elflink.h (elf_adjust_dynstr_offsets): Likewise.
5449 (elf_adjust_dynamic_symbol): Likewise.
5450 (elf_export_symbol): Likewise.
5451 (elf_link_find_version_dependencies): Likewise.
5452 (elf_link_assign_sym_version): Likewise.
5453 (elf_link_sec_merge_syms): Likewise.
5454 (elf_link_output_extsym): Likewise.
5455 (elf_gc_sweep_symbol): Likewise.
5456 (elf_gc_propagate_vtable_entries_used): Likewise.
5457 (elf_gc_smash_unused_vtentry_relocs): Likewise.
5458 (elf_gc_allocate_got_offsets): Likewise.
5459 (elf_collect_hash_codes): Likewise.
5460 * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
5461 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
5462 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
5463 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
5464 * elf32-arm.h (elf32_arm_discard_copies): Likewise.
5465 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
5466 (elf_cris_discard_excess_dso_dynamics): Likewise.
5467 * elf32-hppa.c (clobber_millicode_symbols): Likewise.
5468 (mark_PIC_calls): Likewise.
5469 (allocate_plt_static): Likewise.
5470 (allocate_dynrelocs): Likewise.
5471 (readonly_dynrelocs): Likewise.
5472 * elf32-i386.c (allocate_dynrelocs): Likewise.
5473 (readonly_dynrelocs): Likewise.
5474 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
5475 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
5476 * elf32-mips.c (mips_elf_output_extsym): Likewise.
5477 (mips_elf_sort_hash_table_f): Likewise.
5478 (mips_elf_check_mips16_stubs): Likewise.
5479 * elf32-s390.c (allocate_dynrelocs): Likewise.
5480 (readonly_dynrelocs): Likewise.
5481 * elf32-sh.c (sh_elf_discard_copies): Likewise.
5482 * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
5483 (xstormy16_relax_plt_realloc): Likewise.
5484 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
5485 (elf64_alpha_output_extsym): Likewise.
5486 * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
5487 * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
5488 (mips_elf64_check_mips16_stubs): Likewise.
5489 (mips_elf64_output_extsym): Likewise.
5490 * elf64-ppc.c (func_desc_adjust): Likewise.
5491 (allocate_dynrelocs): Likewise.
5492 (readonly_dynrelocs): Likewise.
5493 * elf64-s390.c (allocate_dynrelocs): Likewise.
5494 (readonly_dynrelocs): Likewise.
5495 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
5496 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
5497 (readonly_dynrelocs): Likewise.
5498 * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
5499 * aoutx.h (aout_link_write_other_symbol): Likewise.
5500 * cofflink.c (_bfd_coff_write_task_globals): Likewise.
5501 (_bfd_coff_write_global_sym): Likewise.
5502 * i386linux.c (linux_tally_symbols): Likewise.
5503 * m68klinux.c (linux_tally_symbols): Likewise.
5504 * sparclinux.c (linux_tally_symbols): Likewise.
5505 * pdp11.c (aout_link_write_other_symbol): Likewise.
5506 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
5507 * xcofflink.c (xcoff_build_ldsyms): Likewise.
5508 (xcoff_write_global_symbol): Likewise.
5509
5510 * cofflink.c (_bfd_coff_final_link): Formatting.
5511 * cpu-mips.c (mips_compatible): Make static, prototype.
5512 * elf32-i386.c (elf_i386_check_relocs): Formatting.
5513 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
5514 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
5515 * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
5516 (mips_elf64_final_link): Likewise.
5517 * elflink.h (elf_link_find_version_dependencies): Remove duplicate
5518 prototype.
5519
2106126f
NC
55202002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
5521
5522 * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
5523 (SWAP_OUT_RELOC_OFFSET): Define.
5524
b99d1833
AM
55252002-03-27 Gregory Steuck <greg@nest.cx>
5526
5527 * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
5528 terminating NULL if empty symbol table.
5529 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
5530
ad43ed4c
L
55312002-03-26 H.J. Lu (hjl@gnu.org)
5532
5533 * elflink.h (elf_link_input_bfd): Revert the last change since
5534 the gcc exception handling isn't fixed yet.
5535
3851fca4
L
55362002-03-26 H.J. Lu (hjl@gnu.org)
5537
5538 * elflink.h (elf_link_input_bfd): Complain about relocations
5539 against local symbols in discarded sections.
5540
b91afed7
AM
55412002-03-26 Alan Modra <amodra@bigpond.net.au>
5542
5543 * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
5544
dba143ef
AM
55452002-03-23 Alan Modra <amodra@bigpond.net.au>
5546
5547 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
5548 section file offset for !SEC_LOAD sections.
5549
ee29b9fb
RE
55502002-03-21 Richard Earnshaw <rearnsha@arm.com>
5551
830629ab
AM
5552 * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
5553 <case R_ARM_GOT>): Handle relocations to Thumb functions.
ee29b9fb 5554
54327882
AM
55552002-03-21 Alan Modra <amodra@bigpond.net.au>
5556
5557 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
5558 Whitespace changes.
5559 * archive.c: Update copyright date.
5560 * bfd-in2.h: Regenerate.
5561 * libbfd.h: Regenerate.
5562 * Makefile.am: Run "make dep-am"
5563 * Makefile.in: Regenerate.
5564 * po/SRC-POTFILES.in: Regenerate.
5565
1ee24f27
DJ
55662002-03-20 Daniel Jacobowitz <drow@mvista.com>
5567
5568 * dwarf2.c (struct funcinfo): Move up.
5569 (lookup_address_in_function_table): New argument function_ptr.
5570 Set it.
5571 (lookup_address_in_line_table): New argument function. If function
5572 is non-NULL, use it to handle ``addr'' before the first line note of
5573 the function.
5574 (comp_unit_find_nearest_line): Update and swap calls to
5575 lookup_address_in_function_table and lookup_address_in_line_table.
5576 * syms.c (_bfd_stab_section_find_nearest_line): Use the first
5577 N_SLINE encountered if we see an N_FUN before any N_SLINE.
5578
51b9608c
TR
55792002-03-20 Tom Rix <trix@redhat.com>
5580
ea1e4b0d 5581 * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
51b9608c 5582 _bfd_xcoff_generic_stat_arch_elt. Fix format check.
ea1e4b0d 5583 * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
51b9608c 5584
789c90aa
TR
55852002-03-19 Tom Rix <trix@redhat.com>
5586
ea1e4b0d 5587 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
789c90aa
TR
5588 dynamic objects in archives.
5589
1da54d81
HPN
55902002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
5591
5592 * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
5593 STT_NOTYPE symbols to STT_OBJECT.
5594
7831a775 55952002-03-18 Jan Hubicka <jh@suse.cz>
beb43bb9
JH
5596
5597 * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
5598
eb1e0e80
NC
55992002-03-18 Tom Rix <trix@redhat.com>
5600
5601 * aix5ppc.core.c : New file for AIX 5 64 bit core support.
5602 * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
5603 * coff-rs6000 (do_pad) : New function for archive padding.
5604 (do_copy) : New function for object file copying in archives.
5605 (do_shared_object_padding) : New function for padding shared
5606 objects to their text section alignment in archives.
5607 (bfd_xcoff_ar_achive_set_magic) : Stub.
5608 (xcoff_write_armap_big) : Use do_copy and do_pad.
5609 (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
5610 do_copy and do_pad.
5611 * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
ea1e4b0d 5612 bfd_xcoff_magic_number.
eb1e0e80
NC
5613 (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
5614 fop.
5615 (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
5616 (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
5617 (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
5618 * rs6000-core.c : Update copyright date.
ea1e4b0d 5619 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
eb1e0e80
NC
5620 csectpp.
5621 * coffcode.h (coff_new_section_hook) : Use new accessor macros.
5622 (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
5623 (coff_set_flags) : Use bfd_xcoff_magic_number.
5624 * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
5625 * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
5626 * Makefile.am : Same.
5627 * config.bfd : Same.
5628 * targets.c : Same.
5629 * configure : Regnerate.
5630 * Makefile.in : Same.
5631 * bfd-in2.h : Same.
5632
a1c259a1
NC
56332002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
5634
5635 * po/fr.po: Updated version.
5636
4dae1ae7
AM
56372002-03-18 Alan Modra <amodra@bigpond.net.au>
5638
5639 * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
5640 * libbfd.h: Regenerate.
5641 * archive.c (coff_write_armap): Pass on failures from
5642 bfd_write_bigendian_4byte_int.
5643
36b4f6e7
L
56442002-03-14 H.J. Lu <hjl@gnu.org>
5645
5646 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
5647 error to bfd_error_nonrepresentable_section for reinit_array
5648 section in DSO.
5649
a1aefc76
NC
56502002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
5651
a181be0a
NC
5652 * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
5653 OR it in rather than replacing previously selected flags.
5654
a1aefc76
NC
5655 * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
5656 (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
5657
c119f9b8
AM
56582002-03-14 Alan Modra <amodra@bigpond.net.au>
5659
5660 * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
5661 (N): Use the above.
5662 * elflink.h (elf_bfd_final_link): Revert last change. Instead,
5663 ensure reloc size matches before calling elf_link_input_bfd.
5664 Add an assert to check reloc size when counting output relocs.
5665
c295a511
NC
56662002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
5667
5668 * mmo.c (mmo_get_loc): Return NULL rather than false.
5669
9ce88e60
NC
56702002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
5671
5672 * po/fr.po: Updated version.
5673
4ddafab0
AM
56742002-03-13 Alan Modra <amodra@bigpond.net.au>
5675
b74fa2cd
AM
5676 * archures.c (bfd_default_compatible): Test bits_per_word.
5677 * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
5678 bfd_default_compatible.
5679 * cpu-i370.c (i370_compatible): Likewise.
5680 * cpu-sparc.c (sparc_compatible): Likewise.
5681 * cpu-h8300.c (compatible): Test in->arch == out->arch.
5682
40b829d4
AM
5683 * elflink.h: Formatting fixes.
5684 (elf_link_output_extsym): Merge undefined and undef weak cases.
5685
4ddafab0
AM
5686 * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
5687 when word size of input matches output word size.
5688
dd53c801
AJ
56892002-03-12 Andreas Jaeger <aj@suse.de>
5690
5691 * cpu-i386.c (i386_compatible): New. Use it instead of
5692 bfd_default_compatible.
5693
aa066ac8
L
56942002-03-07 H.J. Lu (hjl@gnu.org)
5695
5696 * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
5697 as the type for bfd_reloc_val.
5698
1bf42538
JL
56992002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
5700
5701 * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
5702 (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
5703 (elf_hppa_final_link_relocate): Correct relocations for indirect
5704 references to local data through the DLT. Fix .opd creation for
5705 local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
5706 relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
5707 R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
5708 "Processor-Specific ELF for PA_RISC, Version 1.43" document.
5709 Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
5710 * elf32-hppa.c (final_link_relocate): Revise relocation selectors
5711 as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
5712
86eaf01e
JJ
57132002-03-05 Jakub Jelinek <jakub@redhat.com>
5714
5715 * merge.c (_bfd_merge_sections): Don't segfault if there
5716 is nothing to merge due to GC.
5717
c44233aa
AM
57182002-03-05 Alan Modra <amodra@bigpond.net.au>
5719
039cc25f
AM
5720 * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
5721 symbols that have been forced local.
5722
c44233aa
AM
5723 * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
5724 to output forced local syms for non-shared link.
5725 (elf_link_output_extsym): Tweak condition for calling backend
5726 adjust_dynamic_symbol so that previous behaviour is kept.
5727 Whitespace changes throughout file.
5728
25e27870
L
57292002-03-04 H.J. Lu <hjl@gnu.org>
5730
5731 * elf.c (bfd_section_from_shdr): Handle special sections,
5732 .init_array, .fini_array and .preinit_array.
5733 (elf_fake_sections): Likewise.
5734
5735 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
5736 DT entry only if the section is in output for .init_array,
5737 .fini_array and .preinit_array. Complain about .preinit_array
5738 section in DSO.
5739 (elf_bfd_final_link): Warn zero size for .init_array,
5740 .fini_array and .preinit_array sections.
5741
5742 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
5743 SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
5744 (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
5745 .preinit_array.
5746
bb2a49f2
AM
57472002-03-04 Alan Modra <amodra@bigpond.net.au>
5748
5749 * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
5750 * configure: Regenerate.
5751
38487e5e
TR
57522002-03-02 Tom Rix <trix@redhat.com>
5753
c44233aa
AM
5754 * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
5755 symbolic equiv.
38487e5e
TR
5756 * coff-rs6000.c (xcoff_howto_table): Same.
5757
30831527
RH
57582002-03-01 David Mosberger <davidm@hpl.hp.com>
5759
5760 * elflink.h (size_dynamic_sections): If section named
5761 ".preinit_array" exists, create DT_PREINIT_ARRAY and
5762 DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
5763 ".init_array" and ".fini_array".
5764 (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
5765 DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
5766 DT_FINI_ARRAY.
5767
c8e5ddc8
AM
57682002-02-26 Andrew Macleod <amacleod@cygnus.com>
5769
5770 * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
5771 dynsyms.
5772
96e0dda4
AM
57732002-02-25 Alan Modra <amodra@bigpond.net.au>
5774
1c5b6bf8
AM
5775 * elf64-hppa.h: Update copyright date.
5776
96e0dda4
AM
5777 * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
5778 (ppc64_elf_relocate_section): Don't generate power4 style branch
5779 hints for *_BRTAKEN and *_BRNTAKEN relocs.
5780
0fb19cbc
JJ
57812002-02-22 Jakub Jelinek <jakub@redhat.com>
5782
5783 * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
5784 last patch.
5785 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
5786
c434dee6
AJ
57872002-02-21 Andreas Jaeger <aj@suse.de>
5788
5789 * elf64-x86-64.c: Major rework that introduces all recent changes
5790 to the x86-64 backend. Get a closer match to elf32-i386.
5791 (struct elf64_x86_64_dyn_relocs): Rename from
5792 elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
5793 all users.
5794 (struct elf64_x86_64_link_hash_table): Add short cuts to some
5795 sections.
5796 (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
5797 remove casts, initialize new hash members.
5798 (create_got_section): New.
5799 (elf64_x86_64_create_dynamic_sections): New.
5800 (elf64_x86_64_copy_indirect_symbol): New.
5801 (elf64_x86_64_check_relocs): Don't allocate space for dynamic
5802 relocs, .got or .relgot here but do it in allocate_dynrelocs.
5803 Reference count possible .plt and .got entries. Don't test input
5804 section SEC_READONLY here to try to avoid copy relocs, and keep
5805 dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
5806 DF_TEXTREL here. Delay setting of variables until needed. Cache
5807 pointer to "sreloc" section in elf_section_data. Tweak condition
5808 under which .got created. Report files with bad relocation
5809 section names.
5810 (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
5811 Reference count possible .plt entries. Don't deallocate .got and
5812 .relgot space here.
5813 (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
5814 do copy reloc processing for weakdefs. Remove redundant casts and
5815 aborts. Delay setting of vars until needed. Move creation of
5816 dynamic symbols and allocation of .plt and .rela.plt to
5817 allocate_dynrelocs. Replace BFD_ASSERT with abort.
5818 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
5819 (allocate_dynrelocs): New.
5820 (readonly_dynrelocs): New.
5821 (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
5822 Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
5823 Zero out the dynamic allocated content space.
5824 (elf64_x86_64_discard_copies): Removed.
5825 (elf64_x86_64_relocate_section): Make use of dynamic section
5826 short-cuts. Localise vars, and delay setting. Better error
5827 reporting, replace BFD_ASSERT with abort. Check
5828 ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
5829 regular object file and tread the weak definition as the normal
5830 one. Don't discard relocs for undefweak or undefined symbols and
5831 check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
5832 relocs.
5833 (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
5834 symbols that have been forced local. Use same test to decide if
5835 we can use a relative reloc for got as relocate_section. Expand
5836 SHN_UNDEF comment. Move expressions out of function calls.
5837 Replace BFD_ASSERT with abort.
5838 (bfd_elf64_bfd_final_link): Removed.
5839 (elf_backend_copy_indirect_symbol): Define.
5840
ff3a6ee3
TR
58412002-02-20 Tom Rix <trix@redhat.com>
5842
5843 * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
5844 (_bfd_xcoff_reloc_type_lookup): Use it.
5845 * coff64-rs6000.c (xcoff64_howto_table): Same.
5846 (xcoff64_reloc_type_lookup): Same.
c434dee6 5847
a68d41fb
AM
58482002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
5849
5850 * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
5851 little endian.
5852
befc3abb
MS
58532002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
5854
5855 * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
5856 (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
5857 * bfd-in2.h: Regenerate.
5858 * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
5859 Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
5860 with "s390:64-bit".
5861 * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
5862 (elf_s390_reloc_type_lookup): Likewise.
5863 (elf_s390_check_relocs): Likewise.
5864 (elf_s390_gc_sweep_hook): Likewise.
5865 (elf_s390_relocate_section): Likewise.
5866 (elf_s390_object_p): Use renamed architecture define.
5867 * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
5868
6eeeec9b
FCE
58692002-02-19 Frank Ch. Eigler <fche@redhat.com>
5870
5871 * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
5872
0bb2d96a
JJ
58732002-02-19 Jakub Jelinek <jakub@redhat.com>
5874
5875 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
5876 absptr -> pcrel optimization for shared libs.
5877 Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
5878 library cannot be converted to pcrel.
5879 (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
5880 relative.
5881 * elf32-i386.c (elf_i386_relocate_section): If
5882 _bfd_elf_section_offset returned -2, skip, but make sure the
5883 relocation is installed.
5884 * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
5885 * elf32-cris.c (cris_elf_relocate_section): Likewise.
5886 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
5887 * elf32-i370.c (i370_elf_relocate_section): Likewise.
5888 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
5889 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
5890 * elf32-s390.c (elf_s390_relocate_section): Likewise.
5891 * elf32-sh.c (sh_elf_relocate_section): Likewise.
5892 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5893 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
5894 * elf64-s390.c (elf_s390_relocate_section): Likewise.
5895 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
5896 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5897 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
5898 * elf64-alpha.c (elf64_alpha_relocate_section): Handle
5899 _bfd_elf_section_offset returning -2 the same way as -1.
5900 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
5901 * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
5902 and BFD_ASSERT.
5903 * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
5904
69f284c7
TR
59052002-02-18 Tom Rix <trix@redhat.com>
5906
5907 * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
5908 (bfd_xcoff_size_dynamic_sections): Same.
5909 * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
5910 (bfd_xcoff_size_dynamic_sections): Same.
5911 * coff-rs6000.c (xcoff_generate_rtinit): Same.
5912 * coff-rs646000.c (xcoff64_generate_rtinit): Same.
5913 * libxcoff.h (struct xcoff_backend_data_rec): Same.
5914 * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
5915 * bfd-in2.h: Regenerate.
5916
82bd7b59
AM
59172002-02-18 Alan Modra <amodra@bigpond.net.au>
5918
5919 * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
5920 (struct ppc_link_hash_table): Add sfpr.
5921 (ppc64_elf_link_hash_table_create): Init it.
5922 (ppc64_elf_create_dynamic_sections): Split creation of .stub and
5923 .glink out to..
5924 (create_linkage_sections): ..here. Make .sfpr too.
5925 (ppc64_elf_check_relocs): Call create_linkage_sections, and set
5926 dynobj early.
5927 (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
5928 (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
5929 ._restf* functions, and create as needed.
5930 (func_desc_adjust): Only force_local for shared libs.
5931
ef1355e8
NC
59322002-02-18 David O'Brien <obrien@FreeBSD.org>
5933
5934 * configure.in: Bump version number post 2.12 branching.
5935 * configure: Regenerate.
5936
dfa36a69
HPN
59372002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
5938
5939 * mmo.c: Correct and improve comments.
5940 (mmo_write_chunk): Store trailing byte in bfd buffer; don't
5941 zero-pad. Use input to fill up non-empty bfd buffer.
5942 (mmo_flush_chunk): New function.
5943 (mmo_write_loc_chunk): Add parameter last_vmap, all callers
5944 changed. Don't emit location specifier if VMA is same as
5945 *LAST_VMAP after omitting leading zero contents. Call
5946 mmo_flush_chunk before emitting location specifier.
5947 (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
5948 with mmo_write_loc_chunk calls.
5949 (mmo_internal_write_section): Call mmo_flush_chunk after
5950 mmo_write_chunk.
5951 (mmo_write_symbols_and_terminator): Move :Main to first position
5952 in symbol array. Add faked one if it does not exist if there are
5953 other symbols. Don't add it if there are no symbols at all. Move
5954 out test for value of :Main from symbol loop. Rename table
5955 fakemain to maintable and variable mainsym to fakemain.
5956
ccf00ab6
RH
59572002-02-15 Richard Henderson <rth@redhat.com>
5958
5959 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
5960 section with no got matches any got. Simplify error generaion.
5961
88eaccc2
AM
59622002-02-15 Alan Modra <amodra@bigpond.net.au>
5963
fd96f80f
AM
5964 Support arbitrary length fill patterns.
5965 * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
5966 (_bfd_default_link_order): Remove bfd_fill_link_order code.
5967 Call default_data_link_order.
5968 (default_fill_link_order): Delete.
5969 (default_data_link_order): New function.
5970 * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
5971 of bfd_fill_link_order with bfd_data_link_order.
5972 * elf64-alpha.c (elf64_alpha_final_link): Likewise.
5973 * elf64-mips.c (mips_elf64_final_link): Likewise.
5974
88eaccc2
AM
5975 * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
5976 Correct value returned in "end" for "0x<non-hex>".
5977
e2fd756b
NC
59782002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
5979
5980 * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
5981 (scan): Test against 'mach' field in info structure.
5982
edd29cf9
AM
59832002-02-14 Alan Modra <amodra@bigpond.net.au>
5984
5985 * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
5986
1e30956e 59872002-02-14 Matt Fredette <fredette@netbsd.org>
76f57f3a
JT
5988
5989 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
5990 EF_M68000.
5991
bf36db18
NC
59922002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
5993
5994 * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
edd29cf9
AM
5995 non-zero physical addresses when adjusting the LMAs of new
5996 sections.
bf36db18 5997
189c6563
AM
59982002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
5999
6000 * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
6001 from _bfd_elf_hppa_gen_reloc_type.
6002 (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
6003 * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
6004 * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
6005 * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
6006
e948afaf
AO
60072002-02-12 Alexandre Oliva <aoliva@redhat.com>
6008
6009 * elf-m10300.c (mn10300_elf_relax_section): Skip section before
6010 loading its contents if there's nothing to do in it.
6011
19397422
AM
60122002-02-12 Alan Modra <amodra@bigpond.net.au>
6013
0ad3a73b
AM
6014 * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
6015 64k boundary.
6016
19397422
AM
6017 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
6018 DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
6019 (ppc64_elf_finish_dynamic_sections): Set values for them.
6020
51316059
MS
60212002-02-11 Michael Snyder <msnyder@redhat.com>
6022
6023 * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
6024 * elf.c (elfcore_grok_pstatus): Add prototype.
6025 (elfcore_grok_lwpstatus): Add prototype.
6026 (elfcore_write_lwpstatus): New function.
6027 (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
6028
518313c3
AO
60292002-02-11 Alexandre Oliva <aoliva@redhat.com>
6030
6031 * elf32-sh.c: Added missing prototypes.
6032 * elf32-sh64.c: Likewise.
6033 (sh_elf_align_loads): Mark unused args as such.
6034 * elf64-sh64.c: Added missing prototypes.
6035 (struct elf_sh64_link_hash_entry): Fix typo.
6036 (sh_elf64_relocate_section): Fix info argument passed to
6037 _bfd_elf_section_offset.
6038
2c73f9d8
AM
60392002-02-11 Alan Modra <amodra@bigpond.net.au>
6040
6041 * Makefile.am: "make dep-am".
6042 * Makefile.in: Regenerate.
6043 * aclocal.m4: Regenerate.
6044 * config.in: Regenerate.
6045 * configure: Regenerate.
6046
d426c6b0
DJ
60472002-02-10 Daniel Jacobowitz <drow@mvista.com>
6048
6049 * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
6050 variable warnings.
6051 * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
6052 comparison warning.
6053 * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
6054 cast warnings for the common case.
6055
e58ee0cd
HPN
60562002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
6057
6058 * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
6059 vectors.
6060 (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
6061 vectors.
6062
7793f4d0
RH
60632002-02-09 Richard Henderson <rth@redhat.com>
6064
6065 * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
6066 (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
6067 (elf64_alpha_relocate_section): Likewise.
6068 * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
6069 * bfd-in2.h, libbfd.h: Rebuild.
6070
7e799044
HPN
60712002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
6072
6073 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
6074 that base-plus-offset reloc accounting is consistent.
6075 (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
6076 up to date for undefined symbols.
6077
027d73eb
EC
60782002-02-08 Eric Christopher <echristo@redhat.com>
6079
6080 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6081
6082 * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
6083 sections for the O32 ABI.
6084
517662d4
CD
60852002-02-08 Chris Demetriou <cgd@broadcom.com>
6086
6087 * elf32-arm.h: Fix formatting of _("...").
6088 * elf32-d10v.c: Likewise.
6089 * elf32-m68k.c: Likewise.
6090 * elf32-mips.c: Likewise.
6091
5e37cc46
NC
60922002-02-08 Ivan Guzvinec <ivang@opencores.org>
6093
6094 * coff-or32.c: Fix compile time warning messages.
6095
fbca6ad9
AO
60962002-02-08 Alexandre Oliva <aoliva@redhat.com>
6097
6098 Contribute sh64-elf.
6099 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
6100 * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
6101 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
6102 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
6103 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
6104 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
6105 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
6106 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
6107 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
6108 R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
6109 New relocs.
6110 * libbfd.h, bfd-in2.h: Rebuilt.
6111 * elf32-sh.c (sh_elf_howto_table): Define new relocs.
6112 (sh_reloc_map): Map them.
6113 (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
6114 elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
6115 elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
6116 elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
6117 elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
6118 elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
6119 movi_shori_putval) [INCLUDE_SHMEDIA]: New.
6120 (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
6121 datalabel_got_offset.
6122 (sh_elf_link_hash_newfunc): Initialize it.
6123 (sh_elf_relocate_section): Augment the scope of
6124 seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
6125 GOT and GOTOFF handling to new SHmedia relocation types. Support
6126 GOT_BIAS.
6127 (sh_elf_check_relocs): Likewise.
6128 (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
6129 PLT entries using movi_shori_putval. Support GOT_BIAS.
6130 (sh_elf_finish_dynamic_sections): Likewise.
6131 * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
6132 relocation, it's now done by the caller.
6133 (GOT_BIAS): New.
6134 * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
6135 elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
6136 elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
6137 elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
6138 elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
6139 elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
6140 sh64_elf64_hash_table): New.
6141 (sh_elf64_howto_table): Introduce new relocs.
6142 (sh_elf64_info_to_howto): Accept new PIC relocs.
6143 (sh_elf64_relocate_section): Augment the scope of
6144 seen_stt_datalabel. Support new PIC relocs.
6145 (sh_elf64_check_relocs): Support new PIC relocs.
6146 (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
6147 elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
6148 elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
6149 elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
6150 sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
6151 movi_shori_putval, movi_3shori_putval,
6152 sh64_elf64_create_dynamic_sections,
6153 sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
6154 sh64_elf64_size_dynamic_sections,
6155 sh64_elf64_finish_dynamic_symbol,
6156 sh64_elf64_finish_dynamic_sections): New.
6157 (elf_backend_create_dynamic-sections,
6158 bfd_elf64_bfd_link_hash_table_create,
6159 elf_backend_adjust_dynamic_symbol,
6160 elf_backend_size_dynamic_sections,
6161 elf_backend_finish_dynamic_symbol,
6162 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
6163 elf_backend_plt_readonly, elf_backend_want_plt_sym,
6164 elf_backend_got_header_size, elf_backend_plt_header_size):
6165 Define.
6166 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
6167 * elf32-sh.c: Renumbered and renamed some SH5 relocations to
6168 match official numbers and names; moved unmaching ones to the
6169 range 0xf2-0xff.
6170 * elf32-sh64.c, elf64-sh64.c: Likewise.
6171 2001-03-12 DJ Delorie <dj@redhat.com>
6172 * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
6173 sections.
6174 2001-03-12 DJ Delorie <dj@redhat.com>
6175 * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
6176 be aligned.
6177 * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
6178 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
6179 * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
6180 (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
6181 .cranges section with SEC_SORT_ENTRIES set.
6182 (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
6183 incoming sorted .cranges section.
6184 (sh64_bfd_elf_copy_private_section_data): New.
6185 (sh64_elf_final_write_processing): Only sort .cranges and modify
6186 start address if called by linker.
6187 2001-01-08 Ben Elliston <bje@redhat.com>
6188 * elf32-sh64.c (sh64_elf_final_write_processing): Activate
6189 Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
6190 * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
6191 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
6192 * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
6193 line. Add comments before all entries.
6194 <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
6195 comment.
6196 (sh_elf64_reloc): Correct head comment.
6197 (sh_elf64_relocate_section): Correct spacing.
6198 <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
6199 instead call reloc_dangerous callback.
6200 <case R_SH_SHMEDIA_CODE>: New case.
6201 (sh_elf64_gc_mark_hook): Correct spacing.
6202 (sh_elf64_check_relocs): Ditto.
6203 * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
6204 New case.
6205 * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
6206 functions.
6207 (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
6208 clarify describing comment. Add comments before all entries.
6209 (sh_elf_relocate_section) <relocating for a local symbol>: Do not
6210 honour STO_SH5_ISA32; instead call reloc_dangerous callback.
6211 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
6212 Sort .cranges section in final link. Prepare to set bit 0 on
6213 entry address.
6214 * elf32-sh64.c (struct sh64_find_section_vma_data): New.
6215 (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
6216 (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
6217 .cranges section.
6218 (sh64_backend_section_from_shdr): New, to recognize
6219 SHT_SH5_CR_SORTED on incoming .cranges section.
6220 (elf_backend_section_from_shdr): Define.
6221 (sh64_elf_final_write_processing): Sort outgoing .cranges
6222 section. (New, temporarily disabled:) Set bit 0 on entry address
6223 according to ISA type.
6224 (sh64_find_section_for_address): New.
6225 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
6226 crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
6227 (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
6228 bfd_malloc, not xmalloc.
6229 (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
6230 global.
6231 * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
6232 temporarily disabled) setting bit 0 on entry address.
6233 (elf_backend_final_write_processing): Define.
6234 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
6235 * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
6236 be a proper relocation for PTA and PTB rather than a marker.
6237 <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
6238 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
6239 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
6240 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
6241 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
6242 Zero src_mask.
6243 * elf64-sh64.c: Ditto.
6244 (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
6245 * elf32-sh64.c: Include opcodes/sh64-opc.h
6246 (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
6247 argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
6248 parameters. No unused parameters. Caller changed.
6249 <case R_SH_PT_16>: New case.
6250 * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
6251 * Makefile.in: Regenerate.
6252 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
6253 * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
6254 all code sections.
6255 (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
6256 (sh64_elf_merge_private_data): Ditto.
6257 * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
6258 to access stored section flags.
6259 (sh64_elf_final_write_processing): Return immediately unless
6260 called by linker. Use sh64_elf_section_data (cranges) to get size
6261 of linker-generated cranges entries.
6262 (sh64_elf_copy_private_data): Add missing "return true".
6263 (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
6264 (sh_elf64_merge_private_data): Ditto.
6265 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
6266 * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
6267 elf64-sh64.c:sh64_elf_fake_sections.
6268 (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
6269 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
6270 * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
6271 (sh64_elf_final_write_processing): New.
6272 (elf_backend_final_write_processing): Define.
6273 (sh64_elf_fake_sections): Get header flags from tdata field.
6274 (sh64_elf_copy_private_data): Do not call
6275 sh64_elf_copy_private_data_internal, just copy e_flags field.
6276 (sh64_elf_merge_private_data): Do not call
6277 sh64_elf_copy_private_data_internal.
6278 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
6279 Remove EF_SH64_ABI64, let ELF size make difference.
6280 Remove SH64-specific BFD section flag.
6281 * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
6282 containing SHmedia through elf_section_data (asect)->tdata
6283 non-zero, not using a BFD section flag.
6284 (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
6285 (sh64_elf_merge_private_data): Similar.
6286 (elf_backend_section_flags): Don't define.
6287 (sh64_elf_backend_section_flags): Delete.
6288 * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
6289 not EF_SH64_ABI64.
6290 (sh_elf64_merge_private_data): Similar.
6291 * section.c (Section flags definitions): Don't define
6292 SEC_SH_ISA_SHMEDIA.
6293 (bfd-in2.h): Regenerate.
6294 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
6295 Make DataLabel references work with partial linking.
6296 * elf32-sh64.c: Fix formatting.
6297 (sh64_elf_link_output_symbol_hook): New.
6298 (elf_backend_link_output_symbol_hook): Define to
6299 sh64_elf_link_output_symbol_hook.
6300 (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
6301 undefined if partial linking. Adjust sanity check.
6302 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
6303 (elf_backend_link_output_symbol_hook): Define to
6304 sh64_elf64_link_output_symbol_hook.
6305 (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
6306 undefined if partial linking. Adjust sanity check.
6307 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
6308 Implement semantics for inter-file DataLabel references.
6309 * elf64-sh64.c (DATALABEL_SUFFIX): Define.
6310 (sh64_elf64_add_symbol_hook): New.
6311 (sh_elf64_relocate_section): If passing an indirect symbol with
6312 st_type STT_DATALABEL on the way to a symbol with st_other
6313 STO_SH5_ISA32, do not bitor 1 to the relocation.
6314 (elf_backend_add_symbol_hook): Define to
6315 sh64_elf64_add_symbol_hook.
6316 * elf64-sh32.c: Tweak comments.
6317 (DATALABEL_SUFFIX): Define.
6318 (sh64_elf_add_symbol_hook): New.
6319 (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
6320 * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
6321 symbol with st_type STT_DATALABEL on the way to a symbol with
6322 st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
6323 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
6324 Pass through STT_DATALABEL.
6325 * elf32-sh64.c (sh64_elf_get_symbol_type): New.
6326 (elf_backend_get_symbol_type): Define.
6327 * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
6328 (elf_backend_get_symbol_type): Define.
6329 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
6330 * elf32-sh64.c: Tweak comments.
6331 (sh64_elf_copy_private_data_internal): Add prototype.
6332 (bfd_elf32_bfd_set_private_flags): Define.
6333 (sh64_elf_copy_private_data_internal): Compare machine name, not
6334 textual BFD target name, to check whether to copy section flag
6335 SHF_SH5_ISA32.
6336 (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
6337 Tweak section-contents-type-mismatch message.
6338 (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
6339 Validize reloc-types.
6340 * elf64-sh64.c: New file.
6341 * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
6342 * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
6343 (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
6344 Regenerate dependencies.
6345 * Makefile.in: Regenerate.
6346 * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
6347 bfd_elf64_sh64l_vec.
6348 * configure.in: Handle bfd_elf64_sh64_vec and
6349 bfd_elf64_sh64l_vec.
6350 * configure: Regenerate.
6351 * po/POTFILES.in: Regenerate.
6352 * po/bfd.pot: Regenerate.
6353 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
6354 * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
6355 anything else but EF_SH64 and EF_SH64_ABI64.
6356 (sh64_elf_merge_private_data): Emit error for anything else but
6357 EF_SH64 and EF_SH64_ABI64.
6358 * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
6359 from targ_selvecs.
6360 * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
6361 bfd_elf32_sh64l_vec as a temporary measure.
6362 * configure: Regenerate.
6363 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
6364 * cpu-sh.c (arch_info_struct): Include sh5 item
6365 unconditionalized.
6366 * config.bfd (sh64-*-elf*): Do not set targ_cflags.
6367 Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
6368 bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
6369 * elf32-sh64.c: Tweak comments.
6370 (sh64_elf_set_mach_from_flags): Recognize all machine flags that
6371 are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
6372 (sh64_elf_copy_private_data_internal): Wrap long line.
6373 (sh64_elf_merge_private_data): Rewrite to allow objects from
6374 SH64 subsets to be linked together.
6375 (INCLUDE_SHMEDIA): Define.
6376 * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
6377 Parenthesize plus-expression inside or-expression.
6378 <global symbol>: Ditto.
6379 (sh_elf_set_mach_from_flags): Remove code refusing
6380 deleted EF_SH64_32BIT_ABI flag.
6381 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
6382 * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
6383 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
6384 R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
6385 (sh_elf_relocate_section) <local symbol>: Or 1 in
6386 calculation of relocation if sym->st_other & STO_SH5_ISA32.
6387 <global symbol>: Ditto if h->other & STO_SH5_ISA32.
6388 * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
6389 relocation.
6390 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
6391 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
6392 (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
6393 Regenerate dependencies.
6394 * Makefile.in: Regenerate.
6395 * archures.c: Add bfd_mach_sh5.
6396 * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
6397 Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
6398 * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
6399 * configure: Regenerate.
6400 * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
6401 BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
6402 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
6403 BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
6404 BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
6405 BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
6406 BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
6407 BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
6408 BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
6409 * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
6410 in item for SH5.
6411 * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
6412 for SHmedia relocs.
6413 [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
6414 [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
6415 shmedia_prepare_reloc, goto final_link_relocate if it returns
6416 non-zero, else fail as before.
6417 (sh_elf_set_mach_from_flags): Provide function only if not defined
6418 as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
6419 (sh_elf_set_private_flags): Provide function only if not defined
6420 as a macro.
6421 (sh_elf_copy_private_data): Similar.
6422 (sh_elf_merge_private_data): Similar.
6423 * section.c (SEC_SH_ISA_SHMEDIA): New.
6424 * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
6425 * elf32-sh64.c: New file.
6426 * libbfd.h: Regenerate.
6427 * bfd-in2.h: Regenerate.
6428 * po/POTFILES.in: Regenerate.
6429 * po/bfd.pot: Regenerate.
6430 * bfd-in2.h: Regenerate.
6431 * libbfd.h: Regenerate.
6432
e108f470
DJ
64332002-02-07 Daniel Jacobowitz <drow@mvista.com>
6434
6435 * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
6436 been included, not drag it in.
6437 * bfd-in2.h: Regenerate.
6438
259d18a3
L
64392002-02-06 H.J. Lu (hjl@gnu.org)
6440
6441 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
6442 the mach and ISA fields if necessary.
6443
f13b834e
NC
64442002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
6445
6446 * coffcode.h (coff_set_arch_mach_hook): Select the highest known
6447 ARM architecture when an F_ARM_5 flag is detected, since we cannot
6448 be sure exactly which architecture this represents.
6449
82f6addb
NC
64502002-02-05 Nick Clifton <nickc@redhat.com>
6451
6452 * po/tr.po: Updated translation.
6453
899f54f5
AM
64542002-02-05 Alan Modra <amodra@bigpond.net.au>
6455
6456 From Jimi X <jimix@watson.ibm.com>
6457 * archures (bfd_mach_ppc64): Define.
6458 (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
6459 (bfd_powerpc_arch): Define.
6460 * bfd-in2.h: Regenerate.
6461 * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
6462 (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
6463 (bfd_powerpc_archs): Add default powerpc64 arch.
6464
248866a8
AM
64652002-02-05 Alan Modra <amodra@bigpond.net.au>
6466
6467 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
6468 against section syms in readonly sections. Don't do the global
6469 sym check if we find one.
6470 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
6471 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
0a6958db 6472 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
248866a8
AM
6473 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
6474 (elf_s390_grok_prstatus): Add missing prototype.
6475
4fa5c2a8
HPN
64762002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
6477
6478 * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
6479 (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
6480 Call bfd_get_section_by_name only once. Initialize
6481 bpodata->n_bpo_relocs_this_section.
6482 (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
6483 referring to DSOs.
6484 (bpo_reloc_request_sort_fn): Don't use difference of values as
6485 return-value.
6486
537c972e
DB
64872002-02-02 David O'Brien <obrien@FreeBSD>
6488
6489 * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
6490 version 4.5 and later the same as 5-CURRENT.
6491 * configure: Re-generate.
6492
006336b8
JT
64932002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
6494
6495 * config.bfd (hppa*-*-netbsd*): New target.
6496
6c571f00
PT
64972002-01-31 Philipp Thomas <pthomas@suse.de>
6498
19397422
AM
6499 * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
6500 to front of message. Unify messages with elf32-arm.h. Use
6501 commas where neccessary.
6502 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
6503 ERROR in messages. Unify messages with coff-arm.c. Correct
6504 VFP/FPA error message.
6505 (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
6506 APCS-32 for translation.
6c571f00 6507
930b4cb2
HPN
65082002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
6509
6510 Perform on-demand global register allocation from
6511 R_MMIX_BASE_PLUS_OFFSET relocs.
6512 * elf64-mmix.c (struct bpo_reloc_section_info, struct
6513 bpo_reloc_request, struct bpo_greg_section_info): New.
6514 (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
6515 bpo_reloc_request_sort_fn, mmix_elf_relax_section,
6516 _bfd_mmix_check_all_relocs,
6517 _bfd_mmix_prepare_linker_allocated_gregs,
6518 _bfd_mmix_finalize_linker_allocated_gregs): New functions.
6519 (elf_mmix_howto_table): Correct src_mask for most relocs.
6520 (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
6521 case.
6522 (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
6523 case. Fix typo in comment. New label do_mmix_reloc.
6524 (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
6525 store first object file with a base-plus-offset reloc. Call
6526 mmix_elf_check_common_relocs for the part common with mmo.
6527 (mmix_elf_final_link): Write out linker-allocated register
6528 contents section.
6529 (elf_backend_gc_sweep_hook): Define.
6530 (bfd_elf64_bfd_relax_section): Define.
6531
6532 * mmo.c: Don't include <ctype.h>
6533 (mmo_init): Correct init-once logic.
6534
3e36d993
TR
65352002-02-01 Tom Rix <trix@redhat.com>
6536
6537 * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
6538
ba323545
AM
65392002-02-01 Alan Modra <amodra@bigpond.net.au>
6540
6541 * Makefile.am: Run "make dep-am"
6542 * Makefile.in: Regenerate.
6543
012884d6
DB
65442002-01-31 David O'Brien <obrien@FreeBSD>
6545
6546 * configure.in: Recognize the differences in core files from FreeBSD
6547 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
6548 5-CURRENT.
6549 * configure: Regenerate.
6550
3b16e843
NC
65512002-01-31 Ivan Guzvinec <ivang@opencores.org>
6552
6553 * coff-or32.c: New file.
6554 * cpu-or32.c: New file.
6555 * elf32-or32.c: New file.
6556 * archures.c: Add support for or32.
6557 * targets.c: Add support for or32.
6558 * bfd-in2.h: Regenerate.
7dc0ab31 6559 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
3b16e843
NC
6560 coff_write_object_contents): Add support for or32.
6561 * config.bfd: Add target.
6562 * configure.in: Add support for or32.
6563 * configure: Regenerate.
6564 * Makefile.am: Add support for or32.
6565 * Makefile.in: Regenerate.
3b16e843
NC
6566 * po/SRC-POTFILES.in: Add or32 files.
6567 * po/bfd.pot: Regenerate.
7dc0ab31 6568
caf8ca8e
NC
65692002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
6570 Don Lindsay <lindsayd@cisco.com>
6571
6572 * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
6573 false' with a return of a bfd_reloc_ error code.
6574
e5dfef09
HPN
65752002-01-31 Hans-Peter Nilsson <hp@axis.com>
6576
6577 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
6578 unexport unreferenced symbols when --export-dynamic. Call
6579 _bfd_elf_strtab_delref when unexporting.
6580
4e4770d0
DJ
65812002-01-30 Daniel Jacobowitz <drow@mvista.com>
6582
6583 * bfd-in.h: Include <stdbool.h> if it is available.
6584 * bfd-in2.h: Regenerated.
6585
e1fa50e7
AM
65862002-01-31 Alan Modra <amodra@bigpond.net.au>
6587
6588 * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
6589 not go via the plt.
6590
b5f79c76
NC
65912002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
6592
b5f79c76
NC
6593 * archures.c: Tidy up formatting of embedded comments.
6594 * bfd.c: Tidy up formatting of embedded comments.
7dc0ab31 6595 * bfd-in.h: Fix formatting of comments.
b5f79c76
NC
6596 * reloc.c: Tidy up formatting of ordinary & embedded comments.
6597 * section.c: Tidy up formatting of embedded comments.
6598 * syms.c: Tidy up formatting of embedded comments.
6599 * targets.c: Tidy up formatting of embedded comments.
6600
6601 * bfd-in2.h: Regenerate.
6602
ca09e32b
NC
66032002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
6604
6605 * vms-tir.c (cmd_name): New function.
6606 (tir_cmd_name): New function.
6607 (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
6608 (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
6609 Fix formatting.
7dc0ab31 6610
ca09e32b
NC
6611 * peXXigen.c (pe_print_idata): Rearrange message to aid in
6612 translation.
6613 (pe_print_pdata): Rearrange message to aid in translation.
6614
6615 * libbfd.c (warn_deprecated): Rearrange error message to aid in
6616 translation.
6617
6618 * ihex.c (ihex_write_object_contents): Fix spelling typo.
6619
6620 * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
6621
6622 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
6623 message to aid in translation.
6624
6625 * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
6626 to aid in translation.
6627
6628 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
6629
7dc0ab31 66302002-01-30 Philipp Thomas <pthomas@suse.de>
ae1a89b7
PT
6631
6632 * coff-arm.c, elf32-elf.h: Unify messages.
6633
05f64ac6
NC
66342002-01-30 Nick Clifton <nickc@redhat.com>
6635
6636 * po/sv.po: Updated translation.
6637
f5a3e38a
NC
66382002-01-30 Philipp Thomas <pthomas@suse.de>
6639
6640 * dwarf2.c (read_abbrev): Use full section name in error message.
6641 (decode_line_info): Likewise.
661a3fd4
NC
6642
6643 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
6644 message.
6645
d926e03d
AM
66462002-01-30 Alan Modra <amodra@bigpond.net.au>
6647
6648 * elf64-ppc.c (func_desc_adjust): Only provide missing function
6649 descriptor symbols for undefined function code syms. Clear
6650 ELF_LINK_NON_ELF so that they can stay weak.
6651
030d18fb 66522002-01-29 Chris Demetriou <cgd@broadcom.com>
7dc0ab31 6653 Mitch Lichtenberg <mpl@broadcom.com>
030d18fb
CD
6654
6655 * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
6656 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
6657 to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
6658 generation.
6659 * bfd-in2.h: Regenerate.
6660
fcc76bea
CD
66612002-01-29 Chris Demetriou <cgd@broadcom.com>
6662
6663 * elf32-mips.c: Add additional comments about HI16 relocation
6664 processing.
6665 (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
6666 pc-relative relocations. (Reverts change made on 2001-10-31.)
6667 (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
6668 for pc-relative relocations.
6669 (mips_elf_calculate_relocation): Add a comment about a kludge
6670 in the R_MIPS_GNU_REL_HI16 handling.
6671 (_bfd_mips_elf_relocate_section): Implement that kludge;
6672 adjust pc-relative HI16 relocation for difference in HI16 and
6673 LO16 addresses, since it can't easily be done in
6674 mips_elf_calculate_relocation.
6675
f9cd9119
MS
66762002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
6677
6678 * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
6679 relocations with PC32 relocations for undefined or weak symbols.
6680 * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
6681 * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
6682
702248bb
JT
66832002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
6684
6685 * elfcore.h (elf_core_file_p): Improve comment for last change.
6686
4867be41
DJ
66872002-01-27 Daniel Jacobowitz <drow@mvista.com>
6688
6689 * configure: Regenerated.
6690
a94cef6a
JT
66912002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
6692
6693 * elfcore.h (elf_core_file_p): Set the machine architecture
6694 before processing the program headers.
6695
7562a296
HPN
66962002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
6697
966abd70
HPN
6698 * configure.in <64-bit configuration>: If using gcc, check and
6699 emit error for egcs-1.1.2.
6700 * configure: Regenerate.
6701
e8eab623
NC
67022002-01-26 Egor Duda <deo@logos-m.ru>
6703
6704 * elf.c (elfcore_grok_win32pstatus): Copy only as much information
6705 as possible to avoid stack corruption.
6706
73896efb
RH
67072002-01-26 Richard Henderson <rth@redhat.com>
6708
6709 * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
6710 for non-allocated sections.
6711
67122002-01-25 Mark Kettenis <kettenis@gnu.org>
c106e334
MK
6713
6714 * elf.c (elfcore_write_prstatus): Make sure we pass the address of
6715 prstat.pr_reg even if it is a struct.
6716
73896efb 67172002-01-25 Steve Ellcey <sje@cup.hp.com>
254ed743 6718
c5cd6d62 6719 * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
254ed743 6720
3d66c4f7
NC
67212002-01-25 Philipp Thomas <pthomas@suse.de>
6722
6723 * coffgen.c (coff_print_symbol): Don't mark info message
6724 for translation.
6725
9460ecda
NC
67262002-01-25 Nick Clifton <nickc@redhat.com>
6727
6728 * po/fr.po: Updated translation.
6729 * po/es.po: Updated translation.
6730
cc9ff76a
AM
67312002-01-25 Philipp Thomas <pthomas@suse.de>
6732
6733 * coff-alpha.c (alpha_relocate_section): Unify warning message
6734 for GP relative relocations without GP defined.
6735 * coff-mips.c (mips_relocate_section): Likewise.
6736
c68836a9
AM
67372002-01-25 Alan Modra <amodra@bigpond.net.au>
6738
6739 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
6740 unsigned overflow when new_offset < old_offset.
6741
e8eab623 67422002-01-24 Philipp Thomas <pthomas@suse.de>
391154e9
NC
6743
6744 * bfd.c (_bfd_abort): Fix typo.
6745
8ba89f17
RH
67462002-01-23 Richard Henderson <rth@redhat.com>
6747
6748 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
6749 plt entries for undefweak symbols.
6750
c6953948
NC
67512002-01-23 Steve Ellcey <sje@cup.hp.com>
6752
c5cd6d62 6753 * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
c6953948
NC
6754 (bfd_elf64_ia64_hpux_big_vec): Ditto.
6755 (bfd_elf32_h8300_vec): Ditto.
6756
41bd81ab
AM
67572002-01-23 Alan Modra <amodra@bigpond.net.au>
6758
6759 * elf64-ppc.c: Remove stale part of ABI comment.
6760 (NO_OPD_RELOCS): Define.
6761 (ppc64_elf_check_relocs): Use it.
6762 (ppc64_elf_relocate_section): Here too.
6763 (build_one_stub): Don't point function syms at the stub. Instead,
6764 hijack plt.offset.
6765 (ppc64_elf_relocate_section): Check whether REL24 relocs should
6766 really go to the stub. Make all dynamic relocs in opd against
6767 locals.
6768 (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
6769 plt.offset.
6770
f304919d
RH
67712002-01-22 Richard Henderson <rth@redhat.com>
6772
6773 * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
6774
c0ef99a7
AM
67752002-01-22 Alan Modra <amodra@bigpond.net.au>
6776
60ee0d4a
AM
6777 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
6778 TOC_BASE_OFF adjustment.
6779
c0ef99a7
AM
6780 * Makefile.am: Run "make dep-am".
6781 * Makefile.in: Regenerate.
6782 * po/SRC-POTFILES.in: Regenerate.
6783
64328b46
AM
67842002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
6785
6786 * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
6787 host defines.
6788
59953665 67892002-01-21 Hans-Peter Nilsson <hp@axis.com>
58255df3
HPN
6790
6791 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
6792 Check for and emit error if sgot is NULL at this point.
6793
9596feea
JT
67942002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
6795
6796 * config.bfd (ia64*-*-netbsd*): New target.
6797
7b45c6e1
AM
67982002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
6799
6800 * som.c (som_write_space_strings): Comment typo fix.
6801
e5094212
AM
68022002-01-21 Alan Modra <amodra@bigpond.net.au>
6803
e86ce104
AM
6804 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
6805 is_func_descriptor fields.
6806 (link_hash_newfunc): Init them.
6807 (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
6808 dot are candidates for plt entries. When processing .opd relocs,
6809 set function descriptor strings to point inside function code
6810 string, and set new ppc_link_hash_entry fields.
6811 (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
6812 (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
6813 function descriptors. It's now done in..
6814 (func_desc_adjust): New.
6815 (ppc64_elf_func_desc_adjust): New.
6816 (define elf_backend_always_size_sections): Define.
6817 (ppc64_elf_hide_symbol): New.
6818 (define elf_backend_hide_symbol): Define.
6819 (allocate_dynrelocs): Remove code looking up function descriptors
6820 as that has been done earlier.
6821 (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
6822 table.
6823 (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
6824 up function descriptor.
6825 (build_one_stub): Look up the function code sym. Check for
6826 invalid plt offsets.
6827 (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
6828 Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
6829
e5094212
AM
6830 * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
6831 boolean param.
6832 (_bfd_elf_link_hash_hide_symbol): Likewise.
6833 * elflink.h (elf_link_add_object_symbols): Adjust call to
6834 elf_backend_hide_symbol.
6835 (elf_fix_symbol_flags): Likewise.
6836 (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
6837 than bfd_alloc.
6838 * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
6839 Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
6840 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
6841 (clobber_millicode_symbols): Adjust to suit new hide_symbol.
6842 * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
6843 and adjust to suit.
6844 * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
6845 _bfd_elf_link_hash_hide_symbol rather than duplicating code.
6846 * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
6847
40b8271b
AM
68482002-01-18 Alan Modra <amodra@bigpond.net.au>
6849
6850 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
6851 dynamic function descriptor symbol, not the associated function
6852 symbol.
6853
55baa95b
EC
68542002-01-17 Eric Christopher <echristo@redhat.com>
6855
6856 * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
6857
328577ad
NC
68582002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
6859
6860 * po/bfd.pot: Regenerate.
6861 * po/fr.po: Regenerate.
6862
af746e92
AM
68632002-01-17 Alan Modra <amodra@bigpond.net.au>
6864
6865 * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
6866 Remove "Elf_Internal_Shdr *" param.
6867 (_bfd_mips_elf_section_from_bfd_section): Ditto.
6868 * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
6869 * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
6870 * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
6871 * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
6872 * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
6873 * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
6874 function to override special sections. Remove hdr arg from
6875 backend call, and don't loop.
6876
175e9962
EC
68772002-01-16 Eric Christopher <echristo@redhat.com>
6878
6879 * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
6880 on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
6881 relocations requiring gp0 and gp.
6882
96a846ea
RE
68832002-01-16 Richard Earnshaw <rearnsha@arm.com>
6884
175e9962 6885 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
96a846ea
RE
6886 EF_ARM_VFP_FLOAT.
6887 (elf32_arm_print_private_bfd_data): Likewise.
6888
af3ae48d
NC
68892002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
6890
6891 * po/tr.po: Import new version.
6892
10ed1bba
AM
68932002-01-16 Alan Modra <amodra@bigpond.net.au>
6894
6895 * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
6896 (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
6897 (ORI_R0_R0_0): Correct.
6898
5d1634d7
AM
68992002-01-16 Alan Modra <amodra@bigpond.net.au>
6900
6901 * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
6902 when plt_not_loaded.
6903 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
6904 clear .plt SEC_CODE here. Create .stub and correct .glink flags.
6905 (PLT_INITIAL_ENTRY_SIZE): Set to 24.
6906 (ppc64_elf_glink_code): Delete.
6907 (PPC64_ELF_GLINK_SIZE): Delete.
6908 (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
6909 BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
6910 ORI_R0_R0_0): Define.
6911 (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
6912 (struct ppc_link_hash_table): Add sstub and plt_overflow.
6913 (ppc64_elf_link_hash_table_create): Init them.
6914 (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
6915 Don't copy to shared lib.
6916 (ppc64_elf_check_relocs): Call bfd_set_error on errors.
6917 (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
6918 (allocate_dynrelocs <plt>): Don't change function sym here. Make
6919 room for .stub and .glink code.
6920 (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
6921 DT_PPC64_GLINK.
6922 (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
6923 bfd_elf64_bfd_final_link.
6924 (bfd_elf64_bfd_final_link): Don't define.
6925 (ppc64_elf_size_stubs): New.
6926 (build_plt_stub): New.
6927 (build_one_stub): New.
6928 (ppc64_elf_build_stubs): New.
6929 (ppc64_elf_relocate_section <toc relocs>): Remove assert.
6930 (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
6931 (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
6932 DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
6933 case output sections not separate. Adjust DT_RELASZ to not
6934 include plt relocs. Set reserved got entry. Set got and plt
6935 entry size.
6936 (elf_backend_got_header_size): Set to 8.
6937 * elf64-ppc.h: New file.
6938
c601ffdb
AM
69392002-01-16 Alan Modra <amodra@bigpond.net.au>
6940
6941 * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
6942 sections, use bfd_section_list_remove.
6943 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
6944 * elflink.h (elf_link_add_object_symbols): When removing all
6945 sections, use bfd_section_list_clear.
6946
8fb4cb7f
NC
69472002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
6948
6949 * po/sv.po: New file: Swedish translation.
6950 * configure.in (ALL_LINGUAS): Add sv.
6951 * configure: Regenerate.
6952
d3c456e9
JJ
69532002-01-15 Jakub Jelinek <jakub@redhat.com>
6954
6955 * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
6956 * elf.c (merge_sections_remove_hook): New function.
6957 (_bfd_elf_merge_sections): Pass it as 3rd argument to
6958 _bfd_merge_sections.
6959 * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
6960 * libbfd.h: Rebuilt.
6961 * merge.c (_bfd_merge_sections): Add remove_hook argument.
6962 Call remove_hook if a SEC_EXCLUDE section is encountered.
6963
1f7fd478
NC
69642002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
6965
6966 * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
6967 (xstormy16_reloc_map): Initialise new field with correct howto
6968 table.
6969 (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
6970 howto entry.
6971
b87011e9
MS
69722002-01-10 Michael Snyder <msnyder@redhat.com>
6973
6974 * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
6975 (elfcore_write_pstatus): Use long instead of pid_t;
6976 * elf-bfd.h: Change prototypes to use long instead of pid_t;
6977
175e9962 69782002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
b4db1224
JT
6979
6980 * elf.c: Update copyright years.
6981 (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
6982 and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
6983
7c76fa91
MS
69842002-01-08 Michael Snyder <msnyder@redhat.com>
6985
6986 Add capability to write corefile note sections, for gdb.
6987 * elf.c (elfcore_write_note): New function.
6988 (elfcore_write_prpsinfo): New function.
6989 (elfcore_write_prstatus): New function.
6990 (elfcore_write_pstatus): New function.
6991 (elfcore_write_prfpreg): New function.
6992 (elfcore_write_prxfpreg): New function.
97996af6 6993 * elf-bfd.h: Add prototypes for above functions.
7c76fa91 6994
e1fddb6b
AO
69952002-01-08 Alexandre Oliva <aoliva@redhat.com>
6996
6997 * elf.c (elf_fake_sections): Propagate errors from
6998 elf_backend_fake_section.
6999
8d05742f
JT
70002002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
7001
7002 * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
7003 (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
7004 (elf32-sh-nbsd.lo): New rule.
7005 * Makefile.in: Regenerate.
7006 * config.bfd (sh*le-*-netbsdelf*): New target.
7007 (sh*-*-netbsdelf*): New target.
7008 * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
7009 (bfd_elf32_shnbsd_vec): New vector.
7010 (bfd_elf32_shlnbsd_vec): New vector.
7011 * configure: Regenerate.
7012 * elf32-sh-nbsd.c: New file.
7013 * targets.c: Update copyright years.
175e9962 7014 (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
8d05742f
JT
7015 bfd_elf32_shnbsd_vec.
7016
1dba4cb4
AH
70172002-01-07 Aldy Hernandez <aldyh@redhat.com>
7018
7019 * coff-rs6000.c (READ20): Use bfd_scan_vma.
7020
47b22aef
GK
70212002-01-07 Geoffrey Keating <geoffk@redhat.com>
7022
7023 * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
7024 of a symbol in a section that will be deleted.
7025
be2d1673
NC
70262002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
7027
7028 * po/es.po: New file: Spanish translation.
7029 * configure.in (ALL_LINGUAS): Add es.
7030 * configure: Regenerate.
7031
d9cf1b54
AM
70322002-01-06 Steve Ellcey <sje@cup.hp.com>
7033
7034 * elfxx-ia64.c (is_unwind_section_name): Add target vector as
7035 argument so we can handle HP-UX specially.
7036 (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
7037 (elfNN_hpux_backend_section_from_bfd_section): New for support
7038 of SHN_IA_64_ANSI_COMMON.
7039 (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
7040 (is_unwind_section_name): Add special HP-UX support.
7041 (elfNN_ia64_section_from_shdr): Add support for more sections.
7042 (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
7043 add support for more sections.
7044 (elfNN_ia64_additional_program_headers): Modify
7045 is_unwind_section_name call.
7046 (elfNN_ia64_modify_segment_map): Remove assumption that there is
7047 only one unwind section in segment.
7048
3f3c5c34
AM
70492002-01-06 Alan Modra <amodra@bigpond.net.au>
7050
7051 * syms.c (_bfd_generic_make_empty_symbol): New function.
7052 * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
7053 _bfd_generic_make_empty_symbol.
7054 * libbfd.h: Regenerate.
7055 * bfd-in2.h: Regenerate.
7056 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
7057 (hppabsd_core_get_symtab_upper_bound): Don't define.
7058 (hppabsd_core_get_symtab): Likewise.
7059 (hppabsd_core_print_symbol): Likewise.
7060 (hppabsd_core_get_symbol_info): Likewise.
7061 (hppabsd_core_bfd_is_local_label_name): Likewise.
7062 (hppabsd_core_get_lineno): Likewise.
7063 (hppabsd_core_find_nearest_line): Likewise.
7064 (hppabsd_core_bfd_make_debug_symbol): Likewise.
7065 (hppabsd_core_read_minisymbols): Likewise.
7066 (hppabsd_core_minisymbol_to_symbol): Likewise.
7067 (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
7068 Formatting fixes.
7069 * hpux-core.c: Similarly.
7070 * irix-core.c: Similarly.
7071 * osf-core.c: Similarly.
7072 * sco5-core.c: Similarly.
7073 * binary.c (binary_make_empty_symbol): Remove function, define as
7074 _bfd_generic_make_empty_symbol.
7075 * ihex.c (ihex_make_empty_symbol): Likewise.
7076 * mmo.c (mmo_make_empty_symbol): Likewise.
7077 * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
7078 * srec.c (srec_make_empty_symbol): Likewise.
7079 * versados.c (versados_make_empty_symbol): Likewise.
7080 * vms.c (_bfd_vms_make_empty_symbol): Remove.
7081 (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
7082 * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
7083 rather than _bfd_vms_make_empty_symbol.
7084 * vms-misc.c (new_symbol): Likewise.
7085
3f0a7f7f
AM
70862002-01-05 Alan Modra <amodra@bigpond.net.au>
7087
9e7b37b3
AM
7088 * section.c (bfd_section_init): Remove unnecessary initialisations.
7089 (bfd_section_list_clear): New function.
7090 (bfd_section_list_remove, bfd_section_list_insert): New macros.
7091 (_bfd_strip_section_from_output): Use them.
7092 * coffcode.h (coff_set_alignment_hook): Likewise.
7093 * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
7094 * elf64-mips.c (mips_elf64_final_link): Likewise.
7095 * elf64-mmix.c (mmix_elf_final_link): Likewise.
7096 * sunos.c (sunos_add_dynamic_symbols): Likewise.
7097 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
7098 * bfd-in2.h: Regenerate.
7099
7100 * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
7101 rather than doing our own section handling. Clean up after errors
7102 with bfd_release and bfd_section_list_clear. Handle unexpected
7103 flags.
7104 * aoutf1.h (sunos4_core_file_p): Likewise.
7105 * aix386-core.c (aix386_core_file_p): Likewise.
7106 * cisco-core.c (cisco_core_file_validate): Likewise.
7107 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
7108 * trad-core.c (trad_unix_core_file_p): Likewise.
7109
7110 * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
7111 with bfd_release and bfd_section_list_clear.
7112 * hpux-core.c (hpux_core_core_file_p): Likewise.
7113 * irix-core.c (irix_core_core_file_p): Likewise.
7114 * lynx-core.c (lynx_core_file_p): Likewise.
7115 * osf-core.c (osf_core_core_file_p): Likewise.
7116 * rs6000-core.c (rs6000coff_core_p): Likewise.
7117 * sco5-core.c (sco5_core_file_p): Likewise.
7118
3f0a7f7f
AM
7119 * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
7120 sign extension adjustments without conditionals.
7121
a3aa38ee
JJ
71222002-01-04 Jakub Jelinek <jakub@redhat.com>
7123
7124 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
7125 CIE at .eh_frame start is removed due to no FDEs referencing it.
7126
8a8b2d4b
AJ
71272002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
7128
7129 * config.bfd (x86_64-*-netbsd*): New target.
7130 * configure.in (x86_64-*-netbsd*): Set COREFILE
7131 to netbsd-core.lo.
7132 * configure: Regenerated.
7133
04b5af89
TR
71342002-01-03 Tom Rix <trix@redhat.com>
7135
7136 * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
7137 for recent bfd_make_section_anyway change.
7138
51c5503b
NC
71392002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
7140
7141 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
7142 R_ARM_THM_PC11 reloc.
7143
07f7c046
NC
71442002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
7145
7146 * configure.in (LINGUAS): Add ja.
7147 * configure: Regenerate.
7148 * po/ja.po: Import from translation project's web site.
7149
5eefb65f
NC
71502002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
7151
7152 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
7153 messages to ease translation into other languages.
7154
39e90f10 7155For older changes see ChangeLog-0001
56882138
AM
7156\f
7157Local Variables:
7158mode: change-log
7159left-margin: 8
7160fill-column: 74
7161version-control: never
7162End:
This page took 0.464792 seconds and 4 git commands to generate.