2003-06-11 Andrew Cagney <cagney@redhat.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3b443373
L
12003-06-11 H.J. Lu <hongjiu.lu@intel.com>
2
3 * po/Make-in (DESTDIR): New.
4 (install-data-yes): Support $(DESTDIR).
5 (uninstall): Likewise.
6
795bb480
AM
72003-06-11 Alan Modra <amodra@bigpond.net.au>
8
9 * Makefile.am (config.status): Depend on version.h.
10 Run "make dep-am".
11 * Makefile.in: Regenerate.
12 * po/SRC-POTFILES.in: Regenerate.
13
adadcc0c
AM
142003-06-10 Alan Modra <amodra@bigpond.net.au>
15 Gary Hade <garyhade@us.ibm.com>
16
17 * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
18
f4984206
RS
192003-06-10 Richard Sandiford <rsandifo@redhat.com>
20
21 * archures.c (bfd_mach_h8300sxn): New architecture.
22 * bfd-in2.h: Regenerate.
23 * cpu-h8300.c (h8300_scan): Check for 'sxn'.
24 (h8300sxn_info_struct): New.
25 (h8300sx_info_struct): Link to it.
26 * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
27 (elf32_h8_final_write_processing): Likewise.
28
ad8e1ba5
AM
292003-06-08 Alan Modra <amodra@bigpond.net.au>
30
31 * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
32 elfxx-target.h so that we can use elf_backend_got_header_size.
33 (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
34 (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
35 associated macros.
36 (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
37 dst_mask.
38 (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
39 ppc_stub_plt_branch_r2off.
40 (struct ppc_stub_hash_entry): Reorganize.
41 (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
42 toc_curr, toc_off and emit_stub_syms.
43 (ppc64_elf_link_hash_table_create): Init them.
44 (ppc_stub_name): Correct string size.
45 (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
46 (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
47 used.
48 (ppc_type_of_stub): Tweak root.type test.
49 (build_plt_stub): Remove glink code. Adjust for insn macro changes.
50 (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
51 ppc_stub_plt_branch_r2off.
52 (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
53 range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
54 (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
55 Initialize elf_gp and toc_curr.
56 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
57 (ppc64_elf_next_input_section): Set toc_off.
58 (group_sections): Ensure groups have the same TOC.
59 (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
60 (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
61 Build new glink stub.
62 (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
63 (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
64 * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
65 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
66 * section.c (struct sec): Rename flag12 to has_gp_reloc.
67 (STD_SECTION): Update.
68 * ecoff.c (bfd_debug_section): Update comment.
69 * bfd-in2.h: Regenerate.
70
90fff0d4
DJ
712003-06-05 Daniel Jacobowitz <drow@mvista.com>
72
73 * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
74 NULL function pointers.
75
c82b20e4
DJ
762003-06-05 Daniel Jacobowitz <drow@mvista.com>
77
78 * simple.c (bfd_simple_get_relocated_section_contents): Call
79 _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
80
53d4437a
SS
812003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
82
5a5b9651
SS
83 * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
84 ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
85 swaptables.
86 * coff-tic4x.c: Ditto
53d4437a
SS
87 * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
88 and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
5a5b9651
SS
89 CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
90 ticoff1_bad_format_hook() functions. Created the coff0 and coff1
91 swap tables.
53d4437a
SS
92 * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
93 * coff-a29k.c: Append COFF_SWAP_TABLE argument
94 * coff-apollo.c: Ditto
95 * coff-arm.c: Ditto
96 * coff-h8300.c: Ditto
97 * coff-h8500.c: Ditto
98 * coff-i960.c: Ditto
99 * coff-m68k.c: Ditto
100 * coff-m88k.c: Ditto
101 * coff-mcore.c: Ditto
102 * coff-sh.c: Ditto
103 * coff-sparc.c: Ditto
104 * coff-tic80.c: Ditto
105 * coff-we32k.c: Ditto
106 * coff-z8k.c: Ditto
107 * coff-w65.c: Ditto
108
736694c8
SS
1092003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
110
111 * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
112 initialization bug
113
9ee5e499
JJ
1142003-06-03 Jakub Jelinek <jakub@redhat.com>
115
116 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
117 (bfd_section_from_phdr): Likewise.
118 (map_sections_to_segments): Create PT_GNU_STACK segment header.
119 (get_program_header_size): Count with PT_GNU_STACK.
120 * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
121 * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
122
6f6f27f8
L
1232003-06-03 H.J. Lu <hongjiu.lu@intel.com>
124
125 * elflink.h (elf_link_input_bfd): Call linker error_handler
126 for discarded definitions.
127
a3b6428f
NC
1282003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
129
130 * syms.c (decode_section_type): Return 'n' if section flags are
131 SEC_HAS_CONTENTS && SEC_READONLY.
132
e30ddb24
NC
1332003-06-03 Nick Clifton <nickc@redhat.com>
134
135 * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
136 R_V850_ABS32. Add entry for R_V850_REL32.
adadcc0c
AM
137 (v850_elf_reloc_map): Likewise.
138 (v850_elf_check_relocs): Likewise.
139 (v850_elf_perform_relocation): Likewise.
140 (v850_elf_final_link_relocate): Likewise. Include computation
e30ddb24 141 to make R_V850_REl32 pc-relative.
adadcc0c 142
2558b9a9
KK
1432003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
144
145 * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
146 and DT_DEBUG dynamic tag even for position independent executables.
147 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
148
f15398ef
DJ
1492003-06-02 Daniel Jacobowitz <drow@mvista.com>
150
151 * config.bfd: Move obsolete entries out of the range of the
152 targmatch sed script.
153
cad28985
DJ
1542003-06-02 Daniel Jacobowitz <drow@mvista.com>
155
156 * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
157
f2c822e3
JJ
1582003-05-31 Jakub Jelinek <jakub@redhat.com>
159
160 * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
161 plt entries, not just 8191.
162
c9c27aad
DJ
1632003-05-30 Daniel Jacobowitz <drow@mvista.com>
164
165 * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
166 Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
167
36af4a4e
JJ
1682003-05-30 Ulrich Drepper <drepper@redhat.com>
169 Jakub Jelinek <jakub@redhat.com>
170
171 * elflink.h (elf_link_add_object_symbols): Use !info->executable
172 instead of info->shared where appropriate.
173 (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
174 * elflink.c (_bfd_elf_create_got_section): Likewise.
175 (_bfd_elf_link_create_dynamic_sections): Likewise.
176 (_bfd_elf_link_assign_sym_version): Likewise.
177 * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
178 and DT_DEBUG dynamic tag even for position independent executables.
179 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
180 * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
181 * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
182 * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
183 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
184 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
185 * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
186 * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
187 * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
188
f8843e87
AM
1892003-05-30 Kris Warkentin <kewarken@qnx.com>
190
191 * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
192 signalled thread.
193 (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
194
29e1a6e4
NC
1952003-05-29 Nick Clifton <nickc@redhat.com>
196
197 * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
198 Tidy up formatting.
199 * Makefile.am: Add dependency on safe-ctype.h.
200 * Makefile.in: Regenerate.
201
4b555070
TS
2022003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
203
204 * elfxx-mips.c: Don't force symbols local unconditionally.
205
0236e03e
L
2062003-05-28 Alan Modra <amodra@bigpond.net.au>
207
208 * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
209 undefined_symbol call.
210
9e4aeb93
RS
2112003-05-27 Richard Sandiford <rsandifo@redhat.com>
212
213 * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
214 (mips_elf_link_hash_table): Likewise.
215
d0c728db
TS
2162003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
217
218 * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
219 R_MIPS_GNU_REL16_S2 support.
220 (bfd_elf64_bfd_reloc_type_lookup): Use it.
221 (mips_elf64_rtype_to_howto): Use it.
222 * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
223 R_MIPS_GNU_REL16_S2 support.
224 (bfd_elf32_bfd_reloc_type_lookup): Use it.
225 (mips_elf_n32_rtype_to_howto): Use it.
226
759ebd76
DA
2272003-05-21 Stuart F. Downing <sdowning@fame.com>
228
229 * som.h: Define PA_2_0 before including a.out.h
230
143d77c5
EC
2312003-05-07 Eric Christopher <echristo@redhat.com>
232 Alexandre Oliva <aoliva@redhat.com>
233
234 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
235 pic tests, change to warning.
236 (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
237
cea3d58d
NC
2382003-05-21 Marcus Comstedt <marcus@mc.pp.se>
239
240 * config.bfd: Check for a target triplet of shl-...-netbsdelf as
241 well as shle-...-netbsdelf. Remove duplicate entry.
242
385a4c14
NC
2432003-05-21 Nick Clifton <nickc@redhat.com>
244
60e42408
NC
245 * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
246 for X_STORMY16_REL_12 reloc.
247
385a4c14
NC
248 * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
249 the type of the has table in the bfd_link_info structure.
250 (bfd_elf_get_runpath_list): Likewise.
251
129b8c20
RM
2522003-05-19 Roland McGrath <roland@redhat.com>
253
254 * elf.c (bfd_elf_bfd_from_remote_memory): New function.
255 * bfd-in.h: Declare it.
256 * bfd-in2.h: Regenerated.
257 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
258 * elf-bfd.h (struct elf_backend_data): New function pointer member
259 elf_backend_bfd_from_remote_memory.
260 (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
261 Declare them.
262 * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
263 (elfNN_bed): Add that to the initializer.
264
2652003-05-15 Roland McGrath <roland@redhat.com>
266
267 * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
268
22d5e339
L
2692003-05-20 Jakub Jelinek <jakub@redhat.com>
270
271 * elflink.h (elf_link_output_extsym): Only issue error about !=
272 STV_DEFAULT symbols if they are bfd_link_hash_undefined.
273
2742003-05-20 H.J. Lu <hongjiu.lu@intel.com>
275
276 * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
277 when removing the old definition for symbols with non-default
278 visibility.
279
b645cb17
JE
2802003-05-18 Jason Eckhardt <jle@rice.edu>
281
282 * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
283
d2ff124f
AS
2842003-05-17 Andreas Schwab <schwab@suse.de>
285
286 * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
287 elf_section_data during processing of pc-relative and absolute
288 relocations.
289 (elf_m68k_relocate_section): Use the cached reloc section instead
290 of computing it again. Fix handling of visibility. Don't modify
291 addend when copying over a relocation into the output.
292
9c7a29a3
AM
2932003-05-17 Alan Modra <amodra@bigpond.net.au>
294
295 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
296 to trim plt entries. Move undefweak non-default visibility test..
297 (allocate_dynrelocs): ..from here.
298 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
299 dynamic_sections_created here. Update comment. Move undefweak
300 non-default visibility test..
301 (allocate_dynrelocs): ..from here. Fix comment.
302 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
303 to trim plt entries. Move undefweak non-default visibility test..
304 (allocate_dynrelocs): ..from here. Fix comment.
305 * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
306 STV_DEFAULT rather than comparing with zero.
307 * elflink.c (_bfd_elf_merge_symbol): Likewise.
308 (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
309
9bcf4de0
TS
3102003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
311
312 * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
313 pointers.
314 (_bfd_set_gp_value): Likewise.
315
5d1db417
MS
3162003-05-16 Michael Snyder <msnyder@redhat.com>
317 From Bernd Schmidt <bernds@redhat.com>
318 * archures.c (bfd_mach_h8300sx): New.
319 * bfd-in2.h: Regenerate.
320 * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
321 (h8300sx_info_struct): New.
322 (h8300s_info_struct): Link to it.
323 * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
324 (elf32_h8_final_write_processing): Likewise.
325 (elf32_h8_relax_section): Likewise.
326
80c7c40a
NC
3272003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
328
329 * config.bfd: Accept i[3-7]86 variants.
330 * configure.host: Likewise.
331 * configure.in: Likewise.
332 * configure: Regenerate.
333
c1be741f
L
3342003-05-15 H.J. Lu <hongjiu.lu@intel.com>
335
336 * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
337 symbol.
338
a15d9d3a
L
3392003-05-15 H.J. Lu <hongjiu.lu@intel.com>
340
341 * elflink.h (elf_link_check_versioned_symbol): Also allow
342 the base version.
343
09695f56
AM
3442003-05-15 Alan Modra <amodra@bigpond.net.au>
345 H.J. Lu <hongjiu.lu@intel.com>
346
347 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
348 (elf_i386_relocate_section): Likewise.
349 * elf32-ppc.c (allocate_dynrelocs): Likewise.
350 (ppc_elf_relocate_section): Likewise.
351 * elf64-ppc.c (allocate_dynrelocs): Likewise.
352 (ppc64_elf_relocate_section): Likewise.
353
40f62fa0
TS
3542003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
355
356 * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
357
47247ced
SC
3582003-05-13 Stephane Carrez <stcarrez@nerim.fr>
359
360 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
361 processor capability, allow merge of HC12 and HCS12 in some cases.
362 (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
363 * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
364 (bfd_m68hc12_arch): Link it.
365 (scan_mach): New function.
366
32dfa85d
AH
3672003-05-13 Andrew Haley <aph@redhat.com>
368
369 * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
370
586119b3
AM
3712003-05-13 Alan Modra <amodra@bigpond.net.au>
372 H.J. Lu <hongjiu.lu@intel.com>
373
374 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
375 elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
376 * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
377 (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
378 (ppc_elf_relocate_section): Likewise.
379 * elf64-ppc.c (allocate_dynrelocs): Likewise.
380 (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
381 (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
382 relocs need no other types.
383 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
384 dynreloc check.
385 (elf_i386_relocate_section): Likewise. Use for .got relocs too.
386 (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
387 .got relocs.
388
04e534c3
KK
3892003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
390
391 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
392 copy ELF_LINK_NON_GOT_REF from weakdef.
393 (allocate_dynrelocs): For undef weak syms with non-default
394 visibility, a) don't allocate plt entries, b) don't allocate
395 .got relocs, c) discard dyn rel space
adadcc0c
AM
396 (sh_elf_relocate_section): d) don't generate .got relocs, e)
397 don't generate dynamic relocs.
04e534c3
KK
398 (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
399 for weakdefs when symbol already adjusted.
400
0afb2dc0
NC
4012003-05-12 Nick Clifton <nickc@redhat.com>
402
403 * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
404 overflow detection for R_XSTORMY16_16 reloc.
405
9d29900b
NC
4062003-05-12 Paul Clarke <paulc@senet.com.au>
407
408 * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
409
a48c6a54
JE
4102003-05-11 Jason Eckhardt <jle@rice.edu>
411
412 * elf32-i860.c (elf32_i860_relocate_highadj): Properly
413 adjust upper bits.
414 (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
415 proper place.
416 (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
417 proper place.
418
44f745a6
AS
4192003-05-11 Andreas Schwab <schwab@suse.de>
420
421 * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
422 complicated tests for unresolvable relocs with a simple direct
423 scheme using "unresolved_reloc" var. Report some detail on
424 bfd_reloc_outofrange and similar errors.
425
4ec72bde
MS
4262003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
427
428 * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
429 Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
430 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
431 * elf64-s390.c: Likewise.
432
64285810
MS
4332003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
434
435 * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
436 (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
437 ELF_LINK_NON_GOT_REF from weakdef.
438 (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
439 already been adjusted before treating it specially.
440 * el64-s390.c: Likwise.
441
82058a73
MS
4422003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
443
444 * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
445 non-default visibility, a) don't make them dynamic, b) discard
446 space for dynamic relocs.
447 (elf_s390_relocate_section): Initialize the GOT entries and skip
448 R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
449 symbols with non-default visibility.
450 * elf64-s390.c: Likewise.
451
60d8b524
AM
4522003-05-09 Alan Modra <amodra@bigpond.net.au>
453
454 * cpu-arm.c (arm_check_note): Warning fix.
455 * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
456 to keep relocs if edited.
457 (iq2000_elf_print_private_bfd_data): Return TRUE.
458 * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
459 ELF64_R_SYM.
460 (elfNN_ia64_relax_ldxmov): Warning fix.
461 * xtensa-isa.c (xtensa_add_isa): Warning fix.
462 * xtensa-modules.c (get_num_opcodes): Warning fix.
463
e57b5356
AM
4642003-05-09 Andrey Petrov <petrov@netbsd.org>
465
466 * elf.c (elf_fake_sections): Use correct cast for sh_name.
467
45d6a902
AM
4682003-05-09 Alan Modra <amodra@bigpond.net.au>
469
470 * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
471 elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
472 (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
473 (bfd_elf_record_link_assignment): Move from elflink.h.
474 (_bfd_elf_merge_symbol): Likewise.
475 (_bfd_elf_add_default_symbol): Likewise.
476 (_bfd_elf_export_symbol): Likewise.
477 (_bfd_elf_link_find_version_dependencies): Likewise.
478 (_bfd_elf_link_assign_sym_version): Likewise.
479 (_bfd_elf_link_read_relocs): Likewise.
480 (_bfd_elf_link_size_reloc_section): Likewise.
481 (_bfd_elf_fix_symbol_flags): Likewise.
482 (_bfd_elf_adjust_dynamic_symbol): Likewise.
483 (_bfd_elf_link_sec_merge_syms): Likewise.
484 (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
485 and bed->s->sizeof_rela.
486 (_bfd_elf_link_output_relocs): Likewise.
487 * elf-bfd.h (struct elf_size_info): Rename file_align to
488 log_file_align.
489 (struct elf_info_failed): Move from elflink.h.
490 (struct elf_assign_sym_version_info): Likewise.
491 (struct elf_find_verdep_info): Likewise.
492 (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
493 (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
494 _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
495 _bfd_elf_link_assign_sym_version,
496 _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
497 _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
498 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
499 _bfd_elf_link_sec_merge_syms): Declare.
500 (bfd_elf32_link_create_dynamic_sections): Don't declare.
501 (_bfd_elf32_link_read_relocs): Likewise.
502 (bfd_elf64_link_create_dynamic_sections): Likewise.
503 (_bfd_elf64_link_read_relocs): Likewise.
504 * elflink.h: Move lots o' stuff elsewhere.
505 * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
506 (bfd_elf64_record_link_assignment): Likewise.
507 (bfd_elf_record_link_assignment): Declare.
508 * bfd-in2.h: Regenerate.
509 * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
510 (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
511 * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
512 (assign_file_positions_for_segments): Likewise.
513 (assign_file_positions_except_relocs): Likewise.
514 (swap_out_syms, elfcore_write_note): Likewise.
515 * elf-m10200.c: Adjust for changed function names.
516 * elf-m10300.c: Likewise.
517 * elf32-arm.h: Likewise.
518 * elf32-h8300.c: Likewise.
519 * elf32-hppa.c: Likewise.
520 * elf32-ip2k.c: Likewise.
521 * elf32-m32r.c: Likewise.
522 * elf32-m68hc11.c: Likewise.
523 * elf32-m68hc1x.c: Likewise.
524 * elf32-m68k.c: Likewise.
525 * elf32-mips.c: Likewise.
526 * elf32-ppc.c: Likewise.
527 * elf32-sh.c: Likewise.
528 * elf32-v850.c: Likewise.
529 * elf32-xtensa.c: Likewise.
530 * elf64-alpha.c: Likewise.
531 * elf64-hppa.c: Likewise.
532 * elf64-mmix.c: Likewise.
533 * elf64-ppc.c: Likewise.
534 * elf64-sh64.c: Likewise.
535 * elfxx-ia64.c: Likewise.
536 * elfxx-mips.c: Likewise.
537 (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
538 * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
539 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
540 * elf64-mips.c (mips_elf64_size_info): Likewise.
541 * elf64-s390.c (s390_elf64_size_info): Likewise.
542 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
543
bf1e742e
L
5442003-05-08 H.J. Lu <hongjiu.lu@intel.com>
545
546 * elflink.h (elf_add_default_symbol): After skipping the
547 unversioned symbol, go to non-default one.
548
6a32c710
L
5492003-05-07 H.J. Lu <hongjiu.lu@intel.com>
550
551 * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
552 want_plt field.
553 (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
554 for symbols with non-default visibility.
555
71552942
L
5562003-05-07 H.J. Lu <hongjiu.lu@intel.com>
557
558 * elflink.h (elf_link_check_versioned_symbol): Also handle the
559 case that a DSO references a hidden symbol which may be
560 satisfied by a versioned symbol in another DSO.
561 (elf_link_output_extsym): Check versioned definition for hidden
562 symbol referenced by a DSO.
563
208c2cd6
NC
5642003-05-07 Nick Clifton <nickc@redhat.com>
565
566 * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
567 R_XSTORMY16_16 reloc to ignore overflows.
568
aa701218
AO
5692003-05-06 Alexandre Oliva <aoliva@redhat.com>
570
571 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
572 error message for mixing different-endian files. Check for ABI
573 compatibility of input files with the selected emulation.
574
4e795f50
AM
5752003-05-05 Alan Modra <amodra@bigpond.net.au>
576
577 * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
578 non-default visibility, a) don't make them dynamic, b) discard
579 space for dynamic relocs.
580 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
581
582 * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
583 non-default visibility, a) don't allocate plt entries, b) don't
584 allocate .got relocs, c) discard dyn rel space,
585 (ppc_elf_relocate_section): d) don't generate .got relocs, e)
586 don't generate dynamic relocs.
587 * elf64-ppc.c (allocate_dynrelocs): As above.
588 (ppc64_elf_relocate_section): As above.
589
4bc6e03a
AJ
5902003-05-05 Andreas Jaeger <aj@suse.de>
591
592 * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
593 relocation entries for weak undefined symbols with non-default
594 visibility.
595 (elf64_x86_64_relocate_section): Initialize the GOT entries and
596 skip R_386_32/R_386_PC32 for weak undefined symbols with
597 non-default visibility.
598
ef5aade5
L
5992003-05-04 H.J. Lu <hjl@gnu.org>
600
601 * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
602 relocation entries for weak undefined symbols with non-default
603 visibility.
604 (elf_i386_relocate_section): Initialize the GOT entries and
605 skip R_386_32/R_386_PC32 for weak undefined symbols with
606 non-default visibility.
129b8c20 607
ef5aade5
L
608 * elfxx-ia64.c (allocate_fptr): Don't allocate function
609 descriptors for weak undefined symbols with non-default
610 visibility.
611 (allocate_dynrel_entries): Don't allocate relocation entries
612 for symbols resolved to 0.
613 (set_got_entry): Don't install dynamic relocation for weak
614 undefined symbols with non-default visibility.
615 (set_pltoff_entry): Likewise.
616
617 * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
618 with non-default visibility.
619 (elf_link_output_extsym): Don't make weak undefined symbols
620 with non-default visibility dynamic.
621
c424e0e9
L
6222003-05-04 H.J. Lu <hjl@gnu.org>
623
624 * elflink.h (elf_merge_symbol): Correctly handle weak definiton.
625
d31e3dfe
L
6262003-05-04 H.J. Lu <hjl@gnu.org>
627
628 * elflink.h (elf_merge_symbol): Don't record a hidden/internal
629 symbol dynamic. Check indirection when removing the old
630 definition for symbols with non-default visibility.
631 (elf_add_default_symbol): Skip when told by elf_merge_symbol.
632
4d2e1ff0
NC
6332003-05-02 Nick Clifton <nickc@redhat.com>
634
635 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
636 R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
637 unsigned overflow.
638
d40d037c
AJ
6392003-05-02 Andreas Jaeger <aj@suse.de>
640
641 * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
642 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
643 (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
644 (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
645 ELF_LINK_NON_GOT_REF from weakdef.
646
c5d1701e
NC
6472003-05-02 Charles Lepple <clepple@ghz.cc>
648 Nick Clifton <nickc@redhat.com>
649
650 * acinclude.m4: Fix name of --enable-install-libbfd switch.
651 * aclocal.m4: Regenerate.
652 * configure: Regenerate.
653 * Makefile.in: Regenerate.
654
81848ca0
AM
6552003-05-01 Alan Modra <amodra@bigpond.net.au>
656
657 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
658 weakdef sym has already been adjusted before treating it specially.
659 * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
660 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
661 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
662 (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
03d14457 663
c7996ad6
L
6642003-04-28 H.J. Lu <hjl@gnu.org>
665
666 * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
667 the relax finalize pass.
668
669 * section.c (struct sec): Add need_finalize_relax and remove
670 flag11.
671 (STD_SECTION): Update struct sec initializer.
672 * bfd-in2.h: Regenerated.
673
f006af20
L
6742003-04-28 H.J. Lu <hjl@gnu.org>
675
676 * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
677 to copy any information related to dynamic linking when we flip
678 the indirection.
679
1b1fe8fe
L
6802003-04-27 H.J. Lu <hjl@gnu.org>
681
682 * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
683 (ELF_LINK_DYNAMIC_WEAK): New.
684
685 * elflink.h (elf_merge_symbol): Add one argument to indicate if
686 a symbol should be skipped. Ignore definitions in dynamic
687 objects for symbols with non-default visibility.
688 (elf_add_default_symbol): Adjusted.
689 (elf_link_add_object_symbols): Check if a symbol should be
690 skipped. Don't merge the visibility field with the one from
691 a dynamic object.
692 (elf_link_check_versioned_symbol): Use undef_bfd.
693 (elf_link_output_extsym): Warn if a forced local symbol is
694 referenced from dynamic objects. Make non-weak undefined symbol
695 with non-default visibility a fatal error.
696
052a450c
DJ
6972003-04-27 Daniel Jacobowitz <drow@mvista.com>
698
699 * configure.in: Bump version on HEAD to 2.14.90.
700 * configure: Regenerated.
701
d204f4c0
SC
7022003-04-26 Stephane Carrez <stcarrez@nerim.fr>
703
704 PR savannah/3331:
705 * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
706 when we couldn't relax something.
707
3c0a515d
L
7082003-04-25 Alan Modra <amodra@bigpond.net.au>
709
710 * elflink.h (elf_merge_symbol): When we find a regular definition
711 for an indirect symbol, flip the indirection so that the old
712 direct symbol now points to the new definition.
713
d145330d
RM
7142003-04-24 Roland McGrath <roland@redhat.com>
715
716 * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
717
fc0bffd6
AM
7182003-04-24 Alan Modra <amodra@bigpond.net.au>
719
720 * elf32-ppc.c: Formatting and comment fixes.
721 (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
722 (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
723
7242003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
8d9cd6b1
NC
725
726 * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
727 * bfd-in2.h: Rebuilt.
728 * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
fc0bffd6 729 * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
8d9cd6b1
NC
730 & H8300SNMAGIC.
731 (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
732 * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
733 (h8300sn_info_struct, h8300hn_info_struct): New.
734 * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
735 (elf32_h8_final_write_processing): Likewise.
736
267fb3c1
KK
7372003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
738
739 * elf32-sh.c (tpoff): New.
740 (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
741 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
fc0bffd6 742 (allocate_dynrelocs): Don't make unnecessary dynamic TLS
267fb3c1 743 relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
fc0bffd6 744 (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
267fb3c1
KK
745 (dtpoff_base): Fix wrong indentation.
746 (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
747 relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
748 R_SH_TLS_TPOFF32 relocations.
749
ef230218
JR
7502003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
751
752 * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
753 * cpu-sh.c: Likewise.
754 * elf32-sh.c: Likewise.
755 * reloc.c (bfd_reloc_code_real): Likewise.
756 * elf32-sh64-com.c: Change comment to refer to SuperH.
757 * elf32-sh64.c: Likewise.
758 * elf64-sh64.c: Likewise.
759 * bfd-in2.h (enum bfd_architecture): Regenerate.
760
8c29f035
AM
7612003-04-23 Alan Modra <amodra@bigpond.net.au>
762
763 From Julien LEMOINE <speedblue@debian.org>
764 * elf32-i386.c (elf_i386_info_to_howto): Delete.
765 (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
766
26597c86
NC
7672003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
768
769 * archures.c: Replace references to Mitsubishi M32R with references
770 to Renesas M32R.
771 * relocs.c: Likewise.
772 * bfd-in2.h: Regenerate.
773
cc13e3ef
RH
7742003-04-21 Richard Henderson <rth@redhat.com>
775
776 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
777 executable when a symbol is defined both regular and dynamic.
778
f5a6f915
SC
7792003-04-21 Stephane Carrez <stcarrez@nerim.fr>
780
781 * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
782 (elf32-m68hc1x.lo): Update dependencies
783 * configure.in: Add elf32-m68hc1x.lo.
784 * configure: Rebuild.
785 * Makefile.in: Rebuild.
786
3a65329d
SC
7872003-04-21 Stephane Carrez <stcarrez@nerim.fr>
788
789 * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
790 (m68hc11_elf_hash_table_create): New function.
791 (elf32_m68hc11_link_hash_table_free): New function.
792 (stub_hash_newfunc): New function.
793 (m68hc11_add_stub): New function.
794 (elf32_m68hc11_add_symbol_hook): New function.
795 (elf32_m68hc11_setup_section_lists): New function.
796 (elf32_m68hc11_next_input_section): New function.
797 (elf32_m68hc11_size_stubs): New function.
798 (elf32_m68hc11_build_stubs): New function.
799 (m68hc11_get_relocation_value): New function.
800 (elf32_m68hc11_relocate_section): Call the above to redirect
801 some relocations to the trampoline code.
802 (m68hc11_elf_export_one_stub): New function.
803 (m68hc11_elf_set_symbol): New function.
804 (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
805 (m68hc11_elf_get_bank_parameters): Get parameters only when the info
806 is not yet initialized.
807
808 * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
809 (elf32_m68hc11_stub_hash_entry): New struct.
810 (m68hc11_page_info): Add trampoline handler address.
811 (m68hc11_elf_link_hash_table): Add stubs generation members.
812 (elf32_m68hc11_add_symbol_hook): Declare.
813 (elf32_m68hc11_setup_section_lists): Declare.
814 (elf32_m68hc11_size_stubs): Declare.
815 (elf32_m68hc11_build_stubs): Declare.
8c29f035 816
3a65329d
SC
817 * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
818 (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
819 (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
820 (_bfd_m68hc11_elf_set_private_flags): Ditto.
821 (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
822 (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
823 (bfd_elf32_bfd_link_hash_table_create): Define.
824 (elf_backend_add_symbol_hook): Define.
825 (m68hc11_elf_bfd_link_hash_table_create): New function.
826 (m68hc11_elf_build_one_stub): New function.
827 (m68hc11_elf_size_one_stub): New function.
828 (m68hc11_elf_bfd_link_hash_table_create): Install the above.
829 (bfd_elf32_bfd_link_hash_table_create): Define.
830
831 * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
832 (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
833 (m68hc12_phys_addr): Ditto.
834 (m68hc12_phys_page): Ditto.
835 (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
836 (elf32_m68hc11_gc_mark_hook): Likewise.
837 (elf32_m68hc11_gc_sweep_hook): Likewise.
838 (elf32_m68hc11_check_relocs): Likewise.
839 (elf32_m68hc11_relocate_section): Likewise.
840 (_bfd_m68hc12_elf_set_private_flags): Likewise.
841 (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
842 (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
843 (m68hc12_elf_build_one_stub): New function.
844 (m68hc12_elf_size_one_stub): New function.
845 (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
846 (elf_backend_add_symbol_hook): Define.
847 (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
848
4081944f
NC
8492003-04-18 Nick Clifton <nickc@redhat.com>
850
851 * format.c (bfd_check_format_matches): Only check associated
852 vector if the matching_vector has been created.
853
060dc71d
AO
8542003-04-15 Alexandre Oliva <aoliva@redhat.com>
855
856 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
857 2003-04-09's change.
858
a3476bef
NC
8592003-04-15 Brian Ford <ford@vss.fsi.com>
860
861 * peicode.h (coff_swap_scnhdr_in): If a section holds
862 uninitialized data and is from an object file or from an
863 executable image that has not initialized the s_size field, or if
864 the physical size is padded, use the virtual size (stored in
865 s_paddr) instead.
866
ca4fa240
NC
8672003-04-15 H.J. Lu <hjl@gnu.org>
868
869 * elflink.h (elf_link_add_object_symbols): Properly report
870 filename for alignment reduction.
871
c2dcd04e
NC
8722003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
873
874 * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
875 * reloc.c: Likewise.
876 * coff-h8300.c: Likewise.
877 * coff-h8500.c: Likewise.
878 * coff-sh.c: Likewise.
879 * cpu-h8300.c: Likewise.
880 * cpu-sh.c: Likewise.
881 * elf32-h8300.c: Likewise.
882 * elf32-sh.c: Likewise.
883 * elf32-sh64-com.c: Likewise.
884 * elf32-sh64.c: Likewise.
885 * elf64-sh64.c: Likewise.
886 * bfd-in2.h: Regenerate.
887
f7661995
NC
8882003-04-14 H.J. Lu <hjl@gnu.org>
889
890 * elflink.h (elf_link_add_object_symbols): Maintain maximum
891 alignment for common symbols. Warn reducing alignment for
892 common symbols. Report old filename when symbol size changes.
893
93a2b7ae
AO
8942003-04-12 Alexandre Oliva <aoliva@redhat.com>
895
896 * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
897 occurrences of the same test changed in the previous patch.
898 Optimize.
899
0176c794
AO
9002003-04-11 Alexandre Oliva <aoliva@redhat.com>
901
902 * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
903 (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
904 GOT_DISP/addend only if the symbol got a global GOT entry.
905
0fdc1bf1
AO
9062003-04-10 Alexandre Oliva <aoliva@redhat.com>
907
908 * elfxx-mips.c (mips_elf_calculate_relocation): Decay
909 GOT_PAGE/GOT_OFST referencing overridable symbol to
910 GOT_DISP/addend.
911 (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
912 global symbol as GOT_DISP.
913
9b8c98a4
BW
9142003-04-10 Bob Wilson <bob.wilson@acm.org>
915
916 * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
917 next relocation on an undefined symbol.
918
ec1659c8
RH
9192003-04-09 Richard Henderson <rth@redhat.com>
920
921 * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
922 Ignore relocations against r_symndx == 0.
923
7dfb07f7
L
9242003-04-09 H.J. Lu <hjl@gnu.org>
925
926 * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
927 FALSE for undefined symbols.
928 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
929
a3805e4e
AO
9302003-04-09 Alexandre Oliva <aoliva@redhat.com>
931
932 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
933 and IRIX-specific shift-to-64-bit 4-byte lengths before following
934 addr_size.
935
69931e60
AO
9362003-04-08 Alexandre Oliva <aoliva@redhat.com>
937
938 * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
939 pointer size from ABI, not arch_bits_per_address.
940
59a8c196
KB
9412003-04-07 Kevin Buettner <kevinb@redhat.com>
942
943 * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
944 constants for n32 ABI.
945
8e16317c
NC
9462003-04-06 Andrew Cagney <cagney@redhat.com>
947
948 * simple.c (bfd_simple_get_relocated_section_contents): Disable
949 free that leads to GDB vs BFD memory corruption.
950
196486be
SC
9512003-04-04 Stephane Carrez <stcarrez@nerim.fr>
952
953 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
954 symbols that mark the end of the section.
955 (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
956 converting to a relative branch so that the offset is computed after
957 the relaxation; also relocate a jsr into a bsr if possible but don't
958 relax them if they are to a far symbol as we need to call the
959 trampoline code.
960 (elf_m68hc11_howto_table): Set pcrel_offset to true.
961
be33c5dd
SS
9622003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
963
964 * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
965 bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
966 * bfd-in2.h: Regenerate
967 * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
968 * cpu-tic4x.c: Ditto
969
ff0c9faf
NC
9702003-04-03 Nick Clifton <nickc@redhat.com>
971
972 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
973 differently for object files and executables.
974 * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
975 for object files or for executables who have not already
976 initialised the field.
977 * libpei.h (bfd_pe_executable_p): New macro. Return true if
978 the PE format bfd is an executable.
979
2b98e6c0
AM
9802003-04-03 Alan Modra <amodra@bigpond.net.au>
981
982 * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
983 here as it's too early to reliably determine locality.
984 (ppc_elf_gc_sweep_hook): Likewise.
c8b21ee5 985 (SYMBOL_REFERENCES_LOCAL): Expand comment.
2b98e6c0 986
92403579
BW
9872003-04-02 Bob Wilson <bob.wilson@acm.org>
988
989 * xtensa-modules.c: Remove comment indicating that this is a
990 generated file.
991
c45a316a
AM
9922003-04-02 Alan Modra <amodra@bigpond.net.au>
993
994 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
995
e0001a05
NC
9962003-04-01 Bob Wilson <bob.wilson@acm.org>
997
8c29f035
AM
998 * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
999 (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
1000 (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
1001 xtensa-modules.lo.
1002 (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
1003 xtensa-modules.c.
1004 (cpu-xtensa.lo): New target.
1005 (elf32-xtensa.lo): Likewise.
1006 (xtensa-isa.lo): Likewise.
1007 (xtensa-modules.lo): Likewise.
1008 * Makefile.in: Regenerate.
1009 * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
1010 (bfd_archures_list): Add bfd_xtensa_arch.
1011 * config.bfd: Handle xtensa-*-*.
1012 * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
1013 * configure: Regenerate.
1014 * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
1015 PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
1016 * targets.c (bfd_elf32_xtensa_be_vec): Declare.
1017 (bfd_elf32_xtensa_le_vec): Likewise.
1018 (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
1019 * cpu-xtensa.c: New file.
1020 * elf32-xtensa.c: Likewise.
1021 * xtensa-isa.c: Likewise.
1022 * xtensa-modules.c: Likewise.
1023 * libbfd.h: Regenerate.
1024 * bfd-in2.h: Likewise.
e0001a05 1025
5a6c6817
NC
10262003-04-01 Nick Clifton <nickc@redhat.com>
1027
1028 * archures.c (bfd_mach_arm_unknown): Define.
1029 * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
1030 bfd_arm_get_mach_from_notes): Prototype.
1031 * bfd-in2.h: Regenerate.
1032 * coff-arm.c (coff_arm_merge_private_bfd_data): Call
1033 bfd_arm_merge_machines.
1034 (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
1035 * coffcode.h (coff_set_arch_mach_hook): Call
1036 bfd_arm_get_mach_from_notes.
1037 * coffgen.c (coff_real_object_p): Revert previous delta.
1038 * cpu_arm.c (arm_check_note): New function. Examine a note in a
1039 .note section.
1040 (bfd_arm_merge_machines): New function: Handle the merging of ARM
1041 binaries compiled for different architectures..
1042 (bfd_arm_update_notes): New function: Update an ARM note section.
1043 (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
1044 number from an ARM note section.
1045 * elf32-arm.h (elf32_arm_object_p): Use
1046 bfd_arm_get_mach_from_notes.
1047 (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
1048 (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
8c29f035 1049
0cc1cf99
BE
10502003-04-01 Ben Elliston <bje@wasabisystems.com>
1051
1052 * dwarf2.c (read_attribute_value): Correct typo in comment.
1053
af3ef9fe
NC
10542003-04-01 Nick Clifton <nickc@redhat.com>
1055
1056 * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
1057 instead of concat().
1058 (decode_line_info): Only free filename if it is not NULL.
d63fd5d1
NC
1059 (add_line_info): Make a copy of the filename when storing it into
1060 the info structure.
af3ef9fe 1061
6e84a906
DJ
10622003-03-31 Andreas Schwab <schwab@suse.de>
1063 Daniel Jacobowitz <drow@mvista.com>
1064
1065 * simple.c (bfd_simple_get_relocated_section_contents): Add
1066 parameter symbol_table. Optionally use it instead of the symbol
1067 table from the bfd. Save and restore output offsets and output
1068 sections around bfd_get_relocated_section_contents. Fix a memory
1069 leak.
1070 (simple_save_output_info, simple_restore_output_info): New
1071 functions.
1072 * bfd-in2.h: Regenerate.
1073 * dwarf2.c (read_abbrevs): Use
1074 bfd_simple_get_relocated_section_contents instead of
1075 bfd_get_section_contents.
1076 (decode_line_info): Likewise.
1077 (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
1078 find_rela_addend.
1079 (find_rela_addend): Remove.
1080 * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
1081 debugging sections.
1082 (elfNN_ia64_hash_table_create): Create the hash table with malloc,
1083 not bfd_zalloc.
1084
5ed6aba4
NC
10852003-03-31 David Heine <dlheine@suif.stanford.edu>
1086
1087 * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
1088 bfd_alloc.
1089 * dwarf2.c (concat_filename): Always allocate space for the
1090 returned filename.
1091 (decode_line_info): Free the allocated filename returned by
1092 concat_filename.
1093 * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
1094 * elf.c (copy_private_bfd_data): Likewise.
1095 (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
1096 * elflink.h (elf_link_sort_relocs): Fix memory leak.
1097 * format.c (bfd_check_format_matches): Likewise.
1098 * linker.c (bfd_generic_final_link): Likewise.
1099 * opncls.c (find_separate_debug_info): Likewise.
1100 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
8c29f035 1101
5941afc1
L
11022003-03-28 H.J. Lu <hjl@gnu.org>
1103
1104 * elflink.h (elf_link_add_object_symbols): Correctly combine
1105 visibilities.
1106
9d73f260
JJ
11072003-03-27 Jakub Jelinek <jakub@redhat.com>
1108
1109 * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
1110 to -1 before recomputing got offsets.
1111
a5ad465a
AS
11122003-03-26 Andreas Schwab <schwab@suse.de>
1113
1114 * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1115 (elf_m68k_relocate_section): Use it to correctly handle symbols
1116 forced to be local.
1117 (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
1118 entries for symbols that are forced to be local.
1119
d0647110
AO
11202003-03-25 Alexandre Oliva <aoliva@redhat.com>
1121
1122 * elfxx-mips.c (_bfd_mips_relax_section): New function.
1123 * elfxx-mips.h (_bfd_mips_relax_section): Declare.
1124 * elfn32-mips.c, elf64-mips.c: Use it.
1125
e16bb312
NC
11262003-03-25 Stan Cox <scox@redhat.com>
1127 Nick Clifton <nickc@redhat.com>
8c29f035 1128
e16bb312
NC
1129 Contribute support for Intel's iWMMXt chip - an ARM variant:
1130
1131 * archures.c: Add bfd_mach_arm_iWMMXt.
1132 * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
1133 * bfd-in2.h: Regenerate.
1134 * libbfd.h: Regenerate.
1135 * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
1136 object files to be linked with XScale ones.
1137 (coff_arm_final_link_postscript): Update note section.
1138 * coffcode.h (coff_set_arch_mach_hook): Handle note section.
1139 * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
1140 after identifying a coff binary.
1141 * cpu-arm.c (processors): Add iWMMXt.
1142 (arch_inf): Likewise.
1143 * elf32-arm.h (arm_object_p): Handle note section.
1144 (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
1145 be linked with XScale ones.
1146 (elf32_arm_section_flags): New function: Set flags on note section.
1147 (elf32_arm_final_write_processing): Handle note section.
1148
25f14c34
DD
11492003-03-21 DJ Delorie <dj@redhat.com>
1150
1151 * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
1152 _bfd_elf_rela_local_sym.
1153
04b3329b
L
11542003-03-20 H.J. Lu <hjl@gnu.org>
1155
1156 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
1157 non-ELF outputs.
1158
c25cfdf8
NC
11592003-03-20 Nick Clifton <nickc@redhat.com>
1160
1161 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
1162 $idata5 in case bfd_coff_final_link is not called.
1163
3e1d7f19
JJ
11642003-03-19 Jakub Jelinek <jakub@redhat.com>
1165
1166 * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
1167 field.
1168 (canon_reloc_count): Define.
1169 (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
1170 sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
1171 reloc_count.
1172 (sparc64_elf_canonicalize_reloc): New routine.
1173 (bfd_elf64_canonicalize_reloc): Define.
1174
3fa1d917
JJ
11752003-03-18 Jakub Jelinek <jakub@redhat.com>
1176
1177 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
1178 againt mergeable sections. Take r_addend into account when caching
1179 trampolines.
1180
f86b235a
RH
11812003-03-18 Richard Henderson <rth@redhat.com>
1182
8c29f035
AM
1183 * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
1184 local symbols that have no dyninfo.
f86b235a 1185
49ae03bf
NC
11862003-03-14 Gene Smith <gene.smith@siemens.com>
1187
1188 * ieee.c (ieee_write_expression): Handle the case where symbol is
1189 NULL.
1190 General formatting improvements.
1191
6a457e5c
NC
11922003-03-13 Nick Clifton <nickc@redhat.com>
1193
1194 * configure.in (LINGUAS): Add zh_CN.
1195 * configure: Regenerate.
1196 * po/zh_CN.po: New file.
1197
93516ec3
NC
11982003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
1199
1200 * aout-cris.c (BYTES_IN_WORD): Don't define.
1201 aout-encap.c: Likewise.
1202 aout-ns32k.c: Likewise.
1203 aout-tic30.c: Likewise.
1204 hp300bsd.c: Likewise.
1205 i386aout.c: Likewise.
1206 i386dynix.c: Likewise.
1207 i386linux.c: Likewise.
1208 i386lynx.c: Likewise.
1209 i386mach3.c: Likewise.
1210 m68k4knetbsd.c: Likewise.
1211 m68klinux.c: Likewise.
1212 m68klynx.c: Likewise.
1213 m68knetbsd.c: Likewise.
1214 m88kmach3.c: Likewise.
1215 mipsbsd.c: Likewise.
1216 newsos3.c: Likewise.
1217 sparclinux.c: Likewise.
1218 sparclynx.c: Likewise.
1219 sparcnetbsd.c: Likewise.
1220 vaxbsd.c: Likewise. Fix comment formatting.
1221
fee24f1c
AO
12222003-03-12 Alexandre Oliva <aoliva@redhat.com>
1223
0b25d3e6
AO
1224 * Reverted 2003-03-02's patch.
1225
fee24f1c
AO
1226 * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
1227 overridable.
1228 * elf64-mips.c (mips_elf64_canonicalize_reloc,
1229 mips_elf64_get_dynamic_reloc_upper_bound,
1230 mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
1231 (bfd_elf64_get_canonicalize_reloc,
1232 bfd_elf64_get_dynamic_reloc_upper_bound,
1233 bfd_elf64_canonicalize_dynamic_reloc): Define.
1234 (mips_elf64_slurp_reloc_table): Support dynamic.
1235 (mips_elf64_slurp_one_reloc_table): Adjust.
1236
64fb1839
NC
12372003-03-12 Nick Clifton <nickc@redhat.com>
1238
1239 * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
1240 'index' to 'offset' in test for zero value.
1241
908488f1
AO
12422003-03-11 Alexandre Oliva <aoliva@redhat.com>
1243
1244 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
1245 dynamic relocations pointing to local or section symbols, use the
1246 NULL symbol instead. Document the choice to not emit an
1247 additional R_MIPS_64 relocation.
1248
e515b051
AM
12492003-03-11 Alan Modra <amodra@bigpond.net.au>
1250
1251 * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
1252 zero index dynamic tls relocs generated for the GOT. Tidy code.
1253 Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
1254 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1255
a23b6845
AM
12562003-03-07 Alan Modra <amodra@bigpond.net.au>
1257
87d243f1
AM
1258 * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
1259 a tls_get_addr call.
1260
a23b6845
AM
1261 * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
1262 (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
1263 ELF_LINK_NON_GOT_REF from weakdef.
1264 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
1265 (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
1266 ELF_LINK_NON_GOT_REF from weakdef.
1267 * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
1268 (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
1269 ELF_LINK_NON_GOT_REF from weakdef.
1270
2d36fe5f
AH
12712003-03-06 Jakub Jelinek <jakub@redhat.com>
1272 Andrew Haley <aph@redhat.com>
1273
1274 * elflink.h (elf_bfd_discard_info): Don't process eh frames if
1275 output is relocateable.
1276
34f304a7
NC
12772003-03-06 Steven Konopa <skonopa@kgo.csc.com>
1278
1279 * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
1280 R_COMMENT.
1281
7b609f53
AM
12822003-03-06 Alan Modra <amodra@bigpond.net.au>
1283
1284 * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
1285 error messages.
1286 (ELIMINATE_COPY_RELOCS): Define to zero.
1287 (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
1288 TLSLD relocs. Report reloc types on a number of errors. Optimize
1289 LOCAL24PC check for non-local syms. Don't capitalize error messages.
1290 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
1291 (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
1292 calculating TLSLD relocs. Report reloc types on a number of errors.
1293 Don't capitalize error messages.
1294
6a0fb186
L
12952003-03-03 H.J. Lu <hjl@gnu.org>
1296
1297 * elfxx-ia64.c (USE_BRL): Removed.
1298 (oor_ip): Removed.
1299
34f304a7 13002003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
bdfaef52
JR
1301
1302 * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
1303 relocation (no special function), and make it non-partial_inplace.
1304 (sh_elf_relax_section): When creating a bsr, use a consistent value
1305 no matter if the symbol is extern or not; set addend to -4.
1306 Don't swap load / non-load instructions for SH4.
1307 (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
1308 rather than if the symbol is external to determine if adjusting the
1309 offset makes sense. Adjust the addend too if appropriate.
1310 (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
1311 relocation.
1312
a9d68a1e
NC
13132003-03-03 Nick Clifton <nickc@redhat.com>
1314
1315 * po/da.po: Installed latest translation.
1316
7c2be35c
TS
13172003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1318
1319 * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
1320 R_MIPS_PC16 to rightshift 2.
1321 (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
1322 (bfd_elf32_bfd_reloc_type_lookup): Support
1323 BFD_RELOC_MIPSEMB_16_PCREL_S2.
1324 * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
1325 R_MIPS_PC16 to rightshift 2.
1326 (mips_elf64_howto_table_rela): Likewise.
1327 (mips_reloc_map): Map to rightshifted BFD reloc.
1328 * elfn32-mips.c: The same as in elf64-mips.c.
1329 * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
1330 (mips_elf_calculate_relocation): Handle rightshifted addends for
1331 R_MIPS_PC16.
1332 * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
1333 MIPS Embedded PIC. Remove superfluous empty COMMENT.
1334 * libbfd.h: Regenerate.
1335 * bfd-in2.h: Regenerate.
1336
484a4f9c
RH
13372003-02-28 Richard Henderson <rth@redhat.com>
1338
1339 * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
1340 for ltoff22x relaxation.
1341
2ce40c65
AM
13422003-03-01 Alan Modra <amodra@bigpond.net.au>
1343
1344 * bfd-in.h (_bfd): Don't define.
1345 * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
1346 * syms.c: Likewise.
1347 * bfd-in2.h: Regenerate.
1348
2c4c2bc0
RH
13492003-02-27 Richard Henderson <rth@redhat.com>
1350
1351 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
1352 (elfNN_ia64_check_relocs): Set it.
1353 (allocate_global_data_got): Check it.
1354 (allocate_local_got): Likewise.
1355 (allocate_dynrel_entries): Likewise.
1356 (elfNN_ia64_relax_ldxmov): New.
1357 (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
1358 (elfNN_ia64_choose_gp): Split out from ...
1359 (elfNN_ia64_final_link): ... here.
8c29f035 1360
c2852e88
AC
13612003-02-27 Andrew Cagney <cagney@redhat.com>
1362
1363 * bfd.c (struct bfd): Rename "struct _bfd".
1364 * bfd-in.h: Update copyright.
1365 (struct bfd): Rename "struct _bfd".
1366 (_bfd): Define for backward compatibility.
1367 * bfd-in2.h: Regenerate.
1368
3f87cb70
AM
13692003-02-25 Alan Modra <amodra@bigpond.net.au>
1370
3f9a32bd
AM
1371 * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
1372 and rel_hdr2 when initially counting input relocs rather than after
1373 creating output reloc sections.
4fabe71e
AM
1374 (elf_link_read_relocs_from_section): Don't abort with wrong reloc
1375 sizes.
3f9a32bd 1376
3f87cb70
AM
1377 * Makefile.am: Run "make dep-am".
1378 * Makefile.in: Regenerate.
1379
07c6e936
NC
13802003-02-24 Kris Warkentin <kewarken@qnx.com>
1381
1382 * elf.c (elfcore_read_notes): Add check for QNX style core file.
1383 (elfcore_grog_nto_note): New function.
1384 (elfcore_grog_nto_gregs): New function.
1385 (elfcore_grog_nto_status): New function.
1386
aad5d350
AM
13872003-02-24 Alan Modra <amodra@bigpond.net.au>
1388
1389 * elflink.c (_bfd_elf_create_got_section): Check existing .got
1390 section flags before concluding that we've already been called.
1391 Don't use register keyword.
1392 (_bfd_elf_create_dynamic_sections): Don't use register keyword.
1393 (_bfd_elf_create_linker_section): Formatting.
1394
2ab1486e
NC
13952003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
1396
1397 * coff-h8300.c: Fix typo: intial -> initial.
1398 * coff-ppc.c: Likewise.
1399
70bccea4
AM
14002003-02-20 Alan Modra <amodra@bigpond.net.au>
1401
1402 * elf32-ppc.c: Formatting.
1403 (allocate_dynrelocs): LD and GD relocs against the same sym need
1404 separate GOT entries.
1405 (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
1406 entries per symbol.
1407
ee05f2fe
AM
14082003-02-19 Alan Modra <amodra@bigpond.net.au>
1409
26e41594
AM
1410 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
1411 removal. Localize vars. Remove unnecessary dynobj test.
1412 * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
1413 of INFO.
1414 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
1415 and optimize.
1416 (elf_i386_relocate_section): Likewise.
1417 (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
1418 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
1419 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
1420 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
1421 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
1422 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
1423 local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
1424 or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
1425 Formatting.
1426
f4656909
AM
1427 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
1428 (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
1429 test.
1430 (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
1431 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
1432 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
1433 and optimize. Use ELIMINATE_COPY_RELOCS.
1434 (ppc64_elf_relocate_section): Likewise.
1435
ee05f2fe
AM
1436 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
1437 (ppc_elf_copy_indirect_symbol): Copy pc_count field.
1438 (ELIMINATE_COPY_RELOCS): Define.
1439 (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
1440 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
1441 (MUST_BE_DYN_RELOC): Define.
1442 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
1443 and optimize. Trim dyn_relocs.
1444 (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
1445 not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
1446 track of pc_rel dyn relocs.
1447 (ppc_elf_relocate_section): Remove "will_become_local". Adjust
1448 WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
1449 allocate_dynrelocs. Don't recalculate "sec".
1450
7619e7c7
AM
14512003-02-18 Alan Modra <amodra@bigpond.net.au>
1452
d881513a
AM
1453 * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
1454 * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
1455 on invalid LD relocs.
1456 (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
1457 (ppc64_elf_relocate_section): Unify new handling of LD relocs and
1458 tlsld_got entry. Use IS_PPC64_TLS_RELOC.
1459
7619e7c7
AM
1460 * elf32-ppc.h: New file.
1461 * elf32-ppc.c: Include elf32-ppc.h.
1462 (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
1463 (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
1464 Add "tls_mask" field.
1465 (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
1466 (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
1467 Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
1468 sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
1469 Make use of htab shortcuts throughout file.
1470 (ppc_elf_link_hash_newfunc): Init tls_mask field.
1471 (ppc_elf_link_hash_table_create): Init new fields.
1472 (ppc_elf_copy_indirect_symbol): Copy tls_mask.
1473 (ppc_elf_howto_raw): Add tls relocs.
1474 (ppc_elf_reloc_type_lookup): Handle them.
1475 (ppc_elf_unhandled_reloc): New function.
1476 (ppc_elf_create_got): Stash got section pointer in hash table,
1477 return status. Make .rela.got too.
1478 (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
1479 (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
1480 NON_GOT_REF set. Don't allocate space in .plt here..
1481 (allocate_dynrelocs): ..do so here instead, properly ref-counting and
1482 not allocating plt entries unnecessarily. Allocate got entries here.
1483 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1484 (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
1485 "info" during allocate_dynrelocs hash traversal. Use htab section
1486 shortcuts rather than searching for named sections. Get rid of
1487 "plt" and "strip" booleans.
1488 (update_local_sym_info, bad_shared_reloc): New functions.
1489 (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
1490 ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
1491 in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
1492 Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
1493 R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
1494 in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
1495 relocs that might use a plt entry. Set NON_GOT_REF too.
1496 Enumerate all do-nothing relocs.
1497 (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
1498 tls relocs and all plt relocs.
1499 (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
1500 (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
1501 (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
1502 shortcuts.
1503 (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
1504 bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
1505 entries and got relocs here. Warn on non-zero got reloc addend.
1506 Split out branch taken/not taken reloc code into a separate switch
1507 and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
1508 Split out HA reloc adjustments to separate switch statement. Don't
1509 warn on reloc overflow if we've already warned about undefined.
1510 Don't rebuild sym name when reporting errors. Report all possible
1511 errors from _bfd_final_link_relocate.
1512 (bfd_elf32_bfd_final_link): Don't define.
1513
cd27b276
AM
15142003-02-18 Alan Modra <amodra@bigpond.net.au>
1515
1516 * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
1517 rebuild sym name when reporting errors.
1518
ae9a127f
NC
15192003-02-17 Nick Clifton <nickc@redhat.com>
1520
3f9a32bd 1521 * elflink.h (elf_link_output_extsym): Only check
ae9a127f
NC
1522 allow_shlib_undefined for shared libraries.
1523 * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
1524 of allow_shlib_undefined.
1525 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1526 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1527 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1528 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1529 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1530 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1531 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1532 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1533 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1534 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
1535 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1536 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1537 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1538 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1539 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1540 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1541
b5f852ea
NC
15422003-02-17 Nick Clifton <nickc@redhat.com>
1543
1544 * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
1545 address field to use in the comparison.
3f9a32bd 1546 (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
b5f852ea 1547
3193e234
NC
15482003-02-14 Bob Wilson <bob.wilson@acm.org>
1549
1550 * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
1551 backends when checking if the generic ELF target should be used.
1552
21efdc8d
NC
1553 * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
1554 outside of functions, treat values as absolute addresses.
1555
ed781d5d
NC
1556 * bfd.c: Change embedded documentation to use consistent indentation
1557 and to split up long lines. Change informal style of description
1558 for functions lacking real documentation.
1559 * coffcode.h: Break up long lines in embedded documentation.
1560 * format.c: Likewise.
1561 * targets.c: Likewise.
1562 * libcoff.h: Regenerate.
1563 * bfd-in2.h: Regenerate.
1564
58ac9f71
AM
15652003-02-14 Alan Modra <amodra@bigpond.net.au>
1566
1567 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
1568 (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
1569 (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
1570 (allocate_dynrelocs): Don't treat undefined and undefweak specially.
1571 (ppc_size_one_stub): Fix warning, and tighten plt entry check.
1572 (group_sections): Don't share a stub section if stubs are for a large
1573 section. Adjust comment.
1574 (ppc64_elf_size_stubs): Roughly double the size left for stubs if
1575 !stubs_always_before_branch.
1576 (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
1577 treat undefined and undefweak specially when processing dyn relocs.
1578
9147e853
JJ
15792003-02-13 Jakub Jelinek <jakub@redhat.com>
1580
1581 * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
1582
427bfd90
NC
15832003-02-13 Nick Clifton <nickc@redhat.com>
1584
1585 * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
1586 in computation of offset to insert into BL instruction.
1587
42b5d0ea
NC
15882003-02-11 Uwe Stieber <uwe@wwws.de>
1589
1590 * config.bfd: Add support for kaOS as cross build target system.
1591
a48ebf4d
AM
15922003-02-11 Alan Modra <amodra@bigpond.net.au>
1593
1594 * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
1595 .__tls_get_addr too.
1596 (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
1597
c95b8a7a
KK
15982003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
1599
1600 * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
1601 (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
1602 (sh_elf_link_hash_newfunc): Remove the initialization of
1603 tls_tpoff32 field.
1604 (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
1605 for which tls_tpoff32 flag is set.
1606 (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
1607 of the symbol includes the entry matched with the input_section
1608 and having tls_tpoff32 flag on. When linking statically, set
1609 symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
1610 is defined in this executable.
1611 (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
1612
a779acda
JJ
16132003-02-10 Jakub Jelinek <jakub@redhat.com>
1614
1615 * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
1616 even if there is just non-empty .rela.plt.
1617
fde78edd
NC
16182003-02-10 Nick Clifton <nickc@redhat.com>
1619
1620 * archures.c (bfd_mach_arm_ep9312): Define.
1621 * bfd-in2.h: Regenerate.
1622 * cpu-arm.c (processors[]): Add ep9312.
1623 (bfd_arm_arch): Add ep9312.
1624 * elf32-arm.h (elf32_arm_merge_private_data): Update error
1625 messages and add test for Maverick floating point support.
1626 (elf32_arm_print_private_bfd_data): Handle
1627 EF_ARM_MAVERICK_FLOAT flag.
c178919b
NC
1628 (elf32_arm_object_p): New function.
1629 (elf_backend_object_p): Define.
fde78edd 1630
e7b938ca
AM
16312003-02-10 Alan Modra <amodra@bigpond.net.au>
1632
1633 * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
1634 variables, structure fields or function params to tls_mask or
1635 similar to better reflect usage.
1636 (struct got_entry): Comment.
1637 (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
1638 (get_tls_mask): Rename from get_tls_type.
1639
951fd09b
AM
16402003-02-09 Alan Modra <amodra@bigpond.net.au>
1641
1642 * elf64-ppc.c (TLS_GD_LD): Don't define..
1643 (TLS_GD): ..define this instead and update all uses.
1644 (TLS_TPRELGD): Define.
1645 (ppc64_elf_link_hash_table_create): Tweak initialization of
1646 init_refcount and init_offset.
1647 (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
1648 Mark second slot of GD or LD toc entries.
1649 (get_tls_type): Return an int. Distinguish toc GD and LD entries
1650 from other tls types.
1651 (ppc64_elf_tls_setup): New function, split out from..
1652 (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
1653 defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
1654 on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
1655 return value to properly decide whether toc GD and LD entries can
1656 optimize away __tls_get_addr call. Check next reloc after DTPMOD64
1657 to determine GD or LD rather than looking at TLS_LD flag. Don't
1658 attempt to adjust got entry tls_type here..
1659 (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
1660 look for possible merges.
1661 (ppc64_elf_size_dynamic_sections): Adjust local got entries for
1662 optimization.
1663 (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
1664 (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
1665 Make use of return value from get_tls_type to properly detect GD and
1666 LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
1667 handle tls_get_addr removal when looking at REL24 relocs, do it when
1668 looking at the previous reloc. Check reloc after DTPMOD64 to determine
1669 GD or LD.
1670 * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
1671
acc990f2
AM
16722003-02-08 Alan Modra <amodra@bigpond.net.au>
1673
00b28bb0
AM
1674 * elf32-hppa.c (group_sections): Don't share a stub section if
1675 stubs are for a large section.
1676
acc990f2
AM
1677 * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
1678 stubs if !stubs_always_before_branch.
1679
589e6347
NC
16802003-02-07 Nick Clifton <nickc@redhat.com>
1681
1682 * elf.c (swap_out_syms): Generate an error message if an
1683 equivalent output section cannot be found for a symbol.
1684
c328dc3f
JJ
16852003-02-07 Jakub Jelinek <jakub@redhat.com>
1686
1687 * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
1688 local_got_entries is NULL.
1689
84f97cb6
AS
16902003-02-06 Andreas Schwab <schwab@suse.de>
1691
1692 * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
1693 (read_value): Add parameter is_signed, use signed extraction if
1694 the value is signed.
1695 (_bfd_elf_write_section_eh_frame): Pass signed flag of the
1696 encoding to read_value.
1697
6349e628
AM
16982003-02-06 Alan Modra <amodra@bigpond.net.au>
1699
1700 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
1701 plt info when called to transfer weak sym info.
1702
411e1bfb
AM
17032003-02-05 Alan Modra <amodra@bigpond.net.au>
1704
1705 * reloc.c: Add PPC and PPC64 TLS relocs.
1706 * libbfd.h: Regenerate.
1707 * bfd-in2.h: Regenerate.
1708 * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
1709 (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
1710 against a 32 bit field.
1711 (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
1712 (_ppc64_elf_section_data): Add t_symndx and comments.
1713 (ppc64_elf_section_data): Use elf_section_data macro.
1714 (ppc64_elf_new_section_hook): American spelling.
1715 (struct got_entry, struct plt_entry): New.
1716 (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
1717 (struct ppc_stub_hash_entry): Add "addend" field.
1718 (struct ppc_link_hash_entry): Add "tls_type".
1719 (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
1720 TLS_EXPLICIT): Define.
1721 (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
1722 (link_hash_newfunc): Init new fields.
58ac9f71 1723 (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
411e1bfb
AM
1724 init_offset to NULL.
1725 (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
1726 _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
1727 there.
1728 (update_local_sym_info, update_plt_info): New functions.
1729 (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
1730 handling to use got.glist rather than got.refcount. Likewise for PLT.
1731 (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
1732 (func_desc_adjust): Adjust for new PLT list.
1733 (ppc64_elf_adjust_dynamic_symbol): Likewise.
1734 (get_sym_h, get_tls_type): New functions.
1735 (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
1736 (ppc64_elf_tls_optimize): New function.
1737 (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
1738 TLS relocs.
1739 (ppc64_elf_size_dynamic_sections): Likewise.
1740 (ppc_type_of_stub): Adjust for new PLT list.
1741 (ppc_build_one_stub): Likewise.
1742 (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
1743 calls specially.
1744 (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
1745 TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
1746 init GOT entries that have a reloc. Generate GOT relocs here..
1747 (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
1748 * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
1749
0cca5f05
AS
17502003-02-04 Andreas Schwab <schwab@suse.de>
1751
1752 * elf32-m68k.c (elf_m68k_hash_entry): Define.
1753 (elf_m68k_link_hash_traverse): Remove.
1754 (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
1755 elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
1756 reduce casting.
1757 (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
1758 casting.
1759 (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
1760 instead of elf_m68k_link_hash_traverse.
1761 (elf_m68k_discard_copies): Change first parameter to pointer to
1762 struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
1763 elf_m68k_link_hash_entry is needed.
1764
5cab59f6
AM
17652003-02-04 Alan Modra <amodra@bigpond.net.au>
1766
1767 * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
1768 (struct elf_link_hash_entry): Add "glist" and "plist" fields to
1769 "got" union, and declare as gotplt_union. Use gotplt_uinion for
1770 "plt" field.
1771 (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
1772 Add "init_offset" field.
1773 (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
1774 (elf_local_got_ents): Declare.
1775 * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
1776 and "plt".
1777 (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
1778 (_bfd_elf_link_hash_table_init): Set "init_offset".
1779 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
1780 from init_offset.
1781 (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
1782
1783 * elf.c (bfd_elf_local_sym_name): Split out from..
1784 (group_signature): ..here.
1785 * elf-bfd.h (bfd_elf_local_sym_name): Declare.
1786
68bfbfcc
AM
17872003-02-04 Alan Modra <amodra@bigpond.net.au>
1788
1789 * elf-bfd.h (enum elf_link_info_type): Remove.
1790 (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
1791 to struct sec. Remove linkonce_p field.
1792 (elf_linkonce_p): Delete.
1793 (elf_discarded_section): Update for sec_info_type change.
1794 * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
1795 flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
1796 (ELF_INFO_TYPE_NONE): Define.
1797 (ELF_INFO_TYPE_STABS): Define.
1798 (ELF_INFO_TYPE_MERGE): Define.
1799 (ELF_INFO_TYPE_EH_FRAME): Define.
1800 (ELF_INFO_TYPE_JUST_SYMS): Define.
1801 (STD_SECTION): Update struct sec initializer.
1802 * ecoff.c (bfd_debug_section): Likewise.
1803 * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
1804 * elflink.h: Likewise.
1805 * elf-eh-frame.c: Likewise.
1806 * elf64-alpha.c: Likewise.
1807 * elfxx-ia64.c: Likewise.
1808 * elfxx-mips.c: Likewise.
1809 * bfd-in2.h: Regenerate.
1810
1811 * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
1812 referring to used_by_bfd.
1813 * elf64-sparc.c (sec_do_relax): Likewise.
1814 * elf64-mmix.c (mmix_elf_section_data): Likewise.
1815 * elfxx-mips.c (mips_elf_section_data): Likewise.
1816 * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
1817 (ieee_get_section_contents): Likewise.
1818 (ieee_new_section_hook): Formatting.
1819 (ieee_canonicalize_reloc): Remove commented out code.
1820 * mmo.c (mmo_section_data): Define. Use throughout file.
1821 * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
1822
31f7ba04
NC
18232003-01-31 Graydon Hoare <graydon@redhat.com>
1824
1825 * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
1826 * Makefile.in: Regenerate.
1827 * opncls.c (calc_crc32, get_debug_link_info,
1828 seperate_debug_file_exists, find_seperate_debug_file): New
1829 internal functions.
1830 (bfd_follow_gnu_debuglink): New function. Follow the pointer
1831 contained inside a .gnu_debuglink section.
1832 * bfd-in2.h: Regenerate.
1833
38985a1c
AO
18342003-01-29 Alexandre Oliva <aoliva@redhat.com>
1835
1836 * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
1837 entry->abfd when it's NULL.
1838
4bb9a95f
AO
18392003-01-27 Alexandre Oliva <aoliva@redhat.com>
1840
1841 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
1842 _bfd_elf_section_offset returning -2 the same way as -1.
1843
f4416af6
AO
1844 * elfxx-mips.c (mips_elf_multi_got): New function.
1845 (struct mips_got_entry): Make symndx and gotidx signed. Moved
1846 addend into union along with address and link hash entry.
1847 (struct mips_got_info): Added bfd2got and next.
1848 (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
1849 (mips_elf_got_section, mips_elf_create_got_section): Use
1850 SEC_EXCLUDE bit to tell whether we really need the got
1851 section. Take boolean arguments to disregard an excluded
1852 section, or to create it as excluded. Adjust all callers.
1853 Use mips_elf_got_section all over.
1854 (mips_elf_local_got_index, mips_elf_got_page,
1855 mips_elf_got16_entry): Take input bfd as argument, and pass it
1856 on to mips_elf_create_local_got_entry.
1857 (mips_elf_global_got_index, mips_elf_create_local_got_entry):
1858 Take input bfd as argument, and manage entries in the
1859 appropriate GOT.
1860 (mips_elf_got_offset_from_index): Take input bfd as argument,
1861 and use it to adjust the GP offset of the bfd.
1862 (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
1863 unreferenced GOT entries of global symbols to the end.
1864 (mips_elf_record_global_got_symbol): Take input bfd as
1865 argument. Add entries to the master GOT hash table.
1866 (struct mips_elf_bfd2got_hash): New.
1867 (struct mips_elf_got_per_bfd_arg): New.
1868 (struct mips_elf_set_global_got_offset_arg): New.
1869 (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
1870 mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
1871 mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
1872 mips_elf_merge_gots, mips_elf_set_global_got_offset,
1873 mips_elf_resolve_final_got_entry,
1874 mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
1875 mips_elf_got_for_ibfd): New functions.
1876 (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
1877 (MIPS_ELF_GOT_MAX_SIZE): New macro.
1878 (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
1879 (mips_elf_got_entry_hash): Take new fields into account. Use
1880 mips_elf_hash_bfd_vma.
1881 (mips_elf_got_entry_eq): Take new fields into account.
1882 (mips_elf_create_got_section): Initialize new fields.
1883 (mips_elf_calculate_relocation): Pass input_bfd to functions
1884 that now take it. Adjust gp for the input_bfd.
1885 (mips_elf_allocate_dynamic_relocation,
1886 mips_elf_create_dynamic_relocation,
1887 _bfd_mips_elf_create_dynamic_sections): Use...
1888 (mips_elf_rel_dyn_section): New function. Borrow code from...
1889 (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
1890 now take it. Create the got section if needed, even if
1891 excluded, before recording a global got symbol. Move some
1892 code to...
1893 (mips_elf_record_local_got_symbol): New fn.
1894 (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
1895 Compute multi-got global entries offsets. Move GOT code to...
1896 (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
1897 if the GOT is too big.
1898 (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
1899 undefweak symbol to zero. Generate dynamic relocations for
1900 non-primary GOT entries for global symbols.
1901 (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
1902 case. Generate dynamic relocations for local got entries.
1903 Sort dynamic relocations on N64 too, using...
1904 (sort_dynamic_relocs_64): New fns.
1905 (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
1906 (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
1907
52b69c9e
AO
19082003-01-27 Alexandre Oliva <aoliva@redhat.com>
1909
1910 * bfd.c (struct _bfd): Added id field.
1911 * opncls.c (_bfd_id_counter): New static variable.
1912 (_bfd_new_bfd): Use it.
1913 * bfd-in2.h: Rebuilt.
1914
71e5db1c
AM
19152003-01-25 Alan Modra <amodra@bigpond.net.au>
1916
1917 * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
1918
b9734f35
JJ
19192003-01-25 Jakub Jelinek <jakub@redhat.com>
1920
1921 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
1922 (elf32_sparc_rev32_howto): New variable.
1923 (sparc_reloc_map): Add TLS relocs.
1924 (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
1925 Handle REV32.
1926 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
1927 New functions.
1928 (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
1929 struct elf32_sparc_link_hash_table):
1930 New structures.
1931 (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
1932 elf32_sparc_hash_table): Define.
1933 (link_hash_newfunc, elf32_sparc_link_hash_table_create,
1934 create_got_section, elf32_sparc_create_dynamic_sections,
1935 elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
1936 functions.
1937 (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
1938 reference counting.
1939 (elf32_sparc_gc_sweep_hook): Likewise.
1940 (elf32_sparc_adjust_dynamic_symbol): Likewise.
1941 (elf32_sparc_size_dynamic_sections): Likewise.
1942 (elf32_sparc_relocate_section): Likewise.
1943 (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
1944 New functions.
1945 (elf32_sparc_object_p): Allocate backend private object data.
1946 (bfd_elf32_bfd_link_hash_table_create,
1947 elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
1948 elf_backend_can_refcount): Define.
1949 (elf_backend_create_dynamic_sections): Define to
1950 elf32_sparc_create_dynamic_sections.
1951 * reloc.c: Add SPARC TLS relocs.
1952 * bfd-in2.h, libbfd.h: Rebuilt.
1953 * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
1954 (sparc_reloc_map): Likewise.
1955
69fc87f1
MS
19562003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
1957
1958 * bfd-in2.h: Regenerate.
1959 * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
1960 s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
1961 (elf_howto_table): Add TLS relocs.
1962 (elf_s390_reloc_type_lookup): Likewise.
1963 (elf_s390_link_hash_entry): Add tls_type.
1964 (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
1965 New macros.
1966 (elf_s390_link_hash_table): Add tls_ldm_got.
1967 (link_hash_newfunc): Initialize tls_type.
1968 (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
1969 (elf_s390_copy_indirect_symbol): Copy tls_type information.
1970 (elf_s390_check_relocs): Support TLS relocs.
1971 (elf_s390_gc_sweep_hook): Likewise.
1972 (allocate_dynrelocs): Likewise.
1973 (elf_s390_size_dynamic_sections): Likewise.
1974 (elf_s390_relocate_section): Likewise.
1975 (elf_s390_finish_dynamic_symbol): Likewise.
1976 (bfd_elf32_mkobject): Define for TLS.
1977 * elf64-s390.c: Same changes as for elf32-s390.c.
1978 * libbfd.h: Regenerate.
1979 * reloc.c: Add s390 TLS relocations.
1980
c5d1701e 19812003-01-24 Charles Lepple <clepple@ghz.cc>
9aa4e505
NC
1982
1983 * aclocal.m4: Fix name of --enable-install-libbfd switch.
1984
5177500f
NC
19852003-01-23 Nick Clifton <nickc@redhat.com>
1986
1987 * Add sh2e support:
1988
1989 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
1990
1991 * archures.c (bfd_mach_sh2e): Added.
1992 * bfd-in2.h: Rebuilt.
1993 * cpu-sh.c (arch_info_struct): Added SH2e.
1994 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
1995
f0abc2a1
AM
19962003-01-23 Alan Modra <amodra@bigpond.net.au>
1997
1998 * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
1999 dynindx to an int. Rearrange for better packing.
2000 * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
2001 * elf32-mips.c (bfd_elf32_new_section_hook): Define.
2002 * elf32-sh64.h: New. Split out from include/elf/sh.h.
2003 (struct _sh64_elf_section_data): New struct.
2004 (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
2005 * elf32-sh64-com.c: Include elf32-sh64.h.
2006 * elf32-sh64.c: Likewise.
2007 (sh64_elf_new_section_hook): New function.
2008 (bfd_elf32_new_section_hook): Define.
2009 (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
2010 (sh64_bfd_elf_copy_private_section_data): Likewise.
2011 (sh64_elf_final_write_processing): Likewise.
2012 * elf32-sparc.c (struct elf32_sparc_section_data): New.
2013 (elf32_sparc_new_section_hook): New function.
2014 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
2015 (sec_do_relax): Define.
2016 (elf32_sparc_relax_section): Adjust to use sec_do_relax.
2017 (elf32_sparc_relocate_section): Likewise.
2018 * elf64-mips.c (bfd_elf64_new_section_hook): Define.
2019 * elf64-mmix.c (struct _mmix_elf_section_data): New.
2020 (mmix_elf_section_data): Define. Use throughout file.
2021 (mmix_elf_new_section_hook): New function.
2022 (bfd_elf64_new_section_hook): Define.
2023 * elf64-ppc.c (struct _ppc64_elf_section_data): New.
2024 (ppc64_elf_section_data): Define. Use throughout.
2025 (ppc64_elf_new_section_hook): New function.
2026 (bfd_elf64_new_section_hook): Define.
2027 * elf64-sparc.c (struct sparc64_elf_section_data): New.
2028 (sparc64_elf_new_section_hook): New function.
2029 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
2030 (sec_do_relax): Define.
2031 (sparc64_elf_relax_section): Adjust to use sec_do_relax.
2032 (sparc64_elf_relocate_section): Likewise.
2033 (bfd_elf64_new_section_hook): Define.
2034 * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
2035 * elfxx-mips.c (struct _mips_elf_section_data): New.
2036 (mips_elf_section_data): Define. Use throughout.
2037 (_bfd_mips_elf_new_section_hook): New function.
2038 (mips_elf_create_got_section): Don't alloc used_by_bfd.
2039 * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
2040 * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
2041 * Makefile.am: Run "make dep-am".
2042 * Makefile.in: Regenerate.
2043
cc03ec80
RH
20442003-01-21 Richard Henderson <rth@redhat.com>
2045
2046 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
2047 (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
2048 (elf64_alpha_adjust_dynamic_symbol): Set them.
2049 (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
2050 (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
2051 symbol index when relaxing LDM to TPREL.
2052 (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
2053 relocs, even if the target isn't locally defined.
2054 (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
2055 (elf64_alpha_relocate_section): Likewise. Force TP-relative
2056 relocs vs symndx 0 to the tp base.
2057
da896d3f
NC
20582003-01-21 Fabio Alemagna <falemagn@aros.org>
2059
2060 * config.bfd: Handle i[3456]86-*-aros*.
2061
7fce784e
AS
20622003-01-21 Andreas Schwab <schwab@suse.de>
2063
2064 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
2065 (struct ppc_elf_link_hash_entry): Define.
2066 (ppc_elf_hash_entry): New function.
2067 (struct ppc_elf_link_hash_table): Define.
2068 (ppc_elf_hash_table): New function.
2069 (ppc_elf_link_hash_newfunc): New function.
2070 (ppc_elf_link_hash_table_create): New function.
2071 (ppc_elf_copy_indirect_symbol): New function.
2072 (allocate_dynrelocs): New function.
2073 (readonly_dynrelocs): New function.
2074 (ppc_elf_size_dynamic_sections): Allocate space for dynamic
2075 relocs and determine DT_TEXTREL.
2076 (ppc_elf_check_relocs): Don't do that here, just count the
2077 dynamic relocs.
2078 (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
2079 removed section.
2080 (bfd_elf32_bfd_link_hash_table_create): Define.
2081 (elf_backend_copy_indirect_symbol): Define.
2082
1bbc9cec
RH
20832003-01-21 Richard Henderson <rth@redhat.com>
2084
2085 * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
2086 TPREL also get a reloc if shared. Remove SREL support.
2087 (elf64_alpha_emit_dynrel): New.
acc990f2 2088 (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
1bbc9cec
RH
2089 and GOTTPREL relocs to local symbols against the tp base.
2090 (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
2091
2092 * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
2093 use count before clobbering r_type.
2094 (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
2095 ordering would mean dataflow inspection is necessary.
2096
0da35f8b
SS
20972003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
2098
2099 * coffcode.h (coff_set_flags): Added get/set arch hooks.
acc990f2 2100
571fe01f
NC
21012003-01-20 Fabio Alemagna <falemagn@aros.org>
2102
2103 * elf32-sh.c: Treat elfNN_bed like other macros defined in
2104 elfxx-target.h and #undef it before #define'ing it.
2105 * elf32-i386.c: Likewise.
acc990f2
AM
2106 * elf32-sh64.c: Likewise.
2107 * elf64-alpha.c: Likewise.
2108 * elf64-sh64.c: Likewise.
571fe01f 2109
5236c819
MS
21102003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
2111
2112 * bfd-in2.h: Regenerate.
2113 * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
2114 (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
2115 R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
2116 R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
2117 R_390_PLTOFF32 and R_390_PLTOFF64.
2118 (elf_s390_reloc_type_lookup): Likewise.
2119 (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
2120 of GOTPLT references to a function.
2121 (link_hash_newfunc): Initialize gotplt_refcount.
2122 (elf_s390_check_relocs): Move allocation of local_got_refcounts array
2123 and creation of the got section out of the main switch. Add support
2124 for the gotoff, gotplt and pltoff relocations.
2125 (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
2126 and pltoff.
2127 (elf_s390_adjust_gotplt): New function.
2128 (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
2129 plt entries.
2130 (allocate_dynrelocs): Add comment.
2131 (elf_s390_relocate_section): Change r_type to unsigned. Add support
2132 for gotoff, gotplt and pltoff relocations.
2133 * elf64-s390.c: Same changes as for elf32-s390.c.
2134 * libbfd.h: Regenerate.
2135 * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
2136 BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
2137 BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
2138 and BFD_RELOC_390_PLTOFF64.
2139
a823975a
JJ
21402003-01-18 Jakub Jelinek <jakub@redhat.com>
2141
2142 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
2143 R_IA64_TPREL64[LM]SB against non-global symbol properly.
2144
b3dfd7fe
JJ
21452003-01-16 Jakub Jelinek <jakub@redhat.com>
2146
2147 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
2148 self_dtpmod_done and self_dtpmod_offset.
2149 (allocate_global_data_got): Only use one got entry for all
2150 dtpmod relocs against local symbols.
2151 (allocate_dynrel_entries): Only need .rela.got entry for
2152 dtpmod against global symbol.
2153 (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
2154 Reserve space in .rela.got for the local dtpmod entry.
2155 (set_got_entry): Initialize the common local dtpmod .got entry.
2156 (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
2157 and R_IA_64_DTPREL64MSB.
2158
04c9666a
AM
21592003-01-16 Alan Modra <amodra@bigpond.net.au>
2160
2161 * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
2162 (R_PPC_*): Rename all occurrences to R_PPC64_*.
2163 (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
2164 (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
2165 (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
2166 relative relocs, not with absolute ones.
2167 * Makefile.am: Run "make dep-am".
2168 * Makefile.in: Regenerate.
2169 * po/SRC-POTFILES.in: Regenerate.
2170
c87f1ff7
AS
21712003-01-15 Andreas Schwab <schwab@suse.de>
2172
2173 * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
2174 relocation against a non-allocated readonly section.
2175
86bbe32f
AM
21762003-01-10 Alan Modra <amodra@bigpond.net.au>
2177
2178 * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
2179 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
2180
32d95f29
KD
21812002-01-08 Klee Dienes <kdienes@apple.com>
2182
2183 * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
2184 (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
2185 * Makefile.in: Regenerate.
acc990f2 2186
ab7d0aa0
AO
21872003-01-08 Alexandre Oliva <aoliva@redhat.com>
2188
2189 * elfn32-mips.c (prev_reloc_section): New.
2190 (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
2191 (SET_RELOC_ADDEND): Parenthesize macro argument.
2192
95d0f04a
DA
21932003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
2194
2195 * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
2196 adjust addil instructions if the symbol has no section.
2197
5c9e189c
DD
21982003-01-07 DJ Delorie <dj@redhat.com>
2199
2200 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
2201 partial_inplace.
2202
3e829b4a
AS
22032003-01-07 Andreas Schwab <schwab@suse.de>
2204
2205 * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
2206 PC relative relocations.
2207 (elf_m68k_discard_copies): Set it here instead.
2208
a75473eb
SC
22092002-01-02 Ben Elliston <bje@redhat.com>
2210 Jeff Johnston <jjohnstn@redhat.com>
2211
2212 * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
2213 (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
2214 (BFD32_BACKENDS): Add elf32-iq2000.lo.
2215 (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
2216 (cpu-iq2000.lo): New target.
2217 * Makefile.in: Regenerate.
2218 * config.bfd: Handle iq2000-*-elf.
2219 * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
2220 (bfd_archures_list): Add bfd_iq2000_arch.
2221 * configure.in: Handle bfd_elf32_iq2000_vec.
2222 * configure: Regenerate.
acc990f2 2223 * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
a75473eb
SC
2224 and BFD_RELOC_IQ2000_UHI16.
2225 * targets.c (bfd_elf32_iq2000_vec): Declare.
2226 (bfd_target_vector): Add bfd_elf32_iq2000_vec.
2227 * elf.c (prep_headers): Set e_machine to EM_IQ2000.
2228 * cpu-iq2000.c: New file.
2229 * elf32-iq2000.c: Likewise.
2230 * libbfd.h: Regenerate.
2231 * bfd-in2.h: Likewise.
2232
64543e1a
RS
22332003-01-02 Richard Sandiford <rsandifo@redhat.com>
2234
2235 * elfxx-mips.c: Include libiberty.h.
2236 (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
2237 (mips_set_isa_flags): New function, split out from...
2238 (_bfd_mips_elf_final_write_processing): ...here. Only call
2239 mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
2240 (mips_mach_extensions): New array.
2241 (mips_32bit_flags_p): New function.
2242 (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
2243 Use mips_32bit_flags_p to check if one binary is 32-bit and the
2244 other is 64-bit. When adopting IBFD's architecture, adopt the
2245 bfd_mach as well as the flags.
2246
4852a44e
NC
22472003-01-02 Nick Kelsey <nickk@ubicom.com>
2248
2249 * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
2250 fix internal errors, fix bad code generation, fix incorrect stabs
2251 information, and improve ability to eliminate redundant page
2252 instructions. Added code to ip2k_final_link_relocate to self-verify
2253 the linker relaxation. Fix formatting problems.
2254
af7ee8bf
CD
22552002-12-30 Chris Demetriou <cgd@broadcom.com>
2256
2257 * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
2258 * archures.c (bfd_mach_mipsisa32r2): New define.
2259 * bfd-in2.h: Regenerate.
2260 * cpu-mips.c (I_mipsisa32r2): New enum value.
2261 (arch_info_struct): Add entry for I_mipsisa32r2.
2262 * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
2263 (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
2264 (_bfd_mips_elf_final_write_processing): Add
2265 bfd_mach_mipsisa32r2 case.
2266 (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
2267 binaries marked as using MIPS32 Release 2.
2268
2469cfa2
NC
22692002-12-30 Dmitry Diky <diwil@mail.ru>
2270
2271 * Makefile.am: Add msp430 target.
2272 * configure.in: Likewise.
2273 * Makefile.in: Regenerate.
2274 * configure: Regenerate.
2275 * archures.c: Add msp430 architecture vector.
2276 * config.bfd: Likewise.
2277 * reloc.c: Add msp430 relocs.
2278 * targets.c: Add msp320 target.
2279 * cpu-msp430.c: New file: msp430 cpu detection.
2280 * elf32-msp430.c: New file: msp430 reloc processing.
2281 * bfd-in2.h: Regenerate.
2282 * libbfd.h: Regenerate.
2283
eecdbe52
JJ
22842002-12-28 Jakub Jelinek <jakub@redhat.com>
2285
2286 * elf.c (elf_sort_sections): Don't reorder .tbss.
2287 (assign_file_positions_for_segments): Only adjust off/voff
2288 for increased alignment in PT_LOAD or PT_NOTE segment,
2289 but adjust p_filesz for .tbss too. in PT_LOAD consider
2290 .tbss to have zero memory size.
2291 (copy_private_bfd_data) [SECTION_SIZE]: Define.
2292 [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
2293 [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
2294 into PT_TLS segment. Never put SHF_TLS sections in
2295 segments other than PT_TLS or PT_LOAD.
2296
2297 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
2298 sh_entsize.
2299
213e90f4
DD
23002002-12-23 DJ Delorie <dj@redhat.com>
2301
2302 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
2303
75828352
AM
23042002-12-23 Alan Modra <amodra@bigpond.net.au>
2305
2306 * elflink.h (elf_link_output_extsym): Heed strip_discarded.
2307
312b768e
NC
23082002-12-23 Nick Clifton <nickc@redhat.com>
2309
2310 * archures.c (bfd_arch_get_compatible): Add third parameter
2311 'accept_unknowns'. Only accept unknown format BFDs if
2312 accept_unknowns is true, or if the format is "binary".
acc990f2 2313 * bfd-in2.h: Regenerate.
312b768e 2314
63222ec9
NC
23152002-12-21 Nick Clifton <nickc@redhat.com>
2316
2317 * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
2318 that subtracted 8 from pc relative relocations.
2319
19852a2a
KH
23202002-12-20 Kazu Hirata <kazu@cs.umass.edu>
2321
2322 * coff-h8300.c: Fix comment typos.
2323 * coffcode.h: Likewise.
2324 * cpu-cris.c: Likewise.
2325 * elf32-vax.c: Likewise.
2326 * genlink.h: Likewise.
2327 * linker.c: Likewise.
2328 * som.c: Likewise.
2329 * tekhex.c: Likewise.
2330 * vms-misc.c: Likewise.
2331
5fd63999
DD
23322002-12-20 DJ Delorie <dj@redhat.com>
2333
2334 * reloc.c: Add BFD_RELOC_XSTORMY16_12.
2335 * libbfd.h: Regenerate.
2336 * bfd-in2.h: Regenerate.
2337 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
2338 (xstormy16_reloc_map): Add R_XSTORMY16_12.
acc990f2 2339
4ee79850
KH
23402002-12-19 Kazu Hirata <kazu@cs.umass.edu>
2341
2342 * doc/bfdint.texi: Fix typos.
2343
66e25bab
AM
23442002-12-20 Paul Eggert <eggert@twinsun.com>
2345
2346 Port to POSIX 1003.1-2001.
2347 * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
2348 * configure.in (build-warnings): Likewise.
2349 (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
2350 * aclocal.m4: Regenerate.
2351 * config.in: Regenerate.
2352 * configure: Regenerate.
2353
7dc77aaa
AM
23542002-12-19 Alan Modra <amodra@bigpond.net.au>
2355
0171ee92
AM
2356 * coff-h8300.c: Include libiberty.h.
2357 (h8300_reloc16_extra_cases): Check the hash table creator before
2358 referencing h8300 specific fields. Stash the hash table pointer
2359 in a local var. Comment typo fixes.
2360 (h8300_bfd_link_add_symbols): Likewise.
2361
7dc77aaa
AM
2362 * bfd/reloc.c (struct reloc_howto_struct): Revise src_mask and
2363 dst_mask comments.
2364 * bfd-in2.h: Regenerate.
2365
47388f4c
AM
23662002-12-18 Alan Modra <amodra@bigpond.net.au>
2367
2368 * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
2369 code a little. Comment on dynamic relocs against section symbols.
2370
1b3e3744
AM
23712002-12-17 Roger Sayle <roger@eyesopen.com>
2372
2373 * configure.host (ia64-*-hpux*): Support 64 bit targets using
2374 the HP compiler's "long long".
2375
46f2b541
DD
23762002-12-16 Andrew MacLeod <amacleod@redhat.com>
2377
2378 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
2379 and R_XSTORMY16_HI16) howto entries.
2380 (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
1b3e3744 2381 (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
46f2b541
DD
2382 determine the start of the second reloc table.
2383
af738ea7
NC
23842002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
2385
2386 * ecofflink.c: Fix the reading of the debugging information
2387 of Tru64/Alpha binaries that are produced by recent Compaq
2388 compilers.
2389 (mk_fdrtab): Fix error in creating the FDR (file descriptor)
2390 table.
2391 (lookup_line): Because of the strange information sometimes
2392 generated by Compaq's recent compilers, change how the FDR
2393 table is searched so that PDRs (procedure descriptors) are
2394 correctly found. Note that this change is really more of a hack;
2395 however, I have included extensive documentation as to why
2396 this is the best solution short of an extensive rewrite or
2397 another hack.
2398 (fdrtab_lookup): Add comments to explain the algorithm.
2399
5354b572
AO
24002002-12-12 Alexandre Oliva <aoliva@redhat.com>
2401
2402 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
2403 initializers to match struct declaration.
2404
ab3acfbe
AM
24052002-12-12 Alan Modra <amodra@bigpond.net.au>
2406
2407 * dwarf2.c (comp_unit_contains_address): Comment typo fix.
2408 * elf.c (get_program_header_size): Likewise.
2409 * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
2410 (m32r_elf_generic_reloc): Likewise.
2411 * elf32-ppc.c (ppc_elf_howto_init): Likewise.
2412 * elflink.h (elf_bfd_discard_info): Likewise.
2413
6348e046
AM
24142002-12-12 Alan Modra <amodra@bigpond.net.au>
2415
2416 * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
2417 to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
2418 DT_RELSZ adjustment, not output section. Avoid writing tags when
2419 unchanged. Don't assume linker script is sane, adjust DT_REL too.
2420 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
2421 size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
2422 DT_RELASZ adjustment, not output section. Avoid writing tags when
2423 unchanged. Adjust DT_RELA.
2424 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
2425 formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
2426
2e7a68a8
AO
24272002-12-12 Alexandre Oliva <aoliva@redhat.com>
2428
2429 * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
2430 addend by 4.
2431
b15e6682
AO
24322002-12-12 Alexandre Oliva <aoliva@redhat.com>
2433
2434 * elfxx-mips.c (struct mips_got_entry): New.
2435 (struct mips_got_info): Added got_entries field.
2436 (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
2437 (mips_elf_local_got_index, mips_elf_got_page,
2438 mips_elf_got16_entry): Re-implement in terms of new...
2439 (mips_elf_create_local_got_entry): Rewrite to use got_entries.
2440 Change return type.
2441 (mips_elf_highest): Warning clean-up.
2442 (mips_elf_create_got_section): Initialize got_entries.
2443 (_bfd_mips_elf_check_relocs): Use got_entries to estimate
2444 local got size.
2445 (_bfd_mips_elf_size_dynamic_sections): Do not account for
2446 GOT_PAGE entries, since we now reuse GOT16 entries.
2447
e6af3a53
NC
24482002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
2449
2450 * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
2451 read-only section that lies after .text and before .data to be
2452 written into the output file and included in a_text.
2453 (translate_to_native_sym_flags): If an otherwise unrepresentable
2454 section was merged with .text, convert its symbols to N_TEXT
2455 symbols.
2456 * libaout.h (aout_section_merge_with_text_p): New macro.
2457
cf3d882d
AM
24582002-12-08 Alan Modra <amodra@bigpond.net.au>
2459
2460 * bfd-in.h: Comment typo fix. Formatting.
2461 * bfd-in2.h: Regenerate.
2462 * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
2463 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
2464 * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
2465
2f9bd3f6
RH
24662002-12-05 Richard Henderson <rth@redhat.com>
2467
2468 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
2469 Only send PCREL21B though the plt. Fix installed reloc type.
2470 (elfNN_ia64_relocate_section): Give error for dynamic reloc
2471 against PCREL22 or PCREL64I; clean up error messages for
2472 branch relocs.
2473
d0112f73
KB
24742002-12-04 Kevin Buettner <kevinb@redhat.com>
2475
2476 * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
2477 New functions.
2478 (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
2479
c10d9d8f
JW
24802002-12-04 David Mosberger <davidm@hpl.hp.com>
2481
2482 * cpu-ia64-opc.c: Add operand constant "ar.csd".
2483
d48770d4
L
24842002-12-04 H.J. Lu <hjl@gnu.org>
2485
2486 * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
2487 BFD address when constructing local name.
2488
b6152c34
AS
24892002-12-04 Andreas Schwab <schwab@suse.de>
2490
2491 * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
2492 member.
2493 (elf_m68k_link_hash_table_create): Initialize it.
2494 (elf_m68k_check_relocs): Handle symbols that are forced to be
2495 local due to visibility changes.
2496 (elf_m68k_adjust_dynamic_symbol): Likewise.
2497 (elf_m68k_size_dynamic_sections): Likewise.
2498 (elf_m68k_discard_copies): Likewise.
2499 (elf_m68k_relocate_section): Likewise.
2500
73374ef1
AM
25012002-12-04 Alan Modra <amodra@bigpond.net.au>
2502
2503 * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
2504
c5c1944d
AM
25052002-12-04 Alan Modra <amodra@bigpond.net.au>
2506
2507 * srec.c (srec_write_symbols): Restore '$' prefix to address
2508 accidentally removed in 2002-04-04 change.
2509 (srec_get_symtab): Use 0 instead of `(long) FALSE'.
2510
e1a9cb8e
NC
25112002-12-03 Nick Clifton <nickc@redhat.com>
2512
2513 * elf32-ppc.c (apuinfo_list_init): New function.
73374ef1
AM
2514 (apuinfo_list_add): New function: Add a value to the list.
2515 (apuinfo_list_length): New function: Return the number of
2516 values on the list.
2517 (apuinfo_list_element): New function: Return a value on the
2518 list.
2519 (apuinfo_list_finish): New function: Free the resources used
2520 by the list.
2521 (ppc_elf_begin_write_processing): New function. Scan the
2522 input bfds for apuinfo sections.
2523 (ppc_elf_write_section): New function: Delay the creation of
2524 the contents of an apuinfo section in an output bfd.
2525 (ppc_elf_final_write_processing): New function. Create the
2526 contents of an apuinfo section in an output bfd.
2527 (elf_backend_begin_write_processing): Define.
2528 (elf_backend_final_write_processing): Define.
2529 (elf_backend_write_section): Define.
e1a9cb8e 2530
a823923b
RH
25312002-12-03 Richard Henderson <rth@redhat.com>
2532
2533 * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
2534
30491647
SC
25352002-12-01 Stephane Carrez <stcarrez@nerim.fr>
2536
2537 Fix PR savannah/1417:
2538 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
2539 branch if it goes to the start of the deleted region.
2540
bc7c6a90
SC
25412002-12-01 Stephane Carrez <stcarrez@nerim.fr>
2542
2543 * bfd-in2.h (bfd_mach_m6812): Rebuild.
2544 * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
2545 bfd_mach_m6812s): Declare.
2546
2547 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
2548 (_bfd_m68hc12_elf_set_private_flags): Call it.
2549 (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
2550 (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
2551 report microcontroller incompatibilities (HC12 vs HCS12).
2552 (elf_backend_object_p): Update.
2553
b34976b6
AM
25542002-11-30 Alan Modra <amodra@bigpond.net.au>
2555
2556 * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
2557 (enum bfd_boolean, boolean): Delete.
2558 (bfd_boolean): Typedef to an int.
2559 (FALSE, TRUE): Define.
2560 * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
2561 aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
2562 aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
2563 binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
2564 coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
2565 coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
2566 coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
2567 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
2568 coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
2569 coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
2570 corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
2571 cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
2572 cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
2573 cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
2574 cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
2575 cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
2576 cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
2577 cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
2578 cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
2579 cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
2580 dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
2581 elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
2582 elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
2583 elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
2584 elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
2585 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
2586 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
2587 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
2588 elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
2589 elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
2590 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
2591 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
2592 elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
2593 elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
2594 elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
2595 elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
2596 hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
2597 i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
2598 libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
2599 libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
2600 m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
2601 mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
2602 nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
2603 pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
2604 pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
2605 pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
2606 reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
2607 som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
73374ef1 2608 syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
b34976b6
AM
2609 vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
2610 xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
2611 bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
2612 of bfd_boolean vars with TRUE/FALSE. Formatting.
2613 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
2614
947216bf
AM
26152002-11-28 Alan Modra <amodra@bigpond.net.au>
2616
2617 * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
2618 Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
2619 with Elf_Internal_Rela.
2620 * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
2621 elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
2622 elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
2623 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
2624 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
2625 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
2626 elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
2627 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
2628 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
2629 elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
2630 elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
2631 * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
2632 throughout instead.
2633 * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
2634 * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
2635 Remove INLINE keyword.
2636 (elf_swap_reloc_in): Likewise. Also clear r_addend.
2637 (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
2638 as a bfd_byte *.
2639 (elf_write_relocs): Consolidate REL and RELA code.
2640 (elf_slurp_reloc_table_from_section): Simplify REL code.
2641 (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
2642 * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
2643 * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
2644 RELA code.
2645 (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
2646 reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
2647 (elf_link_output_relocs): Likewise.
2648 (elf_reloc_link_order): Likewise.
2649 (elf_finish_pointer_linker_section): Likewise.
2650 (struct elf_link_sort_rela): Remove union.
2651 (elf_link_sort_cmp1): Update to suit.
2652 (elf_link_sort_cmp2): Here too.
2653 (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
2654 over-allocation for int_rels_per_ext_rel != 1 case.
2655 * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
2656 * elf32-i386.c: Likewise.
2657 * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
2658 * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
2659 elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
2660 * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
2661 * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
2662 elf64-sparc.c, elf64-x86-64.c: Likewise.
2663 * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
2664 * elfxx-mips.c (sort_dynamic_relocs): Likewise for
2665 bfd_elf32_swap_reloc_in.
2666
2667 * elf32-arm.h: Update elf32_arm_info_to_howto calls.
2668 * elf32-mips.c: Likewise for mips_info_to_howto_rel.
2669 (mips_elf64_swap_reloc_in): Zero r_addend.
2670 (mips_elf64_be_swap_reloc_in): Likewise.
2671 (mips_elf64_slurp_one_reloc_table): Simplify.
2672
2673 * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
2674 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
2675 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
2676
1448fa32
KK
26772002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2678
2679 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
73374ef1 2680 unresolved debugging relocs in dynamic applications.
1448fa32
KK
2681 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2682
73722af0
AM
26832002-11-26 Alan Modra <amodra@bigpond.net.au>
2684
2685 * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
2686 (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
2687 on a relocatable link. Comment typos.
2688 * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
2689 in the order they are declared. Clear elf_hash_value too.
2690 (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
2691 eh_info and tls_segment.
2692 * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
2693 sorted when discarding relocs by turning them into R_*_NONE.
2694
2695 * libbfd.c (warn_deprecated): Comment spelling.
2696 * po/SRC-POTFILES.in: Regenerate.
2697
7c25b72c
RH
26982002-11-21 Richard Henderson <rth@redhat.com>
2699
2700 * elflink.h (elf_link_add_object_symbols): Don't overwrite the
2701 arch's st_other bits when merging visibilities.
2702 (elf_link_output_extsym): Tidy clearing of visibility field.
2703
dc12c51f
AM
27042002-11-21 Alan Modra <amodra@bigpond.net.au>
2705
2706 * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
2707 (SWAP_OUT_RELOC_OFFSET): Define.
2708
963f13ec
AO
27092002-11-20 Alexandre Oliva <aoliva@redhat.com>
2710
2711 * elf.c (_bfd_elf_link_hash_table_init): Make sure
2712 can_refcount is properly extended to the type of
2713 init_refcount.
2714
ee6423ed
AO
27152002-11-19 Alexandre Oliva <aoliva@redhat.com>
2716
4ffba85c
AO
2717 * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
2718 (_bfd_mips_elf_relocate_section): Use it.
2719
ee6423ed
AO
2720 * elfxx-mips.c (MNAME): New macro.
2721 (_bfd_mips_elf_check_relocs): Use it.
2722 (_bfd_mips_elf_discard_info): Likewise.
2723 (_bfd_mips_elf_final_link): Likewise.
2724
cdcf6e38
AM
27252002-11-19 Alan Modra <amodra@bigpond.net.au>
2726
2727 * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
2728 rel_hdr.sh_size too.
2729
93509525
KD
27302002-11-18 Klee Dienes <kdienes@apple.com>
2731
2732 * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
2733 (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
2734 (BFD_H_FILES): Add bfdwin.c, bfdio.c.
2735 (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
2736 Add dependencies for bfdwin.c, bfdio.c.
2737 * bfd.c: Remove bfd_get_mtime, bfd_get_size.
2738 * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
2739 bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
2740 bfd_tell, bfd_flush, bfd_stat, bfd_seek.
2741 * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
2742 bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
2743 bfd_get_size (moved from libbfd.c and bfd.c).
2744 * bfdwin.c New file. Contains _bfd_window_internal,
2745 bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
2746 libbfd.c and bfd.c).
2747 * po/SRC-POTFILES.in: Regenerate.
2748 * po/bfd.pot: Regenerate.
2749 * libbfd.h: Regenerate.
2750 * bfd-in2.h: Regenerate.
2751 * aclocal.m4: Regenerate.
2752 * Makefile.in: Regenerate.
2753 * configure: Regenerate.
2754
3ae41454
AM
27552002-11-18 Klee Dienes <kdienes@apple.com>
2756
2757 * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
2758
e514ac71
NC
27592002-11-15 Kazu Hirata <kazu@cs.umass.edu>
2760
2761 * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
2762 jsr after a short jump.
2763 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
2764
eddc4f81
KD
27652002-11-15 Klee Dienes <kdienes@apple.com>
2766
2767 * pef.c (bfd_pef_convert_architecture): Move declaration of
2768 ARCH_POWERPC and ARCH_M68K to the start of the function.
2769
51908eee
SS
27702002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
2771
2772 * coff-tic4x.c (tic4x_howto_table): Formatting fixup
2773
3416d2e7
HPN
27742002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
2775
2776 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
2777 For bpo_gregs_section->contents, allocate _raw_size, not
2778 _cooked_size.
2779
b1c58715
AM
27802002-11-13 Klee Dienes <kdienes@apple.com>
2781
2782 * config.bfd: Add entries for powerpc-*-darwin and cousins.
2783
077ca68b
L
27842002-11-13 H.J. Lu <hjl@gnu.org>
2785
2786 * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
2787
e84d6fca
AM
27882002-11-13 Klee Dienes <kdienes@apple.com>
2789 Alan Modra <amodra@bigpond.net.au>
2790
2791 * bfd.c (struct bfd_preserve): New.
2792 (bfd_preserve_save): New function.
2793 (bfd_preserve_restore): Ditto.
2794 (bfd_preserve_finish): Ditto.
2795 * bfd-in2.h: Regenerate.
2796 * mach-o.c: Formatting.
2797 (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
2798 (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
2799 (bfd_mach_o_core_p): Ditto.
2800 (bfd_mach_o_scan): Pass in mdata.
2801 * mach-o.h (bfd_mach_o_scan): Update prototype.
2802 * pef.c: Formatting.
2803 (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
2804 (bfd_pef_xlib_object_p): Ditto.
2805 (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
2806 * pef.h (bfd_pef_scan): Update prototype.
2807 * xsym.c: Formatting, K&R fixes.
2808 (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
2809 (bfd_sym_scan): New function split out from bfd_sym_object_p.
2810 * xsym.h (bfd_sym_scan): Declare.
2811 * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
a7f84125 2812 * elfcore.h (elf_core_file_p): Likewise.
e84d6fca
AM
2813 * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
2814
cd24c222
NC
28152002-11-12 Nick Clifton <nickc@redhat.com>
2816
2817 * po/da.po: Updated Danish translation.
2818
99eb2ac8
AM
28192002-11-12 Alan Modra <amodra@bigpond.net.au>
2820
d6fe2dc1
AM
2821 * elflink.h (elf_link_add_object_symbols): Optimize stabs for
2822 relocatable link too.
2823 (elf_link_input_bfd): When emitting relocs, adjust offsets for
2824 eh_frame and stab sections. Zap deleted relocs.
2825 (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
2826 (elf_bfd_discard_info): Run for relocatable link too.
2827 * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
2828 Handle ld -r case.
2829 (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
2830 * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
2831
126495ed
AM
2832 * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
2833 (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
2834 (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
2835 (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
2836 (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
2837 (struct elf_link_hash_table): Add eh_info.
2838 (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
2839 (_bfd_elf_discard_section_eh_frame): Update prototype.
2840 (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
2841 (_bfd_elf_write_section_eh_frame): Likewise.
2842 (_bfd_elf_write_section_eh_frame_hdr): Likewise.
2843 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
2844 param. Get "hdr_info" from link hash table.
2845 (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
2846 header section from link hash table. Save header section to elf_tdata.
2847 (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
2848 header section from link hash table. Don't alloc hdr_info. Clear
2849 hdr_sec instead of setting "strip".
2850 (_bfd_elf_eh_frame_section_offset): Formatting.
2851 (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
2852 Get header section from link hash table.
2853 (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
2854 Get header section from link hash table.
2855 * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
2856 (get_program_header_size): Likewise.
2857 (_bfd_elf_section_offset): Formatting.
2858 * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
2859 section pointer in link hash table.
2860 (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
2861 and _bfd_elf_write_section_eh_frame calls. Update comment about
2862 eh_frame entries.
2863 (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
2864 _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
2865
2866 * po/SRC-POTFILES.in: Regenerate.
2867
99eb2ac8
AM
2868 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
2869 relocs for discarded FDEs. Remove dead code.
2870 (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
2871 * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
2872 Tidy conditions under which stabs are edited. Formatting.
2873 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
2874 from discarded relocs.
2875 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
2876 section adjustments after testing magic values.
2877
7c319a27
AM
28782002-11-12 Thomas Moestl <tmm@FreeBSD.org>
2879
2880 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
2881 references to large plt symbols.
2882
a95a4550
AM
28832002-11-12 Klee Dienes <kdienes@apple.com>
2884
2885 * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
2886 looking for an unused section name.
2887
bc7eab72
KH
28882002-11-11 Kazu Hirata <kazu@cs.umass.edu>
2889
2890 * coff-h8300.c: Fix formatting.
2891 * elf32-h8300.c: Likewise.
2892 * reloc16.c: Likewise.
2893
52585bb8
AM
28942002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2895
2896 * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
2897 section when dynamic section unused; _bfd_strip_section_from_output
2898 instead.
2899
9f632188
AM
29002002-11-08 Alan Modra <amodra@bigpond.net.au>
2901
207b304b
AM
2902 * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
2903 and sym_vec.
3b029f65 2904
9f632188
AM
2905 * dwarf2.c: Revert last change.
2906
ec4530b5
NC
29072002-11-07 Michal Ludvig <mludvig@suse.cz>
2908
2909 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
2910 _bfd_dwarf2_find_nearest_line): Use
2911 bfd_simple_get_relocated_section_contents() instead of
2912 bfd_get_section_contents().
2913 * reloc.c (bfd_perform_relocation): Add sanity check.
2914 * simple.c (simple_get_relocated_section_contents): If the section
2915 does not have any relocs associated with it, just return the
2916 unadjusted contents.
2917
205cfeb0
HPN
29182002-11-07 Hans-Peter Nilsson <hp@axis.com>
2919
2920 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
2921 case R_CRIS_32_GOT>: Correct test for filling in constant .got
2922 contents, enabling for a non-DSO, for symbols defined in the
2923 program with --export-dynamic.
2924
87e226ce
AM
29252002-11-07 Alan Modra <amodra@bigpond.net.au>
2926
2927 * elf64-ppc.c: Comment typo fixes.
2928 (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
2929
235c4794
NC
29302002-11-07 Nick Clifton <nickc@redhat.com>
2931
2932 * po/da.po: Updated Danish translation.
2933
49179469
AO
29342002-11-06 Alexandre Oliva <aoliva@redhat.com>
2935
2936 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
2937 exactly three internal relocs per external reloc. Set reloc_count
2938 to the external reloc count.
2939
246178f2
NC
29402002-11-06 Klee Dienes <kdienes@apple.com>
2941
3ae41454 2942 * coff-stgo32.c (stub_bytes): Mark as const.
246178f2
NC
2943 Fix comment formatting.
2944
3af9a47b
NC
29452002-11-06 Klee Dienes <kdienes@apple.com>
2946
3ae41454 2947 * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
3af9a47b
NC
2948 xsym.lo.
2949 (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
2950 (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
2951 * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
2952 * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
2953 * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
2954 sym.
3ae41454 2955 (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
3af9a47b
NC
2956 * Makefile.in: Regenerate.
2957 * doc/Makefile.in: Regenerate.
3ae41454 2958 * bfd-in2.h: Regenerate.
3af9a47b
NC
2959 * xsym.c: New file. Contains support for the Apple/Metrowerks
2960 xSYM debugging format.
2961 * xsym.h: New file.
2962 * pef.c: New file. Contains support for the Apple Code Fragment
2963 Manager Preferred Executable Format
2964 * pef.h: New file.
2965 * pef-traceback.h: New file. Contains support for parsing PowerPC
2966 traceback tables as used by PEF executables (and perhaps other
2967 systems as well).
3ae41454 2968 * mach-o.c: New file. Contains support for the Mach-O object file
3af9a47b
NC
2969 format.
2970 * mach-o.h: New file.
2971 * mach-o-target.c: New file. Declares the mach-o targets
2972 themselves. Included three times by mach-o.c; each time with a
2973 different set of macros set.
3ae41454 2974
b6821651 29752002-11-06 Graeme Peterson <gp@qnx.com>
911b232a
AM
2976
2977 * Makefile.am: Remove entries for elf32-qnx.[ch].
2978 * Makefile.in: Regenerate.
2979 * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
2980 ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
2981 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
2982 * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
2983 bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
2984 and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
2985 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
2986 * configure: Regenerate.
2987 * elf32-qnx.c: Remove.
2988 * elf32-qnx.h: Remove.
2989 * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
2990 is_contained_by_filepos, and copy_private_bfd_data_p.
ad12c1c5
AM
2991 * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
2992 is_contained_by_filepos, and copy_private_bfd_data_p.
911b232a
AM
2993 * elf32-i386.c: Remove QNX extended bfd support.
2994 * elf32-ppc.c: Remove QNX extended bfd support.
2995 * elf32-sh.c: Remove QNX extended bfd support.
2996 * elfarm-nabi.c: Remove QNX extended bfd support.
2997 * targets.c: Remove qnx vectors.
2998 * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
2999 (elf_backend_is_contained_by_filepos): Remove.
3000 (elf_backend_copy_private_bfd_data_p): Remove.
3001 * po/SRC-POTFILES.in: Regenerate.
3002
b6821651
AM
30032002-11-06 David O'Brien <obrien@FreeBSD.org>
3004 Alan Modra <amodra@bigpond.net.au>
3005
3006 * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
3007 dynamic relocs against section symbols for the output section vma.
3008
30092002-11-05 Alan Modra <amodra@bigpond.net.au>
3010
3011 * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
3012 t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
3013
08f74004
AM
30142002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3015 Alan Modra <amodra@bigpond.net.au>
3016
3017 * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
3018 vectors in target_selvecs.
3019 (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
3020 in target_selvecs.
3021 (sh-*-netbsdelf*): Likewise.
3022 * configure.in (assocvecs): New variable. Handle assocvecs like
3023 selvecs.
3024 * configure: Regenerate.
3025 * format.c (bfd_check_format_matches): Store bfd_target pointers
3026 in matching_vector instead of target names. Select first target
3027 from bfd_associated_vector that matches a list of ambiguous targets.
3028 * targets.c (_bfd_associated_vector): New array.
3029 (bfd_associated_vector): New variable.
3030 (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
3031 * libbfd-in.h (bfd_associated_vector): Declare.
3032 * libbfd.h: Regenerate.
3033
89117aab
AM
30342002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
3035
3036 * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
3037 non-NULL before dereferencing.
3038
5e9aae3e
KK
30392002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3040
3041 * vms.c (vms_object_p): Restore the start address when returning
3042 NULL.
3043
c97e73dd
AM
30442002-11-04 Alan Modra <amodra@bigpond.net.au>
3045 Hans-Peter Nilsson <hp@axis.com>
3046
3047 * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
3048 (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
3049 Set up a larger symshndxbuf, and write it out. Free it on
3050 exit rather than freeing symbuf twice. Correct section index
3051 on output section symbol loop.
3052 (elf_link_output_sym): Accumulate symbol extension section
3053 indices, reallocating symshndxbuf rather than writing it out.
3054 (elf_link_flush_output_syms): Don't flush symshndxbuf.
3055 * elf.c (assign_section_numbers): Init i_shdrp to all zero.
3056 Use bfd_zalloc to clear i_shdrp[0] too.
3057
3463048e
SC
30582002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
3059
3060 * elf32-sh64-com.c (sh64_address_in_cranges): Use
3061 _raw_size of cranges section if _cooked_size not yet set.
3062
63a23799
HPN
30632002-11-03 Hans-Peter Nilsson <hp@axis.com>
3064
3065 * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
3066 for bfd_elf32_swap_symbol_out.
3067
e68cc12e
DB
30682002-10-31 David O'Brien <obrien@FreeBSD.org>
3069
3070 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
3071 signed and unsigned in comparison.
3072
db4b6d01
DJ
30732002-10-30 Daniel Jacobowitz <drow@mvista.com>
3074
3075 * coffcode.h: Remove extraneous '\'.
3076
840f0243
L
30772002-10-28 H.J. Lu <hjl@gnu.org>
3078
3079 * Makefile.am (targets.lo): Depend on Makefile instead of
3080 config.status.
3081 (archures.lo): Likewise.
3082 * Makefile.in: Regenerated.
3083
05a7e2db
JT
30842002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
3085
3086 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
3087 bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
3088 targ_selvecs.
3089
a0087177
JW
30902002-10-25 Jim Wilson <wilson@redhat.com>
3091
3092 * elf64-sh64.c (sh_elf64_relocate_section): Call
3093 _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
3094 of SHF_MERGE section.
3095
8718ac9c
HPN
30962002-10-25 Hans-Peter Nilsson <hp@axis.com>
3097
3098 * simple.c: Correct placement of ATTRIBUTE_UNUSED.
3099
d45913a0
DA
31002002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
3101
3102 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
3103 unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
3104 unsigned int.
3105 (NAME(aout,final_link)): Cast enum used in assignment.
3106 (aout_link_write_symbols): Cast enums in comparisons, int values to
3107 boolean, enums in assignments to int.
3108 (aout_link_input_section_std): Cast rel->r_index to unsigned int.
3109 (aout_link_input_section_ext): Likewise. Cast enums used in comparisons
3110 with unsigned ints.
3111 (aout_link_reloc_link_order): Cast enum to int in assignment.
3112 * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
3113 calls to char *.
3114 * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
3115 assignment.
3116 * bfd-in2.h (bfd_set_section_vma): Likewise.
3117 * bfd.c (bfd_record_phdr): Cast enums in assignments.
3118 * binary.c (bfd_alloc): Cast enum to long.
3119 * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
3120 * dwarf2.c (read_abbrevs): Add casts to enum types.
3121 (read_attribute_value): Likewise.
3122 (arange_add): Cast result of bfd_zalloc call.
3123 (comp_unit_contains_address): Return true and false.
3124 (comp_unit_find_nearest_line): Cast return to boolean.
3125 * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
3126 * gen-aout.c: define macro '_' if not defined.
3127 * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
3128 (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
3129 (bfd_write_bigendian_4byte_int): Cast return to boolean.
3130 (bfd_seek): Cast bfd_realloc to bfd_byte *.
3131 (bfd_generic_is_local_label_name): Cast return to boolean.
3132 * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
3133 * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
3134 struct bfd_hash_entry *.
3135 (_bfd_generic_link_hash_newfunc): likewise.
3136 (_bfd_generic_final_link): Cast enum to unsigned int.
3137 * merge.c (sec_merge_emit): Cast return to boolean.
3138 (merge_strings): Add casts to const unsigned char *.
3139 * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
3140 (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
3141 * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to
3142 struct bfd_hash_entry *.
3143 (bfd_set_section_content): Add cast to PTR in comparison.
3144 * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
3145 simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
3146 simple_dummy_unattached_reloc,
3147 bfd_simple_get_relocated_section_contents): Add K&R declarations and
3148 function definitions.
3149 * srec.c (S3Forced): Initialize to false.
3150 (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
3151 * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
3152 (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
3153 * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
3154 (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
3155 comparisons.
3156
475c2a7e
JJ
31572002-10-23 Jakub Jelinek <jakub@redhat.com>
3158
3159 * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
3160 relocs into shared lib non-allocated reloc sections.
3161
e82ce529
AM
31622002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
3163
3164 * dwarf2.c (add_line_info): Ensure that the line_info_table is
3165 sorted even when given an out-of-order line sequence.
3166 (lookup_address_in_line_info_table): When an exact VMA match is
3167 not found, return line information with the closest VMA.
3168
f2482cb2
NC
31692002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
3170
3171 * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
3172 HPUX 11.00 patch PHSS_26559.
3173
c1fd6598
AO
31742002-10-22 Alexandre Oliva <aoliva@redhat.com>
3175
3176 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
3177 the options section into a separate section unless IRIX 6
3178 compatibility is enabled.
3179
033fd5f9
AO
31802002-10-22 Alexandre Oliva <aoliva@redhat.com>
3181
3182 * elflink.h (struct elf_link_sort_rela): Turn rel and rela
3183 into arrays.
3184 (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
3185 (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
3186 into account.
3187 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
3188 R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
3189
ef485c01
AM
31902002-10-21 Graeme Peterson <gp@qnx.com>
3191
3192 * targets.c (_bfd_target_vector): Add missing qnx vectors.
3193
b50afec9
AM
31942002-10-21 Alan Modra <amodra@bigpond.net.au>
3195
3196 * targets.c (bfd_target_list): Don't return the default target twice.
3197
5fe39cae
AM
31982002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
3199
3200 * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
3201 perror with bfd_perror.
3202
5d603aa9
L
32032002-10-19 H.J. Lu <hjl@gnu.org>
3204
3205 * elflink.h (elf_link_add_object_symbols): Correctly handle
3206 DT_RPATH and DT_RUNPATH.
3207
e377ab71
MK
32082002-10-19 Mark Kettenis <kettenis@gnu.org>
3209
3210 * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
3211
0d09fec6
DC
32122002-10-17 Denis Chertykov <denisc@overta.ru>
3213
3214 * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
3215 for ip2k port.
3216
acf8aed4
AM
32172002-10-17 Alan Modra <amodra@bigpond.net.au>
3218
3219 * elfxx-target.h (USE_REL): Don't define as 1.
3220 * elf32-arm.h (USE_REL): Provide a default define of 0.
3221 Use #if rather than #ifdef when testing USE_REL.
3222 * elf32-m32r.c: Likewise.
3223
3224 * elf32-arc.c (USE_REL): Define as 1.
3225 * elf32-d10v.c (USE_REL): Likewise.
3226 * elf32-m32r.c (USE_REL): Likewise.
3227 * elf32-m68hc11.c (USE_REL): Likewise.
3228 * elf32-m68hc12.c (USE_REL): Likewise.
3229 * elf32-or32.c (USE_REL): Likewise.
3230 * elfarm-nabi.c (USE_REL): Likewise.
3231
f52d1d64
JJ
32322002-10-16 Jakub Jelinek <jakub@redhat.com>
3233
3234 * config.bfd (s390-*-linux*): Add targ64_selvecs.
3235 (s390x-*-linux*): Add targ_selvecs.
3236
2bc3c89a
AM
32372002-10-16 Alan Modra <amodra@bigpond.net.au>
3238
3239 * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
5fe39cae 3240 elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
2bc3c89a
AM
3241 elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
3242 elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
3243 (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
3244 (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
3245 (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
3246 (SOURCE_HFILES): Add elf32-qnx.h.
3247 (BUILD_HFILES): Add bfdver.h.
3248 Run "make dep-am".
3249 * Makefile.in: Regenerate.
3250 * configure.in Update bfd vector dependencies.
3251 * configure: Regenerate.
3252 * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
3253 * elf32-i386qnx.c: Likewise.
3254 * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
3255 * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
3256 * elf32-sh-lin.c: Likewise.
3257 * elf32-shqnx.c: Likewise.
3258 * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
3259 * elf32-sh64-nbsd.c: Likewise.
3260 * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
3261 * elf64-sh64-nbsd.c: Likewise.
3262 * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
3263 * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
3264 * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
3265 * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
3266 * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
3267 (elf_backend_is_contained_by_filepos): Likewise.
3268 (elf_backend_copy_private_bfd_data_p): Likewise.
3269 Globalize and move functions to..
3270 * elf32-qnx.c: ..here. New file.
3271 * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
3272 emit target vectors when INCLUDE_SHMEDIA.
3273 * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
3274 end of file.
3275 * elf64-sh64.c: Remove ELF_ARCH test.
3276 * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
3277 * po/BLD-POTFILES.in: Regenerate.
3278 * po/SRC-POTFILES.in: Regenerate.
3279
90c9df85
AM
32802002-10-16 Alan Modra <amodra@bigpond.net.au>
3281
366f2964
AM
3282 * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
3283 loaded with --just-symbols.
3284
90c9df85
AM
3285 * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
3286 * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
3287 * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
3288 * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
3289
2238051f
RH
32902002-10-15 Richard Henderson <rth@redhat.com>
3291
3292 * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
3293 (BFD64_BACKENDS_CFILES): Likewise.
3294 * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
3295 * elf64-alpha-fbsd.c: Remove file, move code ...
3296 * elf64-alpha.c: ... here.
3297 * Makefile.in, configure: Rebuild.
3298
64e04ecd
RH
32992002-10-14 Richard Henderson <rth@redhat.com>
3300
3301 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
3302 VALUE, not ADDEND.
3303
396a6083
SC
33042002-10-14 Stephen Clarke <stephen.clarke@superh.com>
3305
3306 * elf32-sh.c (elf_sh_link_hash_entry): Replace
3307 datalabel_got_offset with union of datalabel_got
3308 offset and refcount.
3309 (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
3310 (allocate_dynrelocs): Delete unnecessary code for
3311 STT_DATALABEL type. Create entry in got for
3312 datalabel version of symbol if datalabel_got.refcount > 0.
3313 (sh_elf_relocate_section): Use datalabel_got union.
3314 (sh_elf_gc_sweep_hook): Pull common code to initialize
3315 h and eh out of switch statement. Declare seen_stt_datalabel.
3316 Initialize it. Decrement datalabel_got.refcount for
3317 got relocs when seen_stt_datalabel is true.
3318 Decrement local_got_refcounts entry for datalabel got relocs
3319 of local symbols.
3320 (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
3321 (sh_elf_check_relocs): Declare seen_stt_datalabel.
3322 Initialize it. When seen_stt_datalabel is true, increment
3323 datalabel_got refcount rather than got.refcount.
3324 (sh_elf_finish_dynamic_symbol): Create relocs to
3325 initialize got entry for datalabel version of symbol.
3326
6a0735ef
AM
33272002-10-14 Alan Modra <amodra@bigpond.net.au>
3328
3329 * Makefile.am: Run "make dep-am".
3330 (BFD_H_FILES): Remove version.h.
3331 * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
3332 * version.h: ..to here.
3333 * configure.in (bfd_version_date): Remove.
3334 (AC_OUTPUT): Make bfdver.h from version.h.
3335 * bfd.c: #include "bfdver.h".
3336 * vms-hdr.c: Likewise.
3337 * Makefile.in: Regenerate.
3338 * bfd-in2.h: Regenerate.
3339 * configure: Regenerate.
3340 * po/SRC-POTFILES.in: Regenerate.
3341
686e4055
AM
33422002-10-14 Alan Modra <amodra@bigpond.net.au>
3343
3344 * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
3345 bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
3346 bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
3347 bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
3348 bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
3349 bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
3350 bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
3351 bfd_mach_ip2022, bfd_mach_ip2022ext,
3352 bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
3353 * bfd-in2.h: Regenerate.
3354
019dca2b
KK
33552002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3356
3357 * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
3358 endian vector to targ_selvecs.
3359
bce03d3d
AO
33602002-10-13 Alexandre Oliva <aoliva@redhat.com>
3361
3362 * elfxx-mips.c (mips_elf_calculate_relocation): Take
3363 save_addend argument. Don't apply the 32-bit mask to a
3364 GPREL32 value if it's to be used in another relocation. Don't
3365 use forced-check computation of local_p to decide whether to
3366 add gp0 to GPREL16 value. Don't use only the lowest 16 bits
3367 of the addend of a non-in-place GPREL16 relocation.
3368 (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
3369 mips_elf_calculate_relocation().
3370
9b691193
SC
33712002-10-12 Stephane Carrez <stcarrez@nerim.fr>
3372
3373 * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
3374 with symbols in other sections if we relaxed something; the sections
3375 output offsets must be re-computed before.
3376
1f4c5b47
SC
33772002-10-12 Stephane Carrez <stcarrez@nerim.fr>
3378
3379 * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
3380 handling to use Elf_Internal_Sym.
3381 (m68hc11_elf_relax_delete_bytes): Likewise.
3382
5dc97655
KK
33832002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3384
3385 * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
3386 sh_elf_object_p, dtpoff_base): New functions.
3387 (sh_elf_howto_table): Add TLS relocs.
3388 (sh_reloc_map): Likewise.
3389 (sh_elf_info_to_howto): Support TLS relocs.
3390 (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
3391 (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
3392 New macros.
3393 (sh_elf_obj_tdata): New.
3394 (elf_sh_link_hash_table): Add tls_ldm_got.
3395 (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
3396 (allocate_dynrelocs): Support TLS relocs.
3397 (sh_elf_size_dynamic_sections): Likewise.
3398 (sh_elf_relocate_section): Support TLS relocs. Don't try to find
3399 .rela.got section when found already. Return false after printing
3400 error about unresolvable relocation.
3401 (sh_elf_gc_sweep_hook): Support TLS relocs.
3402 (sh_elf_check_relocs): Likewise.
3403 (sh_elf_finish_dynamic_symbol): Likewise.
3404 (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
3405 * reloc.c: Add SH TLS relocs.
3406 * bfd-in2.h, libbfd.h: Regenerate.
3407
6a0735ef
AM
34082002-10-11 Daniel Jacobowitz <drow@mvista.com>
3409
3410 * Makefile.in: Regenerated.
3411
af39267e
DJ
34122002-10-11 Daniel Jacobowitz <drow@mvista.com>
3413
3414 * Makefile.am: Run dep-am.
6a0735ef 3415 (BFD_H_DEP): Add simple.c and linker.c.
af39267e
DJ
3416 (BFD32_LIBS): Add simple.lo.
3417 (BFD32_LIBS_CFILES): Add simple.c.
3418 * Makefile.in: Regenerated.
3419 * bfd-in2.h: Regenerated.
3420 * simple.c: New file.
3421
0be617ce
AM
34222002-10-11 Alan Modra <amodra@bigpond.net.au>
3423
14a793b2
AM
3424 * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
3425 (record_thumb_to_arm_glue): Likewise.
3426 * ecoff.c (ecoff_link_add_externals): Likewise.
3427 * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
3428 (record_thumb_to_arm_glue): Likewise.
3429 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
3430 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
3431 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
3432 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
3433 * elf64-ppc.c (func_desc_adjust): Likewise.
3434 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
3435 (sh64_elf64_create_dynamic_sections): Likewise.
3436 * elflink.c (_bfd_elf_create_got_section): Likewise.
3437 (_bfd_elf_create_dynamic_sections): Likewise.
3438 (_bfd_elf_create_linker_section): Likewise.
3439 * elflink.h (elf_add_default_symbol): Likewise.
3440 (elf_link_create_dynamic_sections): Likewise.
3441 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
3442 * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
3443 * elfxx-mips.c (mips_elf_create_got_section): Likewise.
3444 (_bfd_mips_elf_add_symbol_hook): Likewise.
3445 (_bfd_mips_elf_create_dynamic_sections): Likewise.
3446 * linker.c (generic_link_add_symbol_list): Likewise.
3447 * xcofflink.c (xcoff_link_add_symbols): Likewise.
3448
3449 * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
3450
0be617ce 3451 * elf64-ppc.c (edit_opd): Only zero opd syms when function is
7f6a7663 3452 completely removed. Correct local sym adjustment.
0be617ce 3453
0a4ef3f4
SC
34542002-10-10 Stephen Clarke <stephen.clarke@superh.com>
3455
3456 * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
3457 Correct mistake in calculation of address of .got.
3458 * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
3459 elf_sh64_pic_plt_entry_le): Likewise.
3460
efacd36e
SC
34612002-10-09 Richard Shann <richard.shann@superh.com>
3462 Stephen Clarke <stephen.clarke@superh.com>
3463
3464 * Makefile.am: Add entries for elf32-sh64-lin.c and
3465 elf64-sh64-lin.c. Regenerate.
3466 * Makefile.in: Regenerate.
3467 * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
3468 to use sh64 vectors rather than sh vectors.
3469 * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
3470 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
3471 * configure: Regenerate.
3472 * elf32-sh64-lin.c: New file.
3473 * elf64-sh64-lin.c: New file.
3474 * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5fe39cae
AM
3475 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
3476
299bf759
L
34772002-10-08 H.J. Lu <hjl@gnu.org>
3478
3479 * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
3480 IE->LE transition for R_386_TLS_IE.
3481
51020317
AM
34822002-10-08 Alan Modra <amodra@bigpond.net.au>
3483
3484 * elf64-ppc.c (edit_opd): Correct test for discarded sections.
3485
a8fcf378
NC
34862002-10-07 Mark Elbrecht <snowball3@softhome.net>
3487
51020317
AM
3488 * cofflink.c (mark_relocs): Don't mark relocations in excluded
3489 sections.
a8fcf378 3490
a16d5acb
AM
34912002-10-07 Alan Modra <amodra@bigpond.net.au>
3492
a6b511bd
AM
3493 * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
3494 code.
3495
a16d5acb
AM
3496 * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
3497
7c4a37eb
AM
34982002-10-06 Alan Modra <amodra@bigpond.net.au>
3499
3500 * opncls.c: Formatting.
3501 (_bfd_new_bfd): Use a smaller section hash table.
3502
7c4ca42d
AO
35032002-10-05 Alexandre Oliva <aoliva@redhat.com>
3504
3505 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
3506 of the other two relocations packed with a REL32 to NONE.
3507
4989d792
SC
35082002-10-02 Stephen Clarke <stephen.clarke@superh.com>
3509
3510 * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
3511 (sh_elf_link_hash_newfunc): Initialize it.
3512 (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
3513 to got.refcount for symbols that are forced local or when
3514 we have direct got refs.
3515 (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
3516 to correctly adjust got.refcount and plt.refcount.
3517 (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
3518 (sh_elf_check_relocs): Increment gotplt_refcount.
51020317 3519
7c445aa3
JJ
35202002-10-01 Jakub Jelinek <jakub@redhat.com>
3521
3522 * elf32-i386.c (elf_i386_relocate_section): Fix
3523 movl foo@indntpoff, %eax IE->LE transition.
3524
abcf1d52
JJ
35252002-10-01 Jakub Jelinek <jakub@redhat.com>
3526
3527 * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
3528 sequence and its transitions.
3529
a45bb67d
JJ
35302002-10-01 Jakub Jelinek <jakub@redhat.com>
3531
3532 * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
3533 to st_value + addend in non-code sections.
3534 * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
3535 R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
3536
00707a0e 35372002-09-30 Gavin Romig-Koch <gavin@redhat.com>
51020317
AM
3538 Ken Raeburn <raeburn@cygnus.com>
3539 Aldy Hernandez <aldyh@redhat.com>
3540 Eric Christopher <echristo@redhat.com>
3541 Richard Sandiford <rsandifo@redhat.com>
00707a0e
RS
3542
3543 * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
3544 (bfd_mach_mips5500): New.
3545 * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
3546 (arch_info_struct): Add corresponding entries here.
3547 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
3548 E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
3549 (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
3550 bfd_mach_mips5400 and bfd_mach_mips5500.
3551 (_bfd_mips_elf_mach_extends_p): New function.
3552 (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
3553 the EF_MIPS_MACH flags.
3554 * bfd-in2.h: Regenerate.
3555
624f0b25
JT
35562002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
3557
3558 * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
3559 .got sections.
3560
b89fe0ee
AM
35612002-09-28 Alan Modra <amodra@bigpond.net.au>
3562
3563 * elf.c (map_sections_to_segments): Correct test for start of
3564 writable section in the same page as end of read-only section.
3565
b29635ba
JT
35662002-09-27 Matt Thomas <matt@3am-software.com>
3567
3568 * elf32-vax.c (elf_vax_check_relocs): Remove unused
3569 local_got_refcounts usage. Remove allocation of got slot.
3570 (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
3571 Remove de-allocation of got slot.
3572 (elf_vax_size_dynamic_section): Fix some indentation. Add hash
3573 traversal for elf_vax_instantiate_got_entries. Allow empty .got
3574 sections to be GC'ed.
3575 (elf_vax_instantiate_got_entries): New function.
3576 (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
3577 tests that are now handled by elf_vax_instantiate_got_entries.
3578 Assert GOT entry falls within .got section size. Remove redundant
3579 comparisions. Fix comments.
3580
bffbf940
JJ
35812002-09-27 Jakub Jelinek <jakub@redhat.com>
3582
3583 * reloc.c: Add x86-64 TLS relocs.
3584 * bfd-in2.h, libbfd.h: Rebuilt.
3585 * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
3586 relocs. Add TLS relocs.
3587 (x86_64_reloc_map): Add TLS relocs.
3588 (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
3589 (struct elf64_x86_64_link_hash_entry): Add tls_type field.
3590 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
3591 (elf64_x86_64_hash_entry): Define.
3592 (struct elf64_x86_64_obj_tdata): New.
3593 (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
3594 (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
3595 (link_hash_newfunc): Initialize tls_type.
3596 (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
3597 (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
3598 (elf64_x86_64_mkobject): New.
3599 (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
3600 (elf64_x86_64_tls_transition): New.
3601 (elf64_x86_64_check_relocs): Add r_type variable and use it.
3602 Handle TLS relocs.
3603 (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
3604 (allocate_dynrelocs): Allocate GOT space for TLS relocs.
3605 (elf64_x86_64_size_dynamic_sections): Likewise.
3606 (dtpoff_base, tpoff): New.
3607 (elf64_x86_64_relocate_section): Handle TLS relocs.
3608 (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
3609 entries.
3610 (bfd_elf64_mkobject): Define.
3611
3612 * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
3613 DF_STATIC_TLS if shared.
3614
14366460
TS
36152002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3616
3617 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
3618 empty relocation sections.
3619
9f951329
AM
36202002-09-26 Alan Modra <amodra@bigpond.net.au>
3621
3622 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
3623 (ppc64_elf_build_stubs): Build them here instead.
3624
6b3ac709
JJ
36252002-09-24 Jakub Jelinek <jakub@redhat.com>
3626
3627 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
3628 addend into r_addend, not *r_offset.
3629 (elf32_sparc_finish_dynamic_symbol): Likewise.
3630 * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
3631 R_SPARC_RELATIVE's r_offset.
3632
e2f6d277
NC
36332002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
3634
3635 * dwarf2.c (decode_line_info): Update to correctly decode
3636 the (non-standard DWARF2) out-of-order address sequences
3637 generated by the Intel C++ 6.0 compiler for ia64-Linux.
3638
f3961b2b
DD
36392002-09-23 Mark Elbrecht <snowball3@softhome.net>
3640
3641 * config.bfd: For DJGPP targets, match with any cpu and any machine.
3642
ad34bc37
AM
36432002-09-23 Alan Modra <amodra@bigpond.net.au>
3644
3645 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
3646 for discarded FDEs. Remove redundant assignment.
3647 * elflink.h (elf_bfd_discard_info): Save edited relocs.
3648
82988bff
L
36492002-09-22 H.J. Lu <hjl@gnu.org>
3650
3651 * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
3652 the relocation count between different .reloc sections.
3653
5ad8645c
AM
36542002-09-21 Alan Modra <amodra@bigpond.net.au>
3655
5f819128
AM
3656 * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
3657 ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
3658 R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
3659 R_PPC_EMB_RELSDA.
3660
5ad8645c
AM
3661 * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
3662 unsigned. Move "symcount" assignment out of loop.
3663 * Makefile.am: Run "make dep-am".
3664 * Makefile.in: Regenerate.
3665 * configure: Regenerate.
3666 * po/SRC-POTFILES.in: Regnerate.
3667
75936555
NC
36682002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
3669
3670 * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
3671 zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
3672 (e.g. IRIX64).
3673
2243deae
L
36742002-09-19 Jakub Jelinek <jakub@redhat.com>
3675
3676 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
3677 even if generating R_PPC_RELATIVE reloc.
3678 (ppc_elf_relocate_section): Make sure relocation is performed
3679 if skip == -2. Clear memory at r_offset when creating dynamic
3680 relocation.
3681
37e55690
JJ
36822002-09-19 Jakub Jelinek <jakub@redhat.com>
3683
3684 * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
3685 BFD_RELOC_386_TLS_GOTIE): Add.
3686 * bfd-in2.h, libbfd.h: Rebuilt.
3687 * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
3688 and R_386_TLS_GOTIE.
3689 (elf_i386_reloc_type_lookup): Handle it.
3690 (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
3691 char instead of enum, change GOT_* into defines.
3692 (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
3693 (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
3694 (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
3695 accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
3696 R_386_PLT32 cases so that R_386_TLS_IE can fall through.
3697 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
3698 (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
3699 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
3700 (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
3701 tls_type is GOT_TLS_IE_BOTH.
3702 (elf_i386_size_dynamic_sections): Likewise.
3703 (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
3704 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
3705 (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
3706 all 4 GOT_TLS_* TLS types.
3707
8e67855b
NC
37082002-09-19 Nick Clifton <nickc@redhat.com>
3709
3710 * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
3711 follow indirect links.
3712
1c59ba3f
NC
37132002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
3714
3715 * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
3716 correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
3717 on 64 bit machines.
3718 (ecoff_swap_sym_in) <iss>: Likewise.
0e327d91
NC
3719 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
3720 ECOFF information: 'ioptMax' refers to the actual *size*
3721 of the optimization symtab, not the number of entries.
1c59ba3f 3722
9d7404b7
NC
37232002-09-19 Daniel Jacobowitz <drow@mvista.com>
3724
3725 * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
3726 ELF_LINK_HASH_NEEDS_PLT logic.
3727
05a487dc
DJ
37282002-09-18 Daniel Jacobowitz <drow@mvista.com>
3729
3730 * elfcode.h (elf_slurp_reloc_table_from_section): Check
3731 correct relocation count.
3732
1f70368c
DJ
37332002-09-17 Daniel Jacobowitz <drow@mvista.com>
3734
3735 * bfd-in.h (bfd_get_dynamic_symcount): Define.
3736 * bfd.c (struct _bfd): Add dynsymcount.
3737 * bfd-in2.h: Regenerated.
3738 * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
3739 abfd->dynsymcount.
3740 * elfcode.h (elf_slurp_reloc_table_from_section): Check
3741 for overflow.
3742
51020317 37432002-09-17 Stan Cox <scox@redhat.com>
a902ee94
SC
3744
3745 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
3746 (mips_elf64_final_gp): Don't make up gp value.
3747 * elfn32-mips.c (mips_elf_final_gp): Likewise.
3748 * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
3749 .MIPS.options/.options section.
3750
290062cc
DB
37512002-09-17 David O'Brien <obrien@FreeBSD.org>
3752
3753 * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
3754 It is benign for FreeBSD < 4.1. Minor reformatting.
3755 * elf64-alpha-fbsd.c: Likewise.
3756
c5c1f40c
JJ
37572002-09-17 Jakub Jelinek <jakub@redhat.com>
3758
ca1eb0ba
JJ
3759 * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
3760 addend.
c5c1f40c 3761
562ace6b
AM
37622002-09-17 Alan Modra <amodra@bigpond.net.au>
3763
3764 * elf64-alpha.c (alpha_elf_size_info): Make static.
3765
5af6ead6
AM
37662002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
3767
3768 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
3769 * cpu-tic4x.c: Ditto.
3770
cb9512fc
TS
37712002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3772
3773 * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
3774 duplicate define.
3775
4ada7262
DB
37762002-09-16 Bruno Haible <bruno@clisp.org>
3777
3778 * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
3779 by a target variant implementation.
3780 * elf64-alpha.c: Likewise.
3781 * elf32-i386-fbsd.c: New file.
3782 * elf64-alpha-fbsd.c: New file.
3783 * targets.c: Support bfd_elf32_i386_freebsd_vec and
3784 bfd_elf64_alpha_freebsd_vec.
3785 * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
3786 bfd_elf64_alpha_freebsd_vec.
3787 * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
3788 (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
3789 (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
3790 (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
3791 (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
3792 * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
3793 specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
3794
6a30718d
JJ
37952002-09-12 Jakub Jelinek <jakub@redhat.com>
3796
3797 * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
3798 NULL.
3799 (elf_i386_relocate_section): Return false after printing error about
3800 unresolvable relocation.
3801
6cf9e9fe
NC
38022002-09-12 Nick Clifton <nickc@redhat.com>
3803
3804 * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
3805 R_ARM_THM_PC11.
3806
10f469bf
DJ
38072002-09-11 Jeffrey Law <law@redhat.com>
3808
3809 * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
3810
dc43ada5
NC
38112002-09-11 Andrew Haley <aph@cambridge.redhat.com>
3812
3813 * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
3814 line_ptr before deciding we've found a symbol.
3815
e09f4395
NC
38162002-09-11 Nick Clifton <nickc@redhat.com>
3817
3818 * po/da.po: New Danish translation file.
3819 * configure.in (LINGUAS): Add 'da'.
3820 * configure: Regenerate.
3821
b3018b5f
NC
38222002-09-10 Michael Snyder <msnyder@redhat.com>
3823
3824 * irix-core.c (do_sections, do_sections64): New functions.
51020317 3825 (irix_core_core_file_p): Call new functions do_sections,
b3018b5f
NC
3826 do_sections64, depending on corefile (32-bit or 64-bit).
3827
2f21f25e
RH
38282002-09-09 Richard Henderson <rth@redhat.com>
3829
3830 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
3831 and PCREL21F like PCREL21B.
3832
28b94e7c
KB
38332002-09-04 Kevin Buettner <kevinb@redhat.com>
3834
51020317
AM
3835 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
3836 vector.
28b94e7c 3837
5cec6941
NC
38382002-09-02 Nick Clifton <nickc@redhat.com>
3839
3840 * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
3841 names instead of cryptically overloaded bfd_reloc error
3842 codes.
3843 (v850_elf_relocate_section): Likewise.
3844 (v850_elf_relax_section): Replace caching of external symbols
3845 with caching of internal symbols obtained from calling
3846 bfd_elf_get_elf_syms().
51020317 3847 Fixup problems with freeing cached allocated memory blocks.
5cec6941 3848
3b77b1d5
AM
38492002-09-02 Alan Modra <amodra@bigpond.net.au>
3850
638524b5
AM
3851 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
3852 (bfd_pj_arch): Use bfd_default_scan.
3853 * cpu-v850.c (scan): Remove.
3854 (N): Use bfd_default_scan.
3855 * cpu-z8k.c (scan_mach): Remove.
3856 (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
3857 first. Use bfd_default_scan.
3858
250d94fd
AM
3859 * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
3860 bfd_mach constants.
3861 (ecoff_get_magic): Likewise.
3862 * elf32-v850.c (v850_elf_object_p): Likewise.
3863 (v850_elf_final_write_processing): Likewise.
3864 * mipsbsd.c (MY(set_arch_mach)): Likewise.
3865 (MY(write_object_contents)): Likewise.
3866 * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
3867 * coffcode.h (coff_write_object_contents): Likewise.
3868 (coff_set_arch_mach_hook): Add comment describing machine == 0.
3869 Remove unnecessary "machine" assignments.
3870 (coff_write_relocs): Test for the absolute section sym by testing
3871 section and flags.
3872
3b77b1d5
AM
3873 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
3874 and bfd_mach_i386_i386_intel_syntax.
250d94fd 3875 * pdp11.c (NAME(aout,machine_type)): Likewise.
3b77b1d5 3876
e5b45b83
DA
38772002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3878
3879 * bfd-in.h (align_power): Cast constants to bfd_vma type.
3880 * bfd-in2.h (align_power): Likewise.
3881
37f45cf8
AM
38822002-08-30 Alan Modra <amodra@bigpond.net.au>
3883
3884 * Makefile.am: Run "make dep-am".
3885 * Makefile.in: Regenerate.
3886
3887 * cpu-avr.c (compatible): Don't use hard-coded mach constants.
3888 * cpu-powerpc.c (powerpc_compatible): Likewise.
3889 * cpu-rs6000.c (rs6000_compatible): Likewise.
3890
86aba9db
NC
38912002-08-28 Catherine Moore <clm@redhat.com>
3892
3893 * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
3894 (v850-elf-reloc): Don't resolve pc relative relocs.
3895 (v850_elf_ignore_reloc): New routine.
3896 (v850_elf_final_link_relocate): Handle new relocs.
3897 (v850_elf_relax_delete_bytes ): New routine.
3898 (v850_elf_relax_section): New routine.
3899 (bfd_elf32_bfd_relax_section): Define.
3900 (HOWTO): New entries for new relocs.
3901 * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
3902 (BFD_RELOC_V850_LONGJUMP): New reloc.
3903 (BFD_RELOC_V850_ALIGN): New reloc.
3904 * archures.c: Remove redundant v850ea architecture.
3905 * cpu-v850.c: Remove redundant v850ea support.
3906 * libbfd.h: Regenerate.
3907 * bfd-in2.h: Regenerated.
3908
026df7c5
NC
39092002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
3910
3911 * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
3912 * configure.in: Add tic4x_coff vector files.
3913 * configure: Regenerate.
3914 * Makefile.am: Add tic4x target.
3915 * Makefile.in: Regenerate.
3916
39172002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3918
3919 * archures.c: Add the BFD arch type tic4x.
3920 * bfd-in.h: Add BFD_IN_MEMORY flag.
3921 * coff-tic4x.c: New file.
3922 * coffswap.h (coff_swap_sym_out): Add preadjuster.
3923 * cpu-tic4x.c: New file.
3924 * targets.c: Added tic4x- in list of xvecs.
3925 * ticoff.h: New file.
3926 * bfd-in2.h: Regenerate.
3927
88f7bcd5
NC
39282002-08-27 Adam Nemet <anemet@lnxw.com>
3929
3930 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
3931 bit of DT_INIT and DT_FINI for Thumb functions.
3932
c8e48751
AM
39332002-08-26 Alan Modra <amodra@bigpond.net.au>
3934
3935 * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
3936
2846975a
AM
39372002-08-26 Alan Modra <amodra@bigpond.net.au>
3938
3939 * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
3940
067653c5
AM
39412002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3942
3943 * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
3944 (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
3945 Likewise.
3946 (struct elf_sh_pcrel_relocs_copied): Removed.
3947 (struct elf_sh_dyn_relocs): New.
3948 (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
3949 field with dyn_relocs.
3950 (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
3951 sections and sym_sec.
3952 (sh_elf_link_hash_newfunc): Clear dyn_relocs.
3953 (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
3954 (sh_elf_create_dynamic_sections): Use create_got_section instead
3955 of _bfd_elf_create_got_section.
3956 (sh_elf_check_relocs): Likewise.
3957 (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
3958 sections.
3959 (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
3960 sh_elf_relocate_section, sh_elf_check_relocs,
3961 sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
3962 Likewise.
3963 (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
3964 dynamic relocations and avoiding the copy relocation when we
3965 didn't find any dynamic relocations in the section which has
3966 contents or is read-only.
3967 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
3968 (sh_elf_size_dynamic_sections): Don't reset the size of
3969 .rela.got section even if dynamic_sections_created flag is off.
3970 Don't use sh_elf_discard_copies. Scan all input bfd and use
3971 allocate_dynrelocs. Call readonly_dynrelocs to determine
3972 whether we need DT_TEXTREL.
3973 (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
3974 whether the symbol was never referred to.
3975 (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
3976 (sh_elf_gc_sweep_hook): Fill with the real sweep function.
3977 (sh_elf_check_relocs): Call create_got_section if the short-cut
3978 to .got is null. Increment reference counters only instead of
3979 allocating space on dynamic sections here. Don't conditionalize
3980 uninitialized got.offset value when marking the symbol as a
3981 global offset table entry. Keep relocations for symbols satisfied
3982 by a dynamic library to avoid copy relocations for the symbol.
3983 Set dynobj field of an elf hash table if needed.
3984 (sh_elf_finish_dynamic_sections): Handle null section pointer
3985 correctly.
3986 (elf_backend_copy_indirect_symbol): Defined.
3987 (elf_backend_can_refcount): Defined.
3988
7e326afc
NC
39892002-08-23 Nick Clifton <nickc@redhat.com>
3990
3991 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
3992 previous change. Add comment explaining why.
3993
c8614e8e
AM
39942002-08-23 Stephen Clarke <stephen.clarke@superh.com>
3995
3996 * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
3997 contents of .got.plt[2] to tr0, not address of .got.plt.
3998 (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
3999 patching absolute plt entry. For shmedia plt entry, set bottom bit
4000 of branch to plt0 as this is a branch to an shmedia instruction.
4001 * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
4002 Copy contents of .got.plt[2] to tr0, not address of .got.plt.
4003 (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
4004 branch to plt0.
4005 (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
4006 patching absolute plt entry. For shmedia plt entry, branch to
4007 plt0 is now ptrel, so use relative offset. Set bottom bit of
4008 branch target as it is a branch to an shmedia instruction.
4009
3b587c71
AM
40102002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
4011 Richard Shann <richard.shann@superh.com>
4012
4013 * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
4014 value if .init is an SHmedia function. Similarly for DT_FINI.
4015 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
51020317 4016
957dcaa8
AM
40172002-08-23 Stephen Clarke <stephen.clarke@superh.com>
4018
3b587c71 4019 * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
957dcaa8 4020 dynamic section.
3b587c71 4021 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
957dcaa8 4022
a4263c47
NC
40232002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4024
4025 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
51020317 4026 byte read when reading the return address register column.
a4263c47 4027
db4ed121
NC
40282002-08-22 Nick Clifton <nickc@redhat.com>
4029
4030 * config.bfd: Add powepc64-*-*bsd* target.
4031
ed71e111
NC
40322002-08-22 Graeme Peterson <gp@qnx.com>
4033
4034 * Makefile.am: Add entries for elf32-shqnx.c
4035 * Makefile.in: Regenerate.
4036 * config.bfd: Add support sh-*-nto* target.
4037 * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
4038 * configure: Regenerate.
4039 * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
4040 * elf32-sh.c: Do not include elf32-target.h if
4041 ELF32_SH_C_INCLUDED is defined.
4042 * elf32-shqnx.c: New file: Support for QNX.
4043 * targets.c: Add bfd_elf32_sh{l}qnx_vec.
4044
0ab72ee2
NC
40452002-08-22 Nick Clifton <nickc@redhat.com>
4046
75c83283
NC
4047 * po/tr.po: Updated Turkish translation.
4048
0ab72ee2
NC
4049 * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
4050 symbols are not read.
4051
56780f18
AM
40522002-08-22 Alan Modra <amodra@bigpond.net.au>
4053
4054 * elf32-m68hc11.c: Formatting fixes.
4055 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
4056 * elf32-m68hc12.c: Formatting fixes.
4057 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
4058
b48fa14c
AM
40592002-08-22 Alan Modra <amodra@bigpond.net.au>
4060
a7c71b0c
AM
4061 * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
4062 SEC_DATA.
4063 (pmac_xcoff_vec): Likewise.
4064 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
4065 (aix5coff64_vec): Likewise.
4066
56780f18
AM
40672002-08-22 Alan Modra <amodra@bigpond.net.au>
4068
b48fa14c
AM
4069 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
4070 param to elf_backend_copy_indirect_symbol.
4071 (_bfd_elf_link_hash_copy_indirect): Likewise.
4072 * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
4073 calls to copy_indirect_symbol.
4074 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
4075 * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
4076 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
4077 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
4078 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
4079 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
4080 * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
4081 * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
4082 * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
4083 * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
4084 test refcounts for "used" values.
4085
8c2ab17d
AM
40862002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
4087
4088 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
4089 argument declaration.
4090
d62b1198 40912002-08-19 Elena Zannoni <ezannoni@redhat.com>
51020317
AM
4092
4093 * archures.c (bfd_mach_ppc_e500): Added.
4094 * bfd-in2.h: Rebuilt.
d62b1198
EZ
4095 * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
4096
9f88ba09
AM
40972002-08-19 Alan Modra <amodra@bigpond.net.au>
4098
4099 * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
4100
df622259
AC
41012002-08-17 Andrew Cagney <ac131313@redhat.com>
4102
4103 * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
51020317 4104 `bfd_byte'.
df622259 4105
44c410de
SC
41062002-08-17 Stan Cox <scox@redhat.com>
4107
4108 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
4109 IRIX 6 segment layout for NEWABI.
4110
4972a8e9
SC
41112002-08-16 Stephen Clarke <stephen.clarke@superh.com>
4112
4113 * bfd/elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
4114 symbols when looking for section referred to by a relocation.
4115 * bfd/elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
51020317 4116
c5cd6d62
AM
41172002-08-15 Alan Modra <amodra@bigpond.net.au>
4118
4119 * elf32-i370.c: Move reloc enum to include/elf/i370.h.
4120
0741c7be
HPN
41212002-08-15 Hans-Peter Nilsson <hp@axis.com>
4122
4123 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
4124 missing check for whether the symbol is referenced by DSO before
4125 unexporting it as an unneeded dynamic symbol.
4126
e8d5d179
L
41272002-08-14 H.J. Lu <hjl@gnu.org>
4128
4129 * libbfd.h: Regenerate.
4130
e9229007
L
41312002-08-14 H.J. Lu <hjl@gnu.org>
4132
4133 * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
4134
1fd03b5a
SC
41352002-08-14 Stephane Carrez <stcarrez@nerim.fr>
4136
4137 * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
4138 instructions.
4139 (m68hc11_direct_relax): New to define table of relaxable instructions.
4140 (find_relaxable_insn): New, find a relaxable insn.
4141 (compare_reloc): New to compare two relocs.
4142 (m68hc11_elf_relax_section): New, relax text sections.
4143 (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
4144 (elf32_m68hc11_check_relocs): New function for GC support.
4145 (elf32_m68hc11_relocate_section): New function for GC support.
4146 (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
4147 (elf_backend_check_relocs): Likewise.
4148 (elf_backend_relocate_section): Likewise.
4149
c828c771
L
41502002-08-13 H.J. Lu <hjl@gnu.org>
4151
4152 * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
4153 definitions in shared objects when checking symbol with
4154 undefined version.
4155
9b701e44
SC
41562002-08-13 Stephane Carrez <stcarrez@nerim.fr>
4157
4158 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
4159 (elf32_m68hc11_gc_sweep_hook): Likewise.
4160 (elf_backend_gc_mark_hook): Define for GC section support.
4161 (elf_backend_gc_sweep_hook): Likewise.
4162 (elf_backend_can_gc_sections): Likewise.
4163
4164 * elf32-m68hc12.c: Likewise.
4165
96405e3c
SC
41662002-08-13 Stephane Carrez <stcarrez@nerim.fr>
4167
4168 * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
4169 (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
4170 (_bfd_m68hc11_elf_set_private_flags): New function.
4171 Use them to set/check/print ELF flags specific to 68HC11.
4172
4173 * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
4174 (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
4175 (_bfd_m68hc12_elf_set_private_flags): New function.
4176 Use them to set/check/print ELF flags specific to 68HC12.
4177
dae78fb0
SC
41782002-08-13 Stephane Carrez <stcarrez@nerim.fr>
4179
4180 * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
4181 fix masks for PC-rel relocs.
4182 (m68hc11_elf_ignore_reloc): New function.
4183
4184 * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
4185 68HC12 banked addressing relocs.
4186 (m68hc12_phys_addr): New to compute physical address of banked memory.
4187 (m68hc12_phys_page): Likewise for page.
4188 (m68hc12_addr_is_banked): New to see if address is in banked area.
4189 (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
4190
3dbfec86
SC
41912002-08-13 Stephane Carrez <stcarrez@nerim.fr>
4192
4193 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
4194 BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
4195 BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
4196 * bfd-in2.h: Regenerate.
4197
871da94f
L
41982002-08-12 H.J. Lu <hjl@gnu.org>
4199
4200 * elflink.h (elf_add_default_symbol): Preserve section across
4201 elf_merge_symbol.
4202
59bc061d
NC
42032002-08-09 Graeme Peterson <gp@qnx.com>
4204
51020317 4205 * Makefile.am: Add entries for elf32-ppcqnx.c, and add
59bc061d
NC
4206 elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
4207 * Makefile.in: Regenerate.
4208 * config.bfd: Add support for powerpc{le}-*-nto targets.
4209 * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
4210 * configure: Regenerate.
4211 * elf32-i386qnx.c: Moved backend functions into a QNX specific
4212 common file "elf32-qnx.h", and now include that file.
4213 * elf32-qnx.h: New file: QNX specific common elf backend.
4214 * elf32-ppc.c: Do not include elf32-target.h if
4215 ELF32_PPC_C_INCLUDED is defined.
4216 * elf32-ppcqnx.c: New file: Support for QNX.
4217 * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
4218 * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
4219
2b692c59
NC
42202002-08-09 Nick Clifton <nickc@redhat.com>
4221
4222 * po/sv.po: Updated Swedish translation.
4223
d0c7ff07
TS
42242002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4225
4226 * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
4227 g->global_gotsym is NULL.
4228
d8bbe778
L
42292002-08-08 H.J. Lu <hjl@gnu.org>
4230
c5cd6d62 4231 * elflink.h (elf_add_default_symbol): Don't warn if a definition
d8bbe778
L
4232 overrides an indirect versioned symbol.
4233
c366c25e
JJ
42342002-08-08 Jakub Jelinek <jakub@redhat.com>
4235
4236 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
4237 for R_386_TLS_TPOFF32 relocs against symndx 0.
4238
31941635
L
42392002-08-07 H.J. Lu <hjl@gnu.org>
4240
4241 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
4242 with undefined version if needed.
4243 (elf_link_assign_sym_version): Match a default symbol with a
4244 version without definition. No need to hide the default
4245 definition separately.
4246
0f3bd64f
AM
42472002-08-08 Alan Modra <amodra@bigpond.net.au>
4248
7330fb86
AM
4249 * elflink.h (elf_link_output_extsym): Don't output symbols from
4250 SEC_EXCLUDE sections.
4251
0f3bd64f
AM
4252 * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
4253
a4aa0fb7
AM
42542002-08-07 Alan Modra <amodra@bigpond.net.au>
4255
4256 * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
4257 entries.
4258
34ea4a36
TS
42592002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4260
4261 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
4262 mismatch.
4263
141ff970
TS
42642002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4265
4266 * elfxx-mips.c (ABI_64_P): Remove superfluous check.
4267
28458e7e
TS
42682002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4269
4270 * elf32-mips.c (mips_reloc_map): Fix typo.
4271
0121a3da
AM
42722002-08-06 Alan Modra <amodra@bigpond.net.au>
4273
4274 * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
4275
d006db6c
AM
42762002-08-06 Alan Modra <amodra@bigpond.net.au>
4277
4278 * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
4279
8ea80f08
AM
42802002-08-06 Alan Modra <amodra@bigpond.net.au>
4281
2a52da53
AM
4282 * libxcoff.h: Use PARAMS on function declarations.
4283 * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
4284 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
4285
8ea80f08
AM
4286 * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
4287 addend.
4288 * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
4289
cf9ab45b
AM
42902002-08-06 Alan Modra <amodra@bigpond.net.au>
4291
4292 * coff-rs6000.c: Formatting fixes.
4293 (xcoff_calculate_relocation): Use PARAMS in declaration.
4294 (xcoff_complain_overflow): Likewise.
4295 (xcoff_ppc_relocate_section): Use old-style function pointer call.
4296 (bfd_xcoff_backend_data): Remove useless comments.
4297 (rs6000coff_vec): Likewise.
4298 (bfd_pmac_xcoff_backend_data): Likewise.
4299 (pmac_xcoff_vec): Likewise.
8ea80f08 4300
cf9ab45b
AM
4301 * coff64-rs6000.c: Formatting fixes.
4302 (xcoff64_calculate_relocation): Use PARAMS in declaration.
4303 (xcoff64_ppc_relocate_section): Use old-style function pointer call.
4304 (bfd_xcoff_backend_data): Remove useless comments.
4305 (rs6000coff64_vec): Likewise.
4306 (bfd_xcoff_aix5_backend_data): Likewise.
4307 (aix5coff64_vec): Likewise.
4308
48bfecdd
AM
43092002-08-06 Alan Modra <amodra@bigpond.net.au>
4310
a78eab4e
AM
4311 * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
4312 mask entries. Use complain_overflow_dont for R_REF.
4313 (xcoff_reloc_type_ba): Revert last change.
4314 (xcoff_reloc_type_br): Likewise.
4315 (xcoff_reloc_type_crel): Likewise.
4316 (xcoff_ppc_relocate_section): Likewise.
4317 * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
4318 (xcoff64_ppc_relocate_section): Likewise.
4319 (xcoff64_howto_table): Revert some of last change to mask entries.
4320 Use complain_overflow_dont for R_REF.
4321
48bfecdd
AM
4322 * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
4323 relocs with bitsize == 16 have size = 1.
4324 (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
4325 (xcoff_reloc_type_br): Likewise.
4326 (xcoff_reloc_type_crel): Likewise.
4327 (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
4328 * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
4329 dst_mask adjustment.
4330 (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
4331 (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
4332 bitsize == 16 have size = 1.
4333
fd13ed0c
DC
43342002-08-01 Denis Chertykov <denisc@overta.ru>
4335
4336 * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
4337 (struct misc): New field isymbuf. All free_* fields removed.
4338 (symbol_value): Pass in internal syms. No need to swap syms in.
4339 (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
4340 possibly cached info.
4341 (tidyup_after_error): Removed.
4342 (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
4343 misc. Use new field.
4344 (adjust_all_relocations): Use internal syms. No need to swap syms
4345 in and out.
4346 (add_page_insn): Don't use removed fields of struct misc.
4347
24a1ba0f
NC
43482002-08-01 Nick Clifton <nickc@redhat.com>
4349
4350 * elf32-arm.h: Revert previous delta.
4351
a6903459
NC
43522002-08-01 Nick Clifton <nickc@redhat.com>
4353
4354 * configure.in (AM_INIT_AUTOMAKE): Bump version number.
4355 * configure: Regenerate.
4356
39a2a3eb
L
43572002-07-31 H.J. Lu <hjl@gnu.org>
4358
4359 * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
4360 selected.
4361
a0dfa6a8
L
43622002-07-31 H.J. Lu <hjl@gnu.org>
4363
4364 * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
4365 is selected.
4366
cd67d266
JJ
43672002-07-31 Jakub Jelinek <jakub@redhat.com>
4368
4369 * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
4370 if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
4371
4eb6b71c
NC
43722002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4373
4374 * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
4375 There is no 8 byte relocation type for this architecture.
4376 (do_ns32k_reloc): Use bfd_vma instead of native types.
4377 (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
4378 returns void.
4379 (_bfd_ns32k_put_displacement): Don't check for overflow. We can
4380 rely on generic code to do that.
4381 * aout-ns32k.c (howto_table): Add appropriate overflow detection
4382 to all table entries.
4383 (_bfd_ns32k_relocate_contents): put_data returns void.
4384 * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
4385 (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
4386 return void.
4387
f7c33884
NC
43882002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4389
4390 * aoutx.h (aout_link_check_ar_symbols): Whether to include an
4391 archive object is target dependant.
4392
8f64befb
NC
43932002-07-31 Adam Nemet <anemet@lnxw.com>
4394
4395 * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
4396 (THUMB_PLT_ENTRY_SIZE): New macro.
4397 (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
4398 (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
4399 ARM_PLT_ENTRY_SIZE.
4400 (elf32_arm_plt_entry): Likewise.
4401 (elf_backend_plt_header_size): Likewise.
4402 (elf32_thumb_plt0_entry): New global.
4403 (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
4404 into .plt.thumb.
4405 (elf32_thumb_plt_entry): New global.
4406 (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
4407 Thumb entries. Set the bottom bit of the corresponding GOT entry
4408 for a Thumb PLT entry.
4409 (struct elf32_arm_plt_entry_info): New structure.
4410 (struct elf32_arm_link_hash_entry, plt_info): New member of this
4411 type.
4412 (elf32_arm_link_hash_newfunc): Initialize new member.
4413 (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
4414 relocations against the PLT.
4415 (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
4416 first_rel_type if this is the first time we encounter the symbol.
4417 (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
4418 Determine if relocation needs a PLT entry. Set first_rel_type if
4419 this is the first time we encounter the symbol
4420 (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
4421 functions as well.
4422 (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
4423 (elf32_arm_create_dynamic_sections): New function. Create the
4424 .plt.thumb section.
4425 (elf_backend_create_dynamic_sections): Call it.
4426
47badb7b
NC
44272002-07-31 Nick Clifton <nickc@redhat.com>
4428
4429 * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
4430 'alternative' in order to avoid shadowing global symbol of the
4431 same name.
4432 * bfd-in2.h: Regenerate.
4433 * libbfd.h: Regenerate.
4434 * libcoff.h: Regenerate.
4435
8a397dad
TS
44362002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4437
4438 * Makefile.am: Add n32 ABI support.
4439 * Makefile.in: Regenerate.
4440 * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
4441 bit vectors for mips*-*-linux targets as optional.
4442 * configure.in: Add n32 ABI vectors.
4443 * configure: Regenerate.
4444 * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
4445 * elfn32-mips.c: New file, n32 ABI support.
4446 * targets.c: Add n32 ABI vectors.
4447
7e392df6 44482002-07-30 Graeme Peterson <gp@qnx.com>
83e1617e 4449
7e392df6
NC
4450 * elfarmqnx-nabi.c: New file: Support for QNX.
4451 * config.bfd: Add support for arm-*-nto target.
4452 * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
4453 * configure: Regenerate.
4454 * Makefile.am: Add entries for elfarmqnx-nabi.c.
4455 * Makefile.in: Regenerate.
4456 * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
4457 Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
4458 * elfarm-nabi.c: Do not include elf32-arm.h if
4459 ELFARM_NABI_C_INCLUDED is defined.
4460 * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7330fb86 4461
7e392df6 44622002-07-30 Nick Clifton <nickc@redhat.com>
7330fb86 4463
83e1617e
NC
4464 * po/sv.po: Updated Swedish translation.
4465
704afa60
JJ
44662002-07-30 Jakub Jelinek <jakub@redhat.com>
4467
4468 * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
4469
487e54f2
AM
44702002-07-30 Alan Modra <amodra@bigpond.net.au>
4471
4472 * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
4473 * archive.c (bfd_generic_archive_p): Likewise.
4474 * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
4475 (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
4476 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
4477 (xcoff64_archive_p): Likewise.
4478 (xcoff64_openr_next_archived_file): Likewise.
4479 (xcoff64_archive_p): Clean up tdata properly on error.
4480 * coffgen.c (coff_real_object_p): Likewise.
4481 (coff_object_p): Release filehdr and opthdr.
4482 * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
4483 * ieee.c (ieee_archive_p): Likewise.
4484 * ihex.c (ihex_object_p): Likewise.
4485 (ihex_mkobject): Always allocate tdata.
4486 * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
4487 * srec.c (srec_mkobject): Always allocate tdata.
4488 (srec_object_p): Clean up tdata properly on error.
4489 (symbolsrec_object_p): Likewise.
4490 * versados.c (versados_object_p): Likewise.
4491 * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
4492 and bfd_realloc instead of realloc.
4493 (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
4494 * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
4495 place of bfd_malloc, simplifying error freeing. Free hash table too.
4496 (vms_object_p): Clean up tdata on error.
4497 (vms_mkobject): Don't complain on stderr if vms_initialize fails.
4498 (vms_close_and_cleanup): Adjust for bfd_alloc use.
4499
9d46020e
AM
45002002-07-30 Alan Modra <amodra@bigpond.net.au>
4501
4502 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
4503
fb39dac1
RS
45042002-07-26 Chris Demetriou <cgd@broadcom.com>
4505
4506 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
4507 flags into resulting BFD.
4508
7a624474
AM
45092002-07-26 Alan Modra <amodra@bigpond.net.au>
4510
4511 From John Reiser <jreiser@BitWagon.com>
4512 * elf32-i386.c (elf_i386_link_hash_table_create): Clear
4513 tls_ldm_got.refcount.
4514
a4382ec6
TS
45152002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4516
4517 * elf64-mips.c: Update TODO comment.
4518 (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
4519 mips_elf64_gprel16_reloca): Remove prototypes.
4520 (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
4521 (UNUSED_RELOC): Replace by EMPTY_RELOC.
4522 (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
4523 wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
4524 R_MIPS_HIGHEST.
4525 (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
4526 R_MIPS_GOT16. Remove wrong comments.
4527 (elf_mips16_jump_howto,elf_mips16_gprel_howto,
4528 elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
4529 from elf32-mips.c.
4530 (mips_elf64_hi16_reloc): Fix formatting.
4531 (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
4532 (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
4533 Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
4534 (mips_elf64_gprel16_reloc): Make static. Add check for
4535 partial_inplace.
4536 (mips_elf64_gprel16_reloca): Remove.
4537 (mips_elf64_literal_reloc): New function.
4538 (mips_elf64_gprel32_reloc): Fix formatting.
4539 (mips_elf64_shift6_reloc): Fix comment. Make static.
4540 (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
4541 elf32-mips.c.
4542 (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
4543 elf32-mips.c
4544 (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
4545 specific relocations.
4546 (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
4547 (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
4548 (ELF_MAXPAGESIZE): Add comment.
4549
219576a4
NC
45502002-07-25 Nick Clifton <nickc@redhat.com>
4551
4552 * po/sv.po: Updated Swedish translation.
4553 * po/es.po: Updated Spanish translation.
4554 * po/fr.po: Updated French translation.
4555
8c58d23b
AM
45562002-07-25 Alan Modra <amodra@bigpond.net.au>
4557
4558 * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
4559 as elf_link_record_local_dynamic_symbol.
4560 (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
4561 (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
4562 * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
4563 * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
4564 attempt is made to record a symbol in a discarded section, and
4565 return `2' in that case.
4566
ff3063f5
NC
45672002-07-24 Nick Clifton <nickc@redhat.com>
4568
4569 * po/sv.po: Updated Swedish translation.
4570 * po/es.po: Updated Spanish translation.
4571
f0fe0e16
AM
45722002-07-23 Alan Modra <amodra@bigpond.net.au>
4573
c1fb5f8a
AM
4574 * po/SRC-POTFILES.in: Regenerate.
4575
f0fe0e16
AM
4576 * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
4577 immediately. Remove code handling relocatable linking.
4578 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
4579 * elf32-cris.c (cris_elf_relocate_section): Likewise.
4580 * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
de2d743e 4581 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
4582 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
4583 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
4584 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
4585 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4586 * elf32-v850.c (v850_elf_relocate_section): Likewise.
4587 * elf32-vax.c (elf_vax_relocate_section): Likewise.
4588 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4589 * elf32-avr.c (elf_backend_rela_normal): Define.
4590 * elf32-cris.c: Likewise.
4591 * elf32-fr30.c: Likewise.
de2d743e 4592 * elf32-frv.c: Likewise.
f0fe0e16
AM
4593 * elf32-h8300.c: Likewise.
4594 * elf32-hppa.c: Likewise.
4595 * elf32-ip2k.c: Likewise.
4596 * elf32-sparc.c: Likewise.
4597 * elf32-v850.c: Likewise.
4598 * elf32-vax.c: Likewise.
4599 * elf64-hppa.c: Likewise.
4600 * elf64-sparc.c: Likewise.
4601 * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
de2d743e 4602 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
4603 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
4604 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
4605 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
4606 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
4607 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
4608 * elf-m10200.c (USE_RELA): Don't define.
4609 * elf-m10300.c: Likewise.
de2d743e 4610 * elfarm-oabi.c: Likewise.
f0fe0e16
AM
4611 * elf32-i370.c: Likewise.
4612 * elf32-ip2k.c: Likewise.
4613 * elf32-m68k.c: Likewise.
4614 * elf32-mcore.c: Likewise.
4615 * elf32-ppc.c: Likewise.
4616 * elf32-s390.c: Likewise.
4617 * elf32-vax.c: Likewise.
4618 * elf64-ppc.c: Likewise.
4619 * elf64-s390.c: Likewise.
4620 * elf64-x86-64.c: Likewise.
4621 * elfxx-ia64.c: Likewise.
4622 * elf32-avr.c (USE_REL): Don't undef.
4623 * elf32-ip2k.c: Likewise.
4624
5e8d7549
NC
46252002-07-23 Nick Clifton <nickc@redhat.com>
4626
4627 * elf-bfd.h (struct elf_backend_data): Add new bitfield
4628 'want_p_paddr_set_to_zero'.
4629 * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
4630 to false;
4631 * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
4632 * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
4633
9e12c7db
NC
46342002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
4635
4636 * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
4637 the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
4638 show the Copyright string.
4639 Minor formatting tidy ups.
4640
0461a601
NC
46412002-07-23 Nick Clifton <nickc@redhat.com>
4642
ff3063f5
NC
4643 * po/fr.po: Updated French translation.
4644 * po/sv.po: Updated Swedish translation.
0461a601 4645
fad2542d
AM
46462002-07-23 Alan Modra <amodra@bigpond.net.au>
4647
4648 * elflink.h (elf_link_input_bfd): Don't change internal symbols
4649 when outputting relocs.
4650
c0647bfc
JT
46512002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
4652
4653 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
4654 DT_PLTGOT into the dynamic section if there is a PLT.
4655
d01414a5
TS
46562002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4657
4658 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
4659 elf32-mips.c.
4660 (_bfd_mips_elf_write_section): Likewise.
4661 * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
4662 (_bfd_mips_elf_write_section): Likewise.
4663 * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
4664 (elf32_mips_write_section): Likewise.
4665 * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
4666 (_bfd_mips_elf_write_section): Likewise.
4667
40c97fc6
AM
46682002-07-19 Alan Modra <amodra@bigpond.net.au>
4669
4670 * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
4671 PT_IA_64_UNWIND segments for a given section.
4672
58378160
L
46732002-07-17 H.J. Lu <hjl@gnu.org>
4674
4675 * Makefile.am: Fix a typo.
4676 * Makefile.in: Regenerate.
4677
cf88bb9f
NC
46782002-07-15 Denis Chertykov <denisc@overta.ru>
4679 Frank Ch. Eigler <fche@redhat.com>
4680 Ben Elliston <bje@redhat.com>
4681 Alan Lehotsky <alehotsky@cygnus.com>
4682 John Healy <jhealy@redhat.com>
4683 Graham Stott <grahams@redhat.com>
4684 Jeff Johnston <jjohnstn@redhat.com>
4685
4686 * Makefile.am: Add support for ip2k.
4687 * Makefile.in: Regenerate.
4688 * doc/Makefile.in: Regenerate.
4689 * archures.c: Add support for ip2k.
4690 * config.bfd: Add support for ip2k.
4691 * configure.in: Add support for ip2k.
4692 * configure: Regenerate.
4693 * reloc.c: Add support for ip2k.
4694 * targets.c: Add support for ip2k.
4695 * bfd-in2.h: Regenerate.
4696 * libbfd.h: Regenerate.
4697 * cpu-ip2k.c: New file.
4698 * elf32-ip2k.c: New file.
4699
0dafd5f6
RE
47002002-07-17 Ian Rickards <irickard@arm.com>
4701
40c97fc6 4702 * dwarf2.c (concat_filename): If we can't establish the directory
0dafd5f6
RE
4703 just return the filename.
4704
36b08f12
AM
47052002-07-16 Moritz Jodeit <moritz@jodeit.org>
4706
4707 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
4708
58821868
AM
47092002-07-16 Alan Modra <amodra@bigpond.net.au>
4710
4711 * elflink.h: Formatting fixes, tidy prototypes.
4712 (elf_link_assign_sym_version): Move common code out of loop.
4713
c89583f8
AM
47142002-07-16 Alan Modra <amodra@bigpond.net.au>
4715
4716 * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
4717 reloc section size is zero. Correct reloc output location.
4718
ba94744e
AM
47192002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
4720
4721 * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
4722 the final type for the e_fsel selector when generating PA2.0W code.
4723 (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
4724 relocations.
4725
96a94295
L
47262002-07-14 H.J. Lu <hjl@gnu.org>
4727
4728 * elflink.h (elf_link_assign_sym_version): Hide the default
4729 definition if there is a hidden versioned definition.
4730
6849c52f
HPN
47312002-07-12 Hans-Peter Nilsson <hp@axis.com>
4732
4733 * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
4734 dynamic reference test in assertion when initializing GOT with
4735 static contents. Just assert that there are either no dynamic
4736 sections, the symbol is defined in the regular objects or that the
4737 symbol is undef weak. Tweak comment.
4738 (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
4739 only if the symbol isn't defined in the program and isn't undef
4740 weak.
4741 (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
4742 rid of PLT entry: only do it if the symbol isn't defined in a DSO.
4743 When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
4744 (elf_cris_discard_excess_program_dynamics): Don't consider
4745 ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
4746
239e1f3a
AM
47472002-07-11 Alan Modra <amodra@bigpond.net.au>
4748
4749 * elf32-i386.c (elf_i386_relocate_section): Don't complain about
4750 unresolved debugging relocs in dynamic applications.
4751 * elf32-s390.c (elf_s390_relocate_section): Likewise.
4752 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4753 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4754 * elf64-s390.c (elf_s390_relocate_section): Likewise.
4755 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4756 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
4757
2f6d9989
AM
47582002-07-10 Alan Modra <amodra@bigpond.net.au>
4759
f5e87a1d
AM
4760 * elf64-ppc.c (ONES): Define.
4761 (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
4762 missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
4763 in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
4764
2f6d9989
AM
4765 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
4766 (ppc64_elf_set_private_flags): Delete.
4767 (ppc64_elf_section_from_shdr): Delete.
4768 (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
4769 (ppc64_elf_fake_sections): Delete.
4770 (bfd_elf64_bfd_set_private_flags): Don't define.
4771 (bfd_elf64_get_symbol_info): Likewise.
4772 (elf_backend_section_from_shdr): Likewise.
4773 (elf_backend_fake_sections): Likewise.
4774
0594c12d
AM
47752002-07-10 Marco Walther <Marco.Walther@sun.com>
4776
4777 * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
4778 when not already set.
4779 * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
4780 (elf_backend_fake_sections): Define.
4781
699cb9b8
AM
47822002-07-10 Alan Modra <amodra@bigpond.net.au>
4783
4784 * merge.c (_bfd_merge_section): Remove redundant output_section check.
4785 Formatting.
4786 (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
4787
0a4787a0
HPN
47882002-07-09 Hans-Peter Nilsson <hp@axis.com>
4789
4790 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
4791 NULL sym_hashes to just before use.
4792 <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
4793 symbol with non-default visibility.
4794 <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
4795 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
4796 Ditto.
4797 (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
4798 symbol with non-default visibility.
4799 (cris_elf_check_relocs): At tests for local symbol before
4800 increasing h->plt.refcount, also check for non-default
4801 visibility. Ditto when checking for local symbol to eliminate
4802 pc-relative runtime relocs.
4803
aecc8f8a
AM
48042002-07-08 Alan Modra <amodra@bigpond.net.au>
4805
4806 * elf.c: Formatting.
4807 (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
4808 (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
4809 (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
4810 segments.
4811
e9168c1e
MM
48122002-07-07 Mark Mitchell <mark@codesourcery.com>
4813 Alan Modra <amodra@bigpond.net.au>
4814
4815 * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
4816 account the impact of relocation count overflow when computing
4817 section offsets.
4818 * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
4819 or not to apply the PE COFF reloc overflow handling. Fix a
4820 fencepost error in deciding whether or not to use that technique.
4821
6cdc0ccc
AM
48222002-07-07 Alan Modra <amodra@bigpond.net.au>
4823
4824 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
4825 change type of locsyms.
4826 (bfd_elf_get_elf_syms): Declare.
4827 * elf.c (bfd_elf_get_elf_syms): New function.
4828 (group_signature): Use bfd_elf_get_elf_syms.
4829 (bfd_section_from_r_symndx): Likewise.
4830 * elfcode.h (elf_slurp_symbol_table): Likewise.
4831 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
4832 (elf_link_add_object_symbols): Likewise. Reorganise to increase
4833 locality of various data structures. Properly free internal relocs.
4834 (elf_bfd_final_link): Properly free internal relocs.
4835 (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
4836 (elf_link_input_bfd): Likewise.
4837 (elf_gc_mark): Likewise. Properly free internal relocs.
4838 (elf_gc_sweep): Properly free internal relocs.
4839 (elf_reloc_symbol_deleted_p): No need to swap syms in.
4840 (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
4841 internal relocs.
4842 * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
4843 Properly free possibly cached info.
4844 (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
4845 (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
4846 symbol swapping code.
4847 (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
4848 Properly free possibly cached info.
4849 * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
4850 (mn10300_elf_relax_delete_bytes): Likewise.
4851 (mn10300_elf_symbol_address_p): Likewise.
4852 (mn10300_elf_get_relocated_section_contents): Likewise.
4853 * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
4854 (elf32_h8_relax_delete_bytes): Likewise.
4855 (elf32_h8_symbol_address_p): Likewise.
4856 (elf32_h8_get_relocated_section_contents): Likewise.
4857 * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
4858 (m32r_elf_relax_delete_bytes): Likewise.
4859 (m32r_elf_get_relocated_section_contents): Likewise.
4860 * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
4861 elf_section_data to determine whether cached.
4862 (sh_elf_relax_section): As above for elf-m10200.c.
4863 (sh_elf_relax_delete_bytes): Likewise.
4864 (sh_elf_get_relocated_section_contents): Likewise.
4865 * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
4866 * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
4867 reading of local syms.
4868 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
4869 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
4870 * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
4871 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
4872 relocs.
4873 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
4874 free internal relocs and section contents. Don't read symbols.
4875 * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
4876 (elf32_hppa_size_stubs): Don't free local syms.
4877 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
4878 reading of local syms. Use bfd_elf_get_elf_syms. Properly free
4879 possibly cached info.
4880 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
4881 * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
4882 * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
4883 all_local_syms.
4884 (get_local_syms): Delete function.
4885 (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
4886 on exit.
4887 (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
4888
b3212001
JW
48892002-07-05 Jim Wilson <wilson@redhat.com>
4890
4891 * syms.c (decode_section_type): New.
4892 (bfd_decode_symclass): Call decode_section_type.
4893
894bb1ee
JJ
48942002-07-04 Jakub Jelinek <jakub@redhat.com>
4895
4896 * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
4897 section content start.
4898 Reported by Michael Schumacher <mike@hightec-rt.com>.
4899
bc0ba537
AM
49002002-07-04 Alan Modra <amodra@bigpond.net.au>
4901
4902 * section.c (_bfd_strip_section_from_output): Remove unnecessary
4903 link order code. Don't actually remove the output section here;
4904 Just set a flag for the linker to do so.
4905 * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
4906 sections when setting up output section dynsyms.
4907
797fc050
AM
49082002-07-04 Alan Modra <amodra@bigpond.net.au>
4909
4910 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
4911 fudge.
4912 * elf.c (bfd_section_from_shdr): Work around broken hpux shared
4913 libs here instead.
4914
99881371
MS
49152002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
4916
4917 * elf64-s390.c (create_got_section): Set .got section alignment to
4918 8 bytes.
4919 (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
4920
47d9a591
AM
49212002-07-02 Alan Modra <amodra@bigpond.net.au>
4922
4923 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
4924
179d3252
JT
49252002-07-01 Matt Thomas <matt@3am-software.com>
4926
4927 * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
4928 to EF_VAX_*.
4929
4a14403c
TS
49302002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4931
4932 * elfxx-mips.c (ABI_64_P): Fix comment.
4933 (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
4934 new section names for N64 ABI.
4935 (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
4936 (mips_elf_calculate_relocation): Code formatting.
4937 (mips_elf_create_dynamic_relocation): Likewise.
4938 (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
4939 (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
4940 (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
4941 in any NewABI.
4942 (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
4943 for NewABI.
4944 (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
4945 (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
4946 here, too.
4947
607c0e09
AS
49482002-07-01 Andreas Schwab <schwab@suse.de>
4949
4950 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
4951 R_X86_64_64 to R_X86_64_RELATIVE.
4952
ba26fd96
AM
49532002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
4954
4955 * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
4956 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
4957 Run "make dep-am".
4958 * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
4959 host_aout_vec.
4960 * configure.in (vaxbsd_vec): Add.
4961 * targets.c (vaxbsd_vec): Add.
4962 * Makefile.in: Rebuild.
4963 * configure: Rebuild.
4964 * po/SRC-POTFILES.in: Rebuild.
4965
1e2f5b6e
AM
49662002-07-01 Alan Modra <amodra@bigpond.net.au>
4967
4968 * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
4969 examining to gc_mark_hook, rather than the bfd.
4970 (elf_gc_sections): Adjust.
4971 * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
4972 * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
4973 * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
4974 * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
4975 * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
4976 * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
4977 * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
4978 * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
4979 * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
4980 * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
4981 * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
4982 * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
4983 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
4984 * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
4985 * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
4986 * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
4987 * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
4988 * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
4989 * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
4990 * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
4991 * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
4992 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
4993 * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
4994 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
4995 * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
4996 * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
4997 * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
4998 * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
4999 redundant local sym tests.
5000 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
5001 (link_hash_newfunc): Init is_entry.
5002 (ppc64_elf_copy_indirect_symbol): Copy is_entry.
5003 (ppc64_elf_link_hash_table_create): Init all_local_syms.
5004 (create_linkage_sections): Use bfd_make_section_anyway rather than
5005 bfd_make_section.
5006 (ppc64_elf_mark_entry_syms): New function.
5007 (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
5008 up opd entry to function section map.
5009 (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
5010 relocs that reference the opd section.
5011 (edit_opd): New function.
5012 (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
5013 (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
5014 (get_local_syms): Do so here. Exit if we already have local syms.
5015 Remove bogus comment imported from elf32-hppa.c. Don't attempt to
5016 read local syms on non-ELF input.
5017 (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
5018 than duplicating it's function here. Adjust free of internal
5019 relocs to suit.
5020 (ppc64_elf_relocate_section): Adjust local syms in opd section.
5021 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
5022 * elf32-hppa.c (elf32_hppa_size_stubs): Call
5023 _bfd_elf32_link_read_relocs rather than duplicating it's function
5024 here. Adjust free of internal relocs to suit.
5025
1b71fb54
AJ
50262002-07-01 Andreas Jaeger <aj@suse.de>
5027
5028 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
5029 are not allowed in shared libs code, enforce -fPIC.
5030
8d28f606
HPN
50312002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
5032
5033 * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
5034 trailing zero-sequences when there's previous left-over data.
5035
5ac81c74
JL
50362002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
5037
5038 * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
5039 (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
5040 and opd_rel_sec in order for starting rela section. Check _raw_size.
5041 (elf_backend_reloc_type_class): Define.
5042
91a4d569
AM
50432002-06-27 Kevin Buettner <kevinb@redhat.com>
5044
5045 * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
5046 DWARF2 formats.
5047
feee612b
AM
50482002-06-27 Alan Modra <amodra@bigpond.net.au>
5049
5050 * cpu-powerpc.c: Comment on ordering of arch_info.
5051 * elf32-ppc.c (ppc_elf_object_p): New function.
5052 (elf_backend_object_p): Define.
5053 * elf64-ppc.c (ppc64_elf_object_p): New function.
5054 (elf_backend_object_p): Define.
5055
a4e6cefc
JT
50562002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
5057
5058 * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
5059 * configure: Regenerate.
5060
dae2dd0d
NC
50612002-06-25 Jason Eckhardt <jle@rice.edu>
5062
5063 * dwarf2.c (decode_line_info): Check unit->addr_size
5064 to read in the proper number of prologue bytes.
5065
680f9d5c
NC
50662002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
5067
5068 * config.bfd (powerpc-*-aix5*): Only create a selvecs for
5069 aix5coff64_vec if 64-bit bfd support has been enabled.
91a4d569
AM
5070 (powerpc64-*-aix5*): Only define if 64-bit bfd support has
5071 been enabled.
dae2dd0d 5072
680f9d5c
NC
5073 * targets.c (_bfd_target_vector[]): Only include
5074 aix5coff64_vec if 64-bit bfd support has been enabled.
5075
d4c88bbb
AM
50762002-06-25 Alan Modra <amodra@bigpond.net.au>
5077
5078 * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
5079 * elf32-hppa.c (hppa_add_stub): Likewise.
5080 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
5081 * elflink.h (elf_add_default_symbol): Fix comment typo.
5082 (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
5083 (elf_link_add_object_symbols): Likewise.
5084 (elf_link_assign_sym_version): Likewise.
5085 * hash.c (bfd_hash_lookup): Likewise.
5086 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
5087 * section.c (bfd_get_unique_section_name): Likewise.
5088 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
5089 * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
5090 (assign_section_numbers): Likewise.
5091 (_bfd_elfcore_make_pseudosection): Likewise.
5092 (elfcore_grok_lwpstatus): Likewise.
5093 (elfcore_grok_win32pstatus): Likewise.
5094 (elfcore_write_note): Constify input params. Use PTR instead of
5095 void *. Include terminating NUL in namesz. Correct padding.
5096 Support NULL "name" param. Use memcpy instead of strcpy.
5097 (elfcore_write_prpsinfo): Constify input params.
5098 (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
5099 (elfcore_write_lwpstatus): Likewise.
5100 (elfcore_write_pstatus): Likewise.
5101 (elfcore_write_prfpreg): Likewise.
5102 (elfcore_write_prxfpreg): Likewise.
5103 * elf-bfd.h (elfcore_write_note): Update declaration.
5104 (elfcore_write_prpsinfo): Likewise.
5105 (elfcore_write_prstatus): Likewise.
5106 (elfcore_write_pstatus): Likewise.
5107 (elfcore_write_prfpreg): Likewise.
5108 (elfcore_write_prxfpreg): Likewise.
5109 (elfcore_write_lwpstatus): Likewise.
5110
b0ac09d2
NC
51112002-06-25 Jason Eckhardt <jle@rice.edu>
5112
5113 * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
5114 symbols of type stProc and stStaticProc.
5115
51162002-06-25 Nick Clifton <nickc@redhat.com>
5117
5118 * ecoff.c: VArious formatting fixes.
5119
021d6096
AM
51202002-06-25 Alan Modra <amodra@bigpond.net.au>
5121
5122 * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
5123
82e51918
AM
51242002-06-25 Alan Modra <amodra@bigpond.net.au>
5125
5126 * aout-adobe.c: Don't compare against "true" or "false.
5127 * aout-target.h: Likewise.
5128 * aoutx.h: Likewise.
5129 * archive.c: Likewise.
5130 * bout.c: Likewise.
5131 * cache.c: Likewise.
5132 * coff-a29k.c: Likewise.
5133 * coff-alpha.c: Likewise.
5134 * coff-i386.c: Likewise.
5135 * coff-mips.c: Likewise.
5136 * coff-or32.c: Likewise.
5137 * coff64-rs6000.c: Likewise.
5138 * coffcode.h: Likewise.
5139 * coffgen.c: Likewise.
5140 * cpu-ns32k.c: Likewise.
5141 * ecoff.c: Likewise.
5142 * ecofflink.c: Likewise.
5143 * elf.c: Likewise.
5144 * elf32-arm.h: Likewise.
5145 * elf32-cris.c: Likewise.
5146 * elf32-d30v.c: Likewise.
5147 * elf32-i386.c: Likewise.
5148 * elf32-mcore.c: Likewise.
5149 * elf32-ppc.c: Likewise.
5150 * elf32-sh.c: Likewise.
5151 * elf32-sh64.c: Likewise.
5152 * elf32-v850.c: Likewise.
5153 * elf64-alpha.c: Likewise.
5154 * elf64-sh64.c: Likewise.
5155 * elfcode.h: Likewise.
5156 * elfcore.h: Likewise.
5157 * elflink.h: Likewise.
5158 * elfxx-mips.c: Likewise.
5159 * i386os9k.c: Likewise.
5160 * ieee.c: Likewise.
5161 * libbfd.c: Likewise.
5162 * linker.c: Likewise.
5163 * mmo.c: Likewise.
5164 * nlm32-alpha.c: Likewise.
5165 * nlm32-i386.c: Likewise.
5166 * nlm32-ppc.c: Likewise.
5167 * nlm32-sparc.c: Likewise.
5168 * nlmcode.h: Likewise.
5169 * oasys.c: Likewise.
5170 * pdp11.c: Likewise.
5171 * peicode.h: Likewise.
5172 * reloc.c: Likewise.
5173 * som.c: Likewise.
5174 * srec.c: Likewise.
5175 * tekhex.c: Likewise.
5176 * vms.c: Likewise.
5177 * xcofflink.c: Likewise.
5178 * elf64-sparc.c: Edit comment to not use "== false".
5179
5180 * aoutf1.h: Don't use "? true : false".
5181 * ecoff.c: Likewise.
5182 * format.c: Likewise.
5183 * ieee.c: Likewise.
5184 * linker.c: Likewise.
5185 * mmo.c: Likewise.
5186 * oasys.c: Likewise.
5187
48fc70a2
AM
51882002-06-23 H.J. Lu <hjl@gnu.org>
5189
5190 * elflink.h (elf_link_add_archive_symbols): For the default
5191 version, check references with only one `@' first.
5192
47b7c2db
AM
51932002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
5194
5195 * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
5196 function.
5197 (allocate_global_data_dlt): Don't add millicode symbols to dynamic
5198 symbol table.
5199 (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
5200 (elf64_hppa_size_dynamic_sections): Revise to use
5201 elf64_hppa_mark_milli_and_exported_functions.
5202 (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
5203 symbols out of dynamic symbol table.
5204
f5d44ba0
AM
52052002-06-23 Alan Modra <amodra@bigpond.net.au>
5206
bb3fff1e
AM
5207 * Makefile.in: Regenerate.
5208 * libbfd.h: Regenerate.
5209 * bfd-in2.h: Regenerate.
5210 * configure: Regenerate.
5211 * po/SRC-POTFILES.in: Regenerate.
5212
f5d44ba0
AM
5213 * elflink.h: Comment typo fixes.
5214
52152002-06-23 H.J. Lu <hjl@gnu.org>
5216
5217 * elf-bfd.h (elf_link_loaded_list): New structure.
5218 (elf_link_hash_table): Add "loaded".
5219 * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
5220 * elflink.h (elf_link_check_versioned_symbol): New function.
5221 (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
5222
cc36acdf
NC
52232002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
5224
5225 * elflink.h (size_dynamic_sections): If the target does not
f5d44ba0 5226 support an ELF style hash table, return true, indicating that
cc36acdf
NC
5227 nothing needed to be done, rather than false, indicating that the
5228 section's size could not be computed.
5229
4e5ba5b7
DB
52302002-06-18 Dave Brolley <brolley@redhat.com>
5231
5232 From Catherine Moore, Michael Meissner, Dave Brolley:
5233 * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
5234 * targets.c: Support bfd_elf32_frv_vec.
5235 * reloc.c: Add FRV relocs.
5236 * configure.in: Add support for bfd-elf32-frv-vec.
5237 * config.bfd (targ_cpu): Add support for frv-*-elf.
5238 * archures.c: Add frv arch and machines.
5239 * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
5240 (ALL_MACHINES_CFILES): Add cpu-frv.c.
5241 (BFD32_BACKENDS): Add elf32-frv.lo.
5242 (BFD32_BACKENDS_CFILES): Add elf32-frv.c
5243 (cpu-frv.lo): New target.
5244 (elf32-frv.lo): New target.
5245 * cpu-frv.c: New file.
5246 * elf32-frv.c: New file.
5247
7ece0d85
JJ
52482002-06-18 Jakub Jelinek <jakub@redhat.com>
5249
5250 * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
5251 e_shnum == 0.
5252 Only read the first section header if e_shoff is non-zero.
5253 Don't consider e_shstrndx if there are no sections.
5254
57fb03ac
TR
52552002-06-17 Tom Rix <trix@redhat.com>
5256
5257 * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
f5d44ba0 5258 R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
57fb03ac
TR
5259 complain_overflow_bitfield.
5260
341ca622
AM
52612002-06-17 Alan Modra <amodra@bigpond.net.au>
5262
767e34d1
AM
5263 * opncls.c (bfd_openr): Remove redundant bfd_set_error.
5264 (bfd_fdopenr): Likewise.
5265 (bfd_openstreamr): Likewise.
5266 (bfd_openw): Likewise.
5267
341ca622
AM
5268 * targets.c: Sort target vecs.
5269 (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
5270 bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
5271 bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
5272 bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
5273 * configure.in: Sort target vecs. Add m88kmach3_vec.
5274 * configure: Regenerate.
5275
dfbbae4c
HPN
52762002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
5277
5278 * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
5279 bpo_reloc_no to break sort order ties, not address of items.
5280
d663e1cd
JL
52812002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5282
5283 * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
5284 Skip excluded sections in determing __gp value.
5285 (elf_hppa_final_link_relocate): Use the symbol's address in
5286 R_PARISC_FPTR64 relocations that don't need an opd entry.
5287 * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
5288 (elf64_hppa_finalize_dynreloc): Likewise.
5289 (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
5290 (elf64_hppa_finish_dynamic_symbol): Break up assert.
5291
a8295218
NC
52922002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
5293
5294 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
5295 alignment for .bss, .data and .text sections so that sse and sse2
5296 code will work.
5297 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
5298
52992002-06013 J"orn Rennecke <joern.rennecke@superh.com>
5d9b5481
JR
5300
5301 config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
5302 sh[1234]*-elf*.
5303
3db4b612
JL
53042002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
5305
2cb69dd3
JL
5306 * elflink.h (elf_bfd_final_link): Improve error handling for missing
5307 dynamic sections.
5308
3db4b612
JL
5309 * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
5310 for a symbol that has no output section.
5311 (allocate_dynrel_entries): Correct comment.
5312 (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
5313 unless we want one.
5314 (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
5315 (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
5316 with no section. Remove unnecessary parentheses.
5317
f3813499
TR
53182002-06-11 Tom Rix <trix@redhat.com>
5319
5320 * coffcode.h (coff_compute_section_file_positions): Add data
5321 section to AIX loader alignment check.
5322
f5d44ba0 5323 * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
f3813499
TR
5324 alignment to 4 bytes.
5325 (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
5326 power accessor macro.
5327 (do_shared_object_padding): Remove invalid assertion.
5328
0ebaf185
RS
53292002-06-10 Richard Sandiford <rsandifo@redhat.com>
5330
5331 * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
5332 for removed output sections.
5333
ebe3e2d1
NC
53342002-06-10 Geoffrey Keating <geoffk@redhat.com>
5335
5336 * merge.c (merge_strings): Use htab_create_alloc with calloc, not
5337 htab_alloc.
5338 * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
5339
0b14c2aa
L
53402002-06-08 H.J. Lu <hjl@gnu.org>
5341
5342 * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
5343 work around a long long bug in gcc 2.96 on mips.
5344
3c2bfad6
JT
53452002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5346
5347 * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
5348 (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
5349 Regenerate dependency lists.
5350 * Makefile.in: Regenerate.
5351 * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
5352 vax1knetbsd_vec to targ_selvecs.
5353 * configure.in: Add vax1knetbsd_vec.
5354 * configure: Regenerate.
5355 * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
5356 * vax1knetbsd.c: New file.
5357 * vaxnetbsd.c: Update copyright years.
5358 (TARGET_PAGE_SIZE): Set to 0x1000.
5359 (DEFAULT_MID): Set to M_VAX4K_NETBSD.
5360
91149be3
JT
53612002-06-08 Matt Thomas <matt@3am-software.com>
5362
5363 * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
5364
21e15248
AM
53652002-06-08 Alan Modra <amodra@bigpond.net.au>
5366
5367 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
5368
986b7daa
AM
53692002-06-08 Alan Modra <amodra@bigpond.net.au>
5370
e90b95f6
AM
5371 * Makefile.am: Run "make dep-am".
5372 * Makefile.in: Regenerate.
5373
3f9c735e
AM
5374 * armnetbsd.c: Replace CONST with const.
5375 * corefile.c: Likewise.
5376 * elf32-dlx.c: Likewise.
5377 * elf64-mips.c: Likewise.
5378 * mmo.c: Likewise.
5379 * ns32knetbsd.c: Likewise.
5380
986b7daa
AM
5381 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
5382 table is elf64-sparc.
5383
5a659663
TS
53842002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5385
5386 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
5387 Fix RELA addends to get not shifted in the result. Don't do special
5388 handling of R_MIPS_64 for NewABI.
5389
9bab7074
AM
53902002-06-07 Alan Modra <amodra@bigpond.net.au>
5391
5392 * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
5393 (NAME(aout,slurp_reloc_table)): Likewise.
5394 * coff-mips.c (mips_relax_section): Use bfd_zalloc.
5395 * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
5396 (xcoff_write_archive_contents_big): Likewise.
5397 (xcoff_generate_rtinit): Likewise.
5398 (xcoff_generate_rtinit): Likewise, and check error return.
5399 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
5400 * coffgen.c (coff_section_symbol): Use bfd_zalloc.
5401 (coff_get_normalized_symtab): Likewise.
5402 (coff_make_empty_symbol): Likewise.
5403 (bfd_coff_set_symbol_class): Likewise.
5404 * cofflink.c (coff_link_add_symbols): Likewise.
5405 * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
5406 * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
5407 (bfd_ecoff_write_accumulated_debug): Likewise.
5408 * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
5409 * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
5410 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
5411 * ieee.c (do_with_relocs): Use bfd_zalloc.
5412 * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
5413 * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
5414 (NAME(aout,slurp_reloc_table)): Likewise.
5415 (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
5416 * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
5417 * som.c (som_build_and_write_symbol_table): Likewise.
5418 (som_slurp_string_table): Likewise.
5419 (som_slurp_symbol_table): Likewise.
5420 (som_bfd_ar_write_symbol_stuff): Likewise.
5421 * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
5422 * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
5423 * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
5424 * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
5425 * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
5426
1126897b
AM
54272002-06-07 Alan Modra <amodra@bigpond.net.au>
5428
5429 * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
5430 "group" union.
5431 (elf_group_name): Update.
5432 (elf_group_id): Define.
5433 (bfd_elf_set_group_contents): Declare.
5434 * elf.c (elf_fake_sections): Qualify use of elf_group_name.
5435 (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
5436 ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
5437 that sym for the signature.
5438 (_bfd_elf_compute_section_file_positions): Don't call
5439 set_group_contents for "ld -r" case.
5440 (swap_out_syms): Use bfd_zalloc.
5441 * elflink.h (elf_link_add_archive_symbols): Likewise.
5442 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
5443 (elf_bfd_final_link): Call bfd_elf_set_group_contents.
5444
3fad3c7c
AM
54452002-06-07 Alan Modra <amodra@bigpond.net.au>
5446
5447 * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
5448 relocs in opd for non-shared too.
5449
10f469bf 54502002-06-06 Jeffrey Law <law@redhat.com>
76f99c63
JL
5451
5452 * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
5453 relocations.
5454
7217313c
NC
54552002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
5456
5457 * merge.c: Include libiberty.h.
5458 * elf-strtab.c: Include libiberty.h.
5459
6cb22815
AM
54602002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
5461
5462 * peXXigen.c (pe_print_idata): Remove unused variable.
5463
1ed89aa9
NC
54642002-06-06 David Heine <dlheine@tensilica.com>
5465
5466 * elf.c (assign_file_positions_for_segments): Remove unallocated
5467 sections from the section to segment mapping for PT_LOAD segments.
5468 Update comment about empty loadable segments.
5469
644c4c80
RS
54702002-06-06 Richard Sandiford <rsandifo@redhat.com>
5471
5472 * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
5473 is within the .stabstr section.
5474
f8ecb12b
AM
54752002-06-06 Alan Modra <amodra@bigpond.net.au>
5476
5477 * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
5478 are "const PTR", not "const PTR *".
5479 (bfd_elf32_swap_symbol_in): Likewise.
5480 (bfd_elf64_swap_symbol_in): Likewise.
5481 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
5482 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
5483 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
5484 (elf_link_add_object_symbols): Likewise.
5485 (elf_link_record_local_dynamic_symbol): Likewise.
5486 (elf_link_input_bfd): Likewise.
5487 (elf_gc_mark): Likewise.
5488 (elf_reloc_symbol_deleted_p): Likewise.
5489 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
5490 (mn10200_elf_relax_delete_bytes): Likewise.
5491 (mn10200_elf_symbol_address_p): Likewise.
5492 (mn10200_elf_get_relocated_section_contents): Likewise.
5493 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
5494 (mn10300_elf_relax_section): Likewise.
5495 (mn10300_elf_relax_delete_bytes): Likewise.
5496 (mn10300_elf_symbol_address_p): Likewise.
5497 (mn10300_elf_get_relocated_section_contents): Likewise.
5498 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
5499 (elf32_h8_relax_delete_bytes): Likewise.
5500 (elf32_h8_symbol_address_p): Likewise.
5501 (elf32_h8_get_relocated_section_contents): Likewise.
5502 * elf32-hppa.c (get_local_syms): Likewise.
5503 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
5504 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
5505 * elf32-sh.c (sh_elf_relax_section): Likewise.
5506 (sh_elf_relax_delete_bytes): Likewise.
5507 (sh_elf_get_relocated_section_contents): Likewise.
5508 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
5509 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
5510 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
5511 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
5512 * elf64-ppc.c (get_local_syms): Likewise.
5513 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
5514 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
5515
1ed89aa9 55162002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
7a33bc10
JR
5517
5518 * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
5519
73ff0d56
AM
55202002-06-05 Alan Modra <amodra@bigpond.net.au>
5521
9dce4196
AM
5522 * elf.c (group_signature): Swap in the whole symbol, and handle
5523 extracting section symbol names.
5524 (setup_group): Add comment.
5525 (set_group_contents): When called from objcopy or ld, arrange for
5526 section contents to be written. Write group member output section
5527 indices to allow objcopy to reorganize sections.
5528 (_bfd_elf_copy_private_section_data): Copy group info.
5529
73ff0d56
AM
5530 * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
5531 (bfd_elf32_swap_symbol_in): Update prototype.
5532 (bfd_elf64_swap_symbol_in): Likewise.
5533 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
5534 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
5535 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
5536 (elf_link_add_object_symbols): Likewise.
5537 (elf_link_record_local_dynamic_symbol): Likewise.
5538 (elf_link_input_bfd): Likewise.
5539 (elf_gc_mark): Likewise.
5540 (elf_reloc_symbol_deleted_p): Likewise.
5541 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
5542 (mn10200_elf_relax_delete_bytes): Likewise.
5543 (mn10200_elf_symbol_address_p): Likewise.
5544 (mn10200_elf_get_relocated_section_contents): Likewise.
5545 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
5546 (mn10300_elf_relax_section): Likewise.
5547 (mn10300_elf_relax_delete_bytes): Likewise.
5548 (mn10300_elf_symbol_address_p): Likewise.
5549 (mn10300_elf_get_relocated_section_contents): Likewise.
5550 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
5551 (elf32_h8_relax_delete_bytes): Likewise.
5552 (elf32_h8_symbol_address_p): Likewise.
5553 (elf32_h8_get_relocated_section_contents): Likewise.
5554 * elf32-hppa.c (get_local_syms): Likewise.
5555 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
5556 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
5557 * elf32-sh.c (sh_elf_relax_section): Likewise.
5558 (sh_elf_relax_delete_bytes): Likewise.
5559 (sh_elf_get_relocated_section_contents): Likewise.
5560 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
5561 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
5562 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
5563 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
5564 * elf64-ppc.c (get_local_syms): Likewise.
5565 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
5566 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
5567 * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
5568 * elf64-alpha.c (alpha_elf_size_info): Likewise.
5569 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
5570 * elf64-mips.c (mips_elf64_size_info): Likewise.
5571 * elf64-s390.c (s390_elf64_size_info): Likewise.
5572 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
5573
53bfd6b4
MR
55742002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5575
5576 * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
5577 elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
5578 elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
5579 _bfd_mips_elf_ignore_discarded_relocs.
5580 elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
5581
d4df96e6
L
55822002-06-05 H.J. Lu <hjl@gnu.org>
5583
5584 * elfxx-mips.c (mips_elf_calculate_relocation): Call
5585 _bfd_elf_rel_local_sym for STT_SECTION relocations against
5586 the SEC_MERGE section.
5587
e61463e1
AM
55882002-06-05 Alan Modra <amodra@bigpond.net.au>
5589
3cac74d0
AM
5590 * coff-alpha.c: Update copyright date.
5591 * coff-mips.c: Likewise.
5592 * xcoff-target.h: Likewise.
5593
e61463e1
AM
5594 * bfd-in.h: Remove "taken from the source" comment.
5595 * libbfd-in.h: Likewise.
5596 * libcoff-in.h: Likewise.
5597 * bfd-in2.h: Regenerate.
5598 * libbfd.h: Regenerate.
5599 * libcoff.h: Regenerate.
5600
5601 * elf.c (bfd_elf_discard_group): Return true.
5602 * elf-bfd.h (bfd_elf_discard_group): Declare.
5603 * bfd-in.h (bfd_elf_discard_group): Don't declare here.
5604 * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
5605 * bfd.c (bfd_discard_group): Define.
5606 * targets.c (struct bfd_target): Add _bfd_discard_group.
5607 (BFD_JUMP_TABLE_LINK): Here too.
5608 * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
5609 * aout-adobe.c (aout_32_bfd_discard_group): Define.
5610 * aout-target.h (MY_bfd_discard_group): Define.
5611 * aout-tic30.c (MY_bfd_discard_group): Define.
5612 * binary.c (binary_bfd_discard_group): Define.
5613 * bout.c (b_out_bfd_discard_group): Define.
5614 * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
5615 * coffcode.h (coff_bfd_discard_group): Define.
5616 * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
5617 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
5618 * i386msdos.c (msdos_bfd_discard_group): Define.
5619 * i386os9k.c (os9k_bfd_discard_group): Define.
5620 * ieee.c (ieee_bfd_discard_group): Define.
5621 * ihex.c (ihex_bfd_discard_group): Define.
5622 * mmo.c (mmo_bfd_discard_group): Define.
5623 * nlm-target.h (nlm_bfd_discard_group): Define.
5624 * oasys.c (oasys_bfd_discard_group): Define.
5625 * ppcboot.c (ppcboot_bfd_discard_group): Define.
5626 * som.c (som_bfd_discard_group): Define.
5627 * srec.c (srec_bfd_discard_group): Define.
5628 * tekhex.c (tekhex_bfd_discard_group): Define.
5629 * versados.c (versados_bfd_discard_group): Define.
5630 * vms.c (vms_bfd_discard_group): Define.
5631 * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
5632 * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
5633 (aix5coff64_vec): Likewise.
5634 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
5635
9cba27b2
JT
56362002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
5637
5638 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
5639 (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
5640 (elf32-sh64-com.lo): New dependency list.
5641 * Makefile.in: Regenerate.
5642 * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
5643 (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
5644 elf32-sh64-com.lo.
5645 * configure: Regenerate.
5646 * elf32-sh64.c (sh64_address_in_cranges)
5647 (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
5648 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
5649 (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
5650 * elf32-sh64-com.c: ...here. New file.
5651
8d2c33be
AM
56522002-06-04 Alan Modra <amodra@bigpond.net.au>
5653
5654 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
5655 ATTRIBUTE_UNUSED on used params.
5656 * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
5657 before calling bfd_section_from_elf_index on local syms.
5658 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
5659
5b0e55b6
JT
56602002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
5661
5662 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
5663 (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
5664 (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
5665 (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
5666 (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
5667 * Makefile.in: Regenerate.
5668 * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
5669 (sh64-*-netbsd*): New targets.
5670 * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
5671 bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
5672 * configure: Regenerate.
5673 * elf32-sh64-nbsd.c: New file.
5674 * elf64-sh64-nbsd.c: New file.
5675 * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
5676 bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
5677 bfd_elf64_sh64lnbsd_vec.
5678
b885599b
AM
56792002-06-04 Alan Modra <amodra@bigpond.net.au>
5680
5681 * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
5682 (bfd_section_from_shdr): Likewise. Set section name of group
5683 sections from signature.
5684 (group_signature): Split out from setup_group. Ensure symbol table
5685 is available.
5686 (bfd_elf_discard_group): New function.
5687 (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
5688 .gnu.linkonce* sections if they are members of a group.
5689 (set_group_contents): Set GRP_COMDAT flag.
5690 * section.c (bfd_discard_group): New function.
5691 * bfd-in.h (bfd_elf_discard_group): Declare.
5692 * bfd-in2.h: Regenerate.
5693 * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
5694 (elf_linkonce_p): Define.
5695
90937f86
AM
56962002-06-04 Alan Modra <amodra@bigpond.net.au>
5697
5698 * elf.c (bfd_section_from_shdr): Make "name" const.
5699 * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
5700 * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
5701 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
5702 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
5703 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
5704 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
5705 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
5706 * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
5707 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
5708 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
5709 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
5710
cf6fb9ce
MR
57112002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5712
5713 * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
5714 ABI.
5715
cedb70c5
KH
57162002-06-02 Kazu Hirata <kazu@cs.umass.edu>
5717
5718 * elf32-arc.c: Fix formatting.
5719 * elf32-arm.h: Likewise.
5720 * elf32-cris.c: Likewise.
5721 * elf32-dlx.c: Likewise.
5722 * elf32-hppa.c: Likewise.
5723 * elf32-i386.c: Likewise.
5724 * elf32-i386qnx.c: Likewise.
5725 * elf32-or32.c: Likewise.
5726 * elf32-s390.c: Likewise.
5727 * elf32-sh64.c: Likewise.
5728 * elf32-vax.c: Likewise.
5729 * elf32-xstormy16.c: Likewise.
5730 * elf64-alpha.c: Likewise.
5731 * elf64-mmix.c: Likewise.
5732 * elf64-ppc.c: Likewise.
5733 * elf64-s390.c: Likewise.
5734 * elf64-sh64.c: Likewise.
5735 * elf64-x86-64.c: Likewise.
5736
048d873d
RH
57372002-06-02 Richard Henderson <rth@redhat.com>
5738
5739 * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
5740 null when there are no got entries for a symbol.
5741 (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
5742 uninitialized variable warning.
5743
4a67a098
RH
57442002-06-01 Richard Henderson <rth@redhat.com>
5745
5746 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
5747 undefined symbols here.
5748 (elf64_alpha_relax_section): Do it here. Also test for not
5749 defined in the current module.
5750 (elf64_alpha_relocate_section_r): Split out of ...
5751 (elf64_alpha_relocate_section): ... here. Don't dereference
5752 NULL when looking up local got entries.
5753
f44f99a5
RH
57542002-06-01 Richard Henderson <rth@redhat.com>
5755
5756 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
5757 symbols from JSR relaxation.
5758 (elf64_alpha_size_plt_section_1): New.
5759 (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
5760 (elf64_alpha_size_rela_got_1): ... here.
5761 (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
5762 (elf64_alpha_size_rela_got_section): ... here.
5763 (elf64_alpha_size_plt_section): New.
5764 (elf64_alpha_relax_section): Call them.
5765 (elf64_alpha_size_got_sections): Remove output_bfd arg.
5766 (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
5767
9e756d64
RH
57682002-06-01 Richard Henderson <rth@redhat.com>
5769
5770 * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
5771 (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
5772 in shared libraries. Fix DTPRELHI and TPRELHI value.
5773 (INSN_ADDQ, INSN_RDUNIQ): New.
5774 (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
5775 (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
5776 argument. Reject dynamic symbols. Use LITUSE symbolic constants.
5777 (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
5778 Handle GOTDTPREL and GOTTPREL relocations.
5779 (elf64_alpha_relax_gprelhilo): New.
5780 (elf64_alpha_relax_tls_get_addr): New.
5781 (elf64_alpha_relax_find_tls_segment): New.
5782 (elf64_alpha_relax_section): Handle TLS relocations.
5783 (ALPHA_ELF_LINK_HASH_TLS_IE): New.
5784 (elf64_alpha_check_relocs): Set it.
5785
c853d7f6
RH
57862002-06-01 Richard Henderson <rth@redhat.com>
5787
b646261c
RH
5788 * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
5789
c853d7f6
RH
5790 * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
5791 check; don't suppress dynamic relocs for non-allocated sections.
5792
d7e41a96
RH
5793 * elf64-alpha.c: Remove dead code.
5794
5f333394
AM
57952002-05-31 Alan Modra <amodra@bigpond.net.au>
5796
08e0ee05
AM
5797 * bfd-in2.h: Regenerate.
5798 * libbfd.h: Regenerate.
5799 * po/SRC-POTFILES.in: Regenerate.
5800
5f333394
AM
5801 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
5802 space for bss .plt.
5803
caf47ea6
AM
58042002-05-31 Graeme Peterson <gp@qnx.com>
5805
5806 * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
5807 (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
5808 Run "make dep-am".
5809 * Makefile.in: Regenerate.
5810 * config.bfd: Add i[3456]86-*-nto-qnx* support.
5811 * configure.in: Add bfd_elf32_i386qnx_vec support.
5812 * configure: Regenerate.
5813 * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
5814 is_contained_by_filepos, and copy_private_bfd_data_p.
5815 * elf.c (assign_file_positions_for_segments): Call backend
5816 set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
5817 (IS_CONTAINED_BY_FILEPOS): Define.
5818 (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
5819 (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
5820 Fix non-K&R call to _bfd_error_handler.
5821 (_bfd_elf_copy_private_section_data): Use backend
5822 copy_private_bfd_data_p.
5823 * elf32-i386.c: Don't include elfxx-target.h when
5824 ELF32_I386_C_INCLUDED is defined.
5825 * elf32-i386qnx.c: New QNX elf backend file.
5826 * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
5827 elf_backend_is_contained_by_filepos, and
5828 elf_backend_do_copy_private_bfd_data.
5829 * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
5830
5bc56484
AM
58312002-05-31 Alan Modra <amodra@bigpond.net.au>
5832
5833 * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
5834 Move other similar defines to start of file.
5835
1b164155
TR
58362002-05-30 Tom Rix <trix@redhat.com>
5837
5838 * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
5839 * coff64-rs6000.c (xcoff64_rtype2howto): Same.
5840
3765b1be
RH
58412002-05-30 Richard Henderson <rth@redhat.com>
5842
5843 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
5844 ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
5845 (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
5846 (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
5847 (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
5848 (struct alpha_elf_obj_tdata): Rename total_got_entries and
5849 n_local_got_entries to total_got_size and local_got_size.
5850 (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
5851 (alpha_got_entry_size): New.
5852 (elf64_alpha_relax_with_lituse): Use it.
5853 (elf64_alpha_relax_without_lituse): Likewise.
5854 (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
5855 (get_got_entry): New.
5856 (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
5857 (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
5858 (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
5859 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
5860 (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
5861 (elf64_alpha_calc_got_offsets): Likewise.
5862 (alpha_dynamic_entries_for_reloc): New.
5863 (elf64_alpha_calc_dynrel_sizes): Use it.
5864 (elf64_alpha_size_dynamic_sections): Likewise.
5865 (elf64_alpha_relocate_section): Handle TLS relocations.
5866 * reloc.c: Add Alpha TLS relocations.
5867 * bfd-in2.h, libbfd.h: Rebuild.
5868
5e226794
NC
58692002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
5870
5871 * peXXigen.c (pe_print_idata): Remove double printed
5872 import table lines; add Bound-To comment.
5873
90ace9e9
JT
58742002-05-29 Matt Thomas <matt@3am-software.com>
5875
5876 * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
5877 (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
5878 (elf32-vax.lo): New rule.
5879 * Makefile.in: Regenerate.
5880 * configure.in (bfd_elf32_vax_vec)
5881 (vaxnetbsd_vec): New vectors.
5882 * configure: Regenerate.
5883 * config.bfd (vax-*-netbsdelf*)
5884 (vax-*-netbsdaout*)
5885 (vax-*-netbsd*): New targets.
5886 * elf32-vax.c: New file.
5887 * reloc.c: Add VAX relocations.
5888 * bfd-in2.h: Regenerate.
5889 * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
5890
4a253e81
JT
58912002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5892
5893 * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
5894 and bfd_elf32_bigarm_vec to targ_selvecs.
5895
6e7c73dd
CF
58962002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
5897
5898 * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
5899 with auto-imported symbols.
5900
8afb0e02
NC
59012002-05-29 Adam Nemet <anemet@lnxw.com>
5902
5903 * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
5904 sections only record bfd.
9bab7074 5905 (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8afb0e02 5906 * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
9bab7074 5907 * bfd-in2.h: Regenerate.
8afb0e02 5908
a95653f5
NC
59092002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
5910
5911 * syms.c (_bfd_stab_section_find_nearest_line): Move
5912 declaration and initialisation of saw_line and saw_func out of
5913 for loop.
5914
7cdc5bba
AM
59152002-05-29 Alan Modra <amodra@bigpond.net.au>
5916
5917 * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
5918 (bfd_elf64_get_symbol_info): Define.
5919 * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
5920
4c7aad1c
AM
59212002-05-29 Andrey Volkov <avolkov@transas.com>
5922
5923 * cpu-h8300.c: Make default h8300 machine first in machine list.
5924
d172d4ba
NC
59252002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
5926
5927 * config.bfd: Added DLX configuraton.
5928 * Makefile.am: Added DLX configuraton.
5929 * configure.in: Added DLX configuraton.
5930 * archures.c: Add DLX architecure.
5931 * reloc.c: Add DLX relocs.
5932 * targets.c: Added DLX target vector.
5933 * configure: Regenerate.
5934 * Makefile.in: Regenreate.
5935 * bfd-in2.h: Regenreate.
5936 * elf32-dlx.c: New file: Support DLX target.
5937 * cpu-dlx.c: New file: Support DLX target.
5938
d1329ca3
AM
59392002-05-25 Alan Modra <amodra@bigpond.net.au>
5940
428d0de3
AM
5941 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
5942
d1329ca3
AM
5943 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
5944 (ppc64_elf_check_relocs): Don't set up function descriptor symbol
5945 strings to point inside function code sym string.
5946 (func_desc_adjust): Likewise.
5947 (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
5948
3bab7989
ML
59492002-05-24 Michal Ludvig <mludvig@suse.cz>
5950
5951 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
5952 (elf64_x86_64_grok_psinfo): Added.
5953
436e8db0
NC
59542002-05-24 TAMURA Kent <kent@netbsd.org>
5955
5956 * config.bfd: Add a target for i386-netbsdpe.
5957
ea1e4b0d
AM
59582002-05-24 Alan Modra <amodra@bigpond.net.au>
5959
5960 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
5961 and is_func_descriptor.
5962 (func_desc_adjust): Hide function code sym in shared libs unless
5963 there is a matching exported function descriptor sym.
5964
13ae64f3
JJ
59652002-05-23 Jakub Jelinek <jakub@redhat.com>
5966
5967 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
5968 for symbols from SHF_TLS section.
5969 (_bfd_elf_print_private_bfd_data): Add PT_TLS.
5970 (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
5971 (map_sections_to_segments): Build PT_TLS segment if necessary.
5972 (assign_file_positions_for_segments): Likewise.
5973 (get_program_header_size): Account for PT_TLS segment.
5974 (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
5975 SEC_THREAD_LOCAL sections to STT_TLS.
5976 * reloc.c: Add 386 and IA-64 TLS relocs.
5977 * section.c (SEC_THREAD_LOCAL): Define.
5978 (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
5979 Remove.
5980 * elflink.h (elf_link_add_object_symbols): Support .tcommon.
5981 (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
5982 unconditionally.
5983 (struct elf_final_link_info): Add first_tls_sec.
5984 (elf_bfd_final_link): Set first_tls_sec.
5985 Compute elf_hash_table (info)->tls_segment.
5986 (elf_link_output_extsym): Handle STT_TLS symbols.
5987 (elf_link_input_bfd): Likewise.
5988 * syms.c (BSF_THREAD_LOCAL): Define.
5989 * bfd-in2.h: Rebuilt.
5990 * libbfd.h: Rebuilt.
5991 * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
5992 elf_i386_mkobject, elf_i386_object_p): New functions.
5993 (elf_howto_table): Add TLS relocs.
5994 (elf_i386_reloc_type_lookup): Support TLS relocs.
5995 (elf_i386_info_to_howto_rel): Likewise.
5996 (struct elf_i386_link_hash_entry): Add tls_type.
5997 (struct elf_i386_obj_tdata): New.
5998 (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
5999 New macros.
6000 (struct elf_i386_link_hash_table): Add tls_ldm_got.
6001 (link_hash_newfunc): Clear tls_type.
6002 (elf_i386_check_relocs): Support TLS relocs.
6003 (elf_i386_gc_sweep_hook): Likewise.
6004 (allocate_dynrelocs): Likewise.
6005 (elf_i386_size_dynamic_sections): Likewise.
6006 (elf_i386_relocate_section): Likewise.
6007 (elf_i386_finish_dynamic_symbol): Likewise.
6008 (bfd_elf32_mkobject, elf_backend_object_p): Define.
6009 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
6010 dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
6011 want_tprel, want_dtpmod, want_dtprel.
6012 (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
6013 (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
6014 R_IA64_LTOFF_TPREL22.
6015 (elf_code_to_howto_index): Add TLS relocs.
6016 (elfNN_ia64_check_relocs): Support TLS relocs.
6017 (allocate_global_data_got): Account for TLS .got data.
6018 (allocate_dynrel_entries): Account for TLS dynamic relocations.
6019 (elfNN_ia64_install_value): Supprt TLS relocs.
6020 (set_got_entry): Support TLS relocs.
6021 (elfNN_ia64_relocate_section): Likewise.
6022
c62e1cc3
NC
60232002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
6024
6025 * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
6026 BLX reloc round the relocation up rather than down.
6027 * coff-arm.c (coff_arm_relocate_section): Likewise.
6028
c5a43a5d
L
60292002-05-21 H.J. Lu (hjl@gnu.org)
6030
6031 * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
6032 definition.
6033
afbe61cf
AM
60342002-05-22 Alan Modra <amodra@bigpond.net.au>
6035
6036 * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
6037 (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
6038
9c07fe7c
AM
60392002-05-22 Alan Modra <amodra@bigpond.net.au>
6040
6041 * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
6042 unresolved relocs.
6043 (ppc64_elf_size_dynamic_sections): Check for splt NULL.
6044
21611032
TS
60452002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6046
c5cd6d62 6047 * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
21611032
TS
6048 non-ELF targets.
6049
41241523
TS
60502002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6051
6052 * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
6053 an error value.
6054 * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
6055 return with false on error.
6056 (elf_link_input_bfd): Check reloc_emitter return value.
6057
658f2588
JT
60582002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
6059
6060 * config.bfd (armeb-*-netbsdelf*): New target.
6061
c862ae31
AM
60622002-05-20 Alan Modra <amodra@bigpond.net.au>
6063
6064 * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
6065 at the plt call stub.
6066
6dd14845
TS
60672002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6068
6069 * cpu-mips.c (mips_compatible): Don't try to check machine
6070 compatibility.
6071
a58d9c34
TR
60722002-05-18 Tom Rix <trix@redhat.com>
6073
6074 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
6075
ef60b7ff
AM
60762002-05-17 Alan Modra <amodra@bigpond.net.au>
6077
6078 * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
6079 (ppc64_elf_relocate_section): Don't warn about reloc overflow when
6080 we've already warned about an undefined symbol. Report more
6081 detail on reloc errors.
6082
a703a6ea
AM
60832002-05-17 Alan Modra <amodra@bigpond.net.au>
6084
6085 * acinclude.m4 (AM_INSTALL_LIBBFD): New.
6086 * configure.in: Invoke AM_INSTALL_LIBBFD.
6087 * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
6088 (install_libbfd): .. New target.
6089 (uninstall_libbfd): Likewise.
6090 (install-bfdlibLTLIBRARIES): Likewise.
6091 (uninstall-bfdlibLTLIBRARIES): Likewise.
6092 (bfdlibdir): New.
6093 (bfdincludedir): New.
6094 (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
6095 * aclocal.m4: Regenerate.
6096 * configure: Regenerate.
6097 * Makefile.in: Regenerate.
6098
2c13d98b
NC
60992002-05-17 Stuart Balfour <sbalfour@cisco.com>
6100
6101 * hash.c (bfd_hash_lookup): Remove computation of len from inside
6102 hash loop.
6103
629936c5
NC
61042002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
6105
6106 * config.bfd: Add targets for sh64-linux (little endian and
6107 big endian).
6108
e4cf60a8
NC
61092002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
6110
6111 * peXXigen.c (pe_print_idata): Do not assume that the first thunk
6112 is located in the same section as the import table. Instead
6113 check, and if necessary load the section containing the thunk.
6114
d1e66cd4
NC
61152002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
6116
6117 * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
ea1e4b0d
AM
6118 bfd_bread.
6119 (xcoff64_core_file_matches_executable_p): Replace bfd_read
6120 with bfd_bread.
d1e66cd4 6121
2d653fc7
AM
61222002-05-15 Alan Modra <amodra@bigpond.net.au>
6123
6124 * aix5ppc-core.c: Warning fixes.
6125 * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
6126 * aout-target.h (MY_bfd_link_just_syms): Define.
6127 * aout-tic30.c (MY_bfd_link_just_syms): Define.
6128 * bfd.c (bfd_link_just_syms): Define.
6129 * binary.c (binary_bfd_link_just_syms): Define.
6130 * bout.c (b_out_bfd_link_just_syms): Define.
6131 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
6132 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
6133 * coffcode.h (coff_bfd_link_just_syms): Define.
6134 * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
6135 (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
6136 (_bfd_elf_link_just_syms): Declare.
6137 * elf.c (_bfd_elf_link_just_syms): New function.
6138 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
6139 sections haven't already been discarded by the linker.
6140 * elflink.h (elf_link_add_object_symbols): Likewise for stab
6141 sections and SEC_MERGE sections.
6142 (elf_bfd_discard_info): Similarly here.
6143 * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
6144 * i386msdos.c (msdos_bfd_link_just_syms): Define.
6145 * i386os9k.c (os9k_bfd_link_just_syms): Define.
6146 * ieee.c (ieee_bfd_link_just_syms): Define.
6147 * ihex.c (ihex_bfd_link_just_syms): Define.
6148 * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
6149 (_bfd_generic_link_just_syms): Declare.
6150 * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
6151 * linker.c (_bfd_generic_link_just_syms): New function.
6152 * mmo.c (mmo_bfd_link_just_syms): Define.
6153 * nlm-target.h (nlm_bfd_link_just_syms): Define.
6154 * oasys.c (oasys_bfd_link_just_syms): Define.
6155 * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
6156 * som.c (som_bfd_link_just_syms): Define.
6157 * srec.c (srec_bfd_link_just_syms): Define.
6158 * targets.c (struct bfd_target): Add _bfd_link_just_syms.
6159 (BFD_JUMP_TABLE_LINK): And here.
6160 * tekhex.c (tekhex_bfd_link_just_syms): Define.
6161 * versados.c (versados_bfd_link_just_syms): Define.
6162 * vms.c (vms_bfd_link_just_syms): Define.
6163 * libbfd.h: Regenerate.
6164 * bfd-in2.h: Regenerate.
6165
cb7394f2
TS
61662002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6167
6168 * elf32-mips.c: Remove superfluous definitions copied from
6169 elfxx-mips.c.
6170 (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
6171 SGIish vectors to check the special case.
6172 (mips_elf_hi16_reloc): Fix comment.
6173 (mips_elf_got16_reloc): Likewise.
6174 (_bfd_mips_elf32_gprel16_reloc): Likewise.
6175 (elf_reloc_map): Code cleanup.
6176 (mips_reloc_map): Add comment.
6177 (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
6178 (mips_elf32_rtype_to_howto): Likewise.
6179 (mips_elf32_discard_info): Likewise.
6180 (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
6181 lead to IRIX compatibility now.
6182
8dc1a139
TS
61832002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6184
6185 * elfxx-mips.c: Call it IRIX, not Irix in comments.
6186
2051e1b5
JT
61872002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
6188
6189 * config.bfd (shle-*-netbsdelf*): Add target which includes
6190 sh64 support.
6191
83954261
AM
61922002-05-13 David Edelsohn <edelsohn@gnu.org>
6193
6194 * configure.in: Revert 2002-04-07. Instead, auto-configure
6195 HAVE_ST_C_IMPL.
6196 * configure: Regenerate.
6197 * config.in: Regenerate.
6198 * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
6199 or AIX_5_CORE.
6200
a9bf1154
NC
62012002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
6202
6203 * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
6204 corefiles as well.2
6205 * configure: Regenerate.
6206
3129eb7a
AM
62072002-05-13 Alan Modra <amodra@bigpond.net.au>
6208
6209 * Makefile.am (install-data-local): Install headers to
6210 $(exec_prefix)/include.
6211 * Makefile.in: Regenerate.
6212
a9a32010
DJ
62132002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
6214 Daniel Jacobowitz <drow@mvista.com>
6215
6216 * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
6217 map BFD_RELOC_RVA.
6218
62192002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
690cc98b
NC
6220
6221 * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
6222 hppa*-*-openbsd*): New targets.
6223 * configure.in (alpha*-*-openbsd*): Set COREFILE.
6224 * configure: Regenerate.
6225
f1f0d9ab
TR
62262002-05-10 Tom Rix <trix@redhat.com>
6227
ea1e4b0d 6228 * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
f1f0d9ab
TR
6229 xcoff64_ppc_relocate_section.
6230 * coff-rs6000.c : Extern common xcoff_reloc_type functions.
6231 * libxcoff.h: Common xcoff_reloc_type function declaration.
6232
c432ba1a
AM
62332002-05-10 Alan Modra <amodra@bigpond.net.au>
6234
16a10388 6235 * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
90937f86 6236 added in 2002-05-09 commit.
16a10388 6237
c432ba1a
AM
6238 * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
6239 don't look for stubs on all undefined syms.
6240
4a335f3d
AM
62412002-05-09 Alan Modra <amodra@bigpond.net.au>
6242
8fc39d5d
AM
6243 * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
6244 (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
6245 pcrel_offset.
6246
4a335f3d
AM
6247 * elf32-i386.c (elf_howto_table): Comments.
6248 (elf_i386_relocate_section): Handle more relocs for relocatable
6249 linking and against SEC_MERGE sections.
6250
41fcb14e
AM
62512002-05-08 Alan Modra <amodra@bigpond.net.au>
6252
6253 * elf32-ppc.c (ppc_elf_create_got): New function.
6254 (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
ea1e4b0d 6255 _bfd_elf_create_dynamic_sections. Correct .plt flags.
41fcb14e
AM
6256 (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
6257 _bfd_elf_create_got_section.
6258
b491616a
AM
62592002-05-07 Alan Modra <amodra@bigpond.net.au>
6260
6261 * elf-bfd.h (struct elf_backend_data): Add rela_normal.
6262 * elfxx-target.h (elf_backend_rela_normal): Define.
6263 (elfNN_bed): Init rela_normal.
6264 * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
6265 for section symbols here if rela_normal. Simplify abs section test.
6266 * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
6267 return immediately. Remove code handling relocatable linking.
6268 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
6269 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
6270 * elf32-i370.c (i370_elf_relocate_section): Likewise.
6271 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
6272 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
6273 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
6274 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
6275 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
6276 * elf32-s390.c (elf_s390_relocate_section): Likewise.
6277 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
6278 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
6279 * elf64-s390.c (elf_s390_relocate_section): Likewise.
6280 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
6281 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
6282 * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
6283 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
6284 * elf-m10200.c (elf_backend_rela_normal): Define.
6285 * elf-m10300.c (elf_backend_rela_normal): Define.
6286 * elf32-fr30.c (elf_backend_rela_normal): Define.
6287 * elf32-i370.c (elf_backend_rela_normal): Define.
6288 * elf32-i860.c (elf_backend_rela_normal): Define.
6289 * elf32-m68k.c (elf_backend_rela_normal): Define.
6290 * elf32-mcore.c (elf_backend_rela_normal): Define.
6291 * elf32-openrisc.c (elf_backend_rela_normal): Define.
6292 * elf32-ppc.c (elf_backend_rela_normal): Define.
6293 * elf32-s390.c (elf_backend_rela_normal): Define.
6294 * elf32-xstormy16.c (elf_backend_rela_normal): Define.
6295 * elf64-ppc.c (elf_backend_rela_normal): Define.
6296 * elf64-s390.c (elf_backend_rela_normal): Define.
6297 * elf64-x86-64.c (elf_backend_rela_normal): Define.
6298 * elfxx-ia64.c (elf_backend_rela_normal): Define.
6299 * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
6300 * elf32-m32r.c (elf_backend_rela_normal): Likewise.
6301
df212a7e
NC
63022002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
6303
6304 * elf32-arm.h (elf32_arm_final_link_relocate): Convert
6305 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
6306
3decf53c
AM
63072002-05-06 Alan Modra <amodra@bigpond.net.au>
6308
6309 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
6310 when not relocatable. Fix reloc_emitter call for K&R.
6311
f46c2da6
AM
63122002-05-04 Alan Modra <amodra@bigpond.net.au>
6313
6314 * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
6315 reloading local sym addend mistakenly removed in 2002-05-01 change.
6316
6317 * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
6318 (read_abbrevs): Change "offset" param to bfd_vma.
6319 (parse_comp_unit): Change "version" and addr_size to unsigned ints.
6320 Change "abbrev_offset" to bfd_vma.
6321 (read_indirect_string): Use correct conversion chars in error
6322 message format string, cast bfd_vma's to unsigned long.
6323 (read_abbrevs): Likewise.
6324 (read_attribute_value): Likewise.
6325 (decode_line_info): Likewise.
6326 (scan_unit_for_functions): Likewise.
6327 (parse_comp_unit): Likewise.
6328
59862849
TR
63292002-05-04 Tom Rix <trix@redhat.com>
6330
6331 * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
6332 (coff_swap_reloc_out): Same.
6333 * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
6334 (xcoff_swap_reloc_out): Same.
6335 (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
6336 case some 16 bit relocs. Add reloc value to output.
6337 (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
ea1e4b0d 6338 R_RBR. Improve names.
59862849
TR
6339 (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
6340 (bfd_xcoff_backend_data): Update with new reloc swap names.
6341 (bfd_pmac_xcoff_backend_data) : Same.
6342 * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
6343 (xcoff64_swap_reloc_out): Same.
ea1e4b0d 6344 (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
59862849 6345 R_POS. Add reloc value to output.
ea1e4b0d
AM
6346 (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
6347 bit R_RBR. Improve names, masks.
59862849
TR
6348 (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
6349 (bfd_xcoff_backend_data): Update with new reloc swap names.
6350 (bfd_xcoff_aix5_backend_data) : Same.
6351
b4655ea9
AM
63522002-05-04 Alan Modra <amodra@bigpond.net.au>
6353
6354 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
6355 bfd_count top_index, input_list, all_local_syms.
6356 (elf32_hppa_setup_section_lists): New function, split from
6357 elf32_hppa_size_stubs.
6358 (elf32_hppa_next_input_section): Likewise.
6359 (group_sections): Likewise.
6360 (get_local_syms): Likewise.
6361 (elf32_hppa_size_stubs): Adjust for split out functions. Look for
6362 stubs on undefined syms too.
6363 (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
8fc39d5d 6364 Only access htab elf fields when we have an elf hash table.
b4655ea9
AM
6365 * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
6366 (elf32_hppa_next_input_section): Declare.
6367
301e3139
AM
63682002-05-04 Bob Byrnes <byrnes@curl.com>
6369
6370 * opncls.c (_bfd_new_bfd_contained_in): Check return value of
6371 _bfd_new_bfd.
6372
7c5fcef7
L
63732002-05-03 H.J. Lu (hjl@gnu.org)
6374
6375 * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
6376 (mips_elf_link_hash_newfunc): Initialize forced_local to false.
6377 (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
6378 to hide a global symbol.
6379 (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
ea1e4b0d 6380 forced_local to true.
7c5fcef7 6381
84de6048
RH
63822002-05-02 Richard Henderson <rth@redhat.com>
6383
6384 * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
6385 vs SHN_UNDEF to zero.
6386
805fc799
AM
63872002-05-02 Alan Modra <amodra@bigpond.net.au>
6388
c061c2d8
AM
6389 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
6390 16 bit reloc.
6391 <R_PPC64_SECTOFF_DS>: Likewise.
6392 (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
6393 SECTOFF reloc.
6394 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
6395 (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
6396 SECTOFF reloc.
6397
805fc799
AM
6398 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
6399 (ppc64_elf_ha_reloc): New function.
6400 (ppc64_elf_brtaken_reloc): New function.
6401 (ppc64_elf_sectoff_reloc): New function.
6402 (ppc64_elf_sectoff_ha_reloc): New function.
6403 (ppc64_elf_toc_reloc): New function.
6404 (ppc64_elf_toc_ha_reloc): New function.
6405 (ppc64_elf_toc64_reloc): New function.
6406 (ppc64_elf_unhandled_reloc): New function.
6407 (ppc64_elf_howto_raw): Use the above.
6408 <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
6409 <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
6410 <R_PPC64_SECTOFF_DS>: Likewise.
6411 (IS_ABSOLUTE_RELOC): Update.
6412 (struct ppc_link_hash_table): Add have_undefweak.
6413 (ppc64_elf_link_hash_table_create): Init.
6414 (func_desc_adjust): Set have_undefweak.
6415 (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
6416 add the .sfpr blr when have_undefweak.
6417 (ppc64_elf_setup_section_lists): Check hash table flavour.
6418 (ppc64_elf_next_input_section): Move output_section->owner test to
6419 ppc64elf.em.
6420 (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
6421 and relocatable test. Return TOCstart and don't set elf_gp.
6422 (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
6423 offset calculation. Add assert on weak sym branch tweaks.
6424 * elf64-ppc.h (ppc64_elf_set_toc): Delete.
6425 (ppc64_elf_toc): Declare.
6426 (ppc64_elf_next_input_section): Update.
ea1e4b0d 6427
818c39a3
AM
64282002-05-01 Alan Modra <amodra@bigpond.net.au>
6429
6430 * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
6431 file_name.
6432
721956f4
AM
64332002-05-01 Alan Modra <amodra@bigpond.net.au>
6434
6435 * elf64-ppc.c (CROR_151515, CROR_313131): Define.
6436 (ppc64_elf_relocate_section): Use them. Don't look for plt calls
6437 on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
6438 call branches. Correct undefined weak destination.
6439 (ppc64_elf_func_desc_adjust): Always create at least one blr in
6440 .sfpr, and correct case where either only savef* or restf* is
6441 needed.
6442
6443 Long branch stubs, multiple stub sections.
6444 * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
6445 (ppc64_elf_next_input_section): Declare.
6446 * elf64-ppc.c: Move linker-only prototypes.
6447 (STUB_SUFFIX): Define.
6448 (enum ppc_stub_type): New.
6449 (struct ppc_stub_hash_entry): New.
6450 (struct ppc_branch_hash_entry): New.
6451 (struct ppc_link_hash_entry): Add stub_cache, oh.
6452 (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
6453 sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
6454 Rename plt_overflow to stub_error.
6455 (ppc_stub_hash_lookup): Define.
6456 (ppc_branch_hash_lookup): Define.
6457 (stub_hash_newfunc): New function.
6458 (branch_hash_newfunc): New function.
6459 (link_hash_newfunc): Init new fields.
6460 (ppc64_elf_link_hash_table_create): Likewise.
6461 (ppc64_elf_link_hash_table_free): New function.
6462 (ppc_stub_name): New function.
6463 (ppc_get_stub_entry): New function.
6464 (ppc_add_stub): New function.
6465 (create_linkage_sections): Use bfd_make_section_anyway. Create
6466 .branch_lt and .rela.branch_lt sections. Don't create .stub.
6467 (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
6468 and set up for plt call stubs. Link func and func desc syms.
6469 (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
6470 (func_desc_adjust): Avoid hash lookup when func desc sym available
6471 via shortcut, and set links when processing.
6472 (ppc64_elf_hide_symbol): Likewise.
6473 (allocate_dynrelocs): Don't allocate stub section here.
6474 (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
6475 Remove sstub code.
6476 (ppc_type_of_stub): New function.
6477 (build_one_stub): Delete.
6478 (ppc_build_one_stub): New function.
6479 (ppc_size_one_stub): New function.
6480 (ppc64_elf_setup_section_lists): New function.
6481 (ppc64_elf_next_input_section): New function.
6482 (group_sections): New function.
6483 (get_local_syms): New function.
6484 (ppc64_elf_size_stubs): Rewrite.
6485 (ppc64_elf_build_stubs): Rewrite.
6486 (ppc64_elf_relocate_section): Look up stub entry for REL24
6487 relocs. Don't propagate REL14* to dynamic objects. Look for long
6488 branch stubs if REL14* or REL24 relocs won't reach.
6489 (bfd_elf64_bfd_link_hash_table_free): Define.
6490
09c2219b
MM
64912002-04-30 Mark Mitchell <mark@codesourcery.com>
6492
c5cd6d62 6493 * config.bfd: Add support for powerpc-*-windiss.
09c2219b 6494
07b678c0
TR
64952002-04-30 Tom Rix <trix@redhat.com>
6496
6497 * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
6498 symbol names into the hash table.
6499
dbe341c6
TR
65002002-04-28 Tom Rix <trix@redhat.com>
6501
6502 * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
ea1e4b0d 6503 calulating relocations.
dbe341c6 6504 (xcoff_complain_overflow) : Function table for relocation errors.
ea1e4b0d
AM
6505 (xcoff_ppc_relocate_section): Use relocation and complain function
6506 tables.
6507 (xcoff_complain_overflow_unsigned_func): New complain function.
dbe341c6
TR
6508 (xcoff_complain_overflow_signed_func): Same.
6509 (xcoff_complain_overflow_bitfield_func): Same.
6510 (xcoff_complain_overflow_dont_func): Same.
6511 (xcoff_reloc_type_crel): New recot function.
6512 (xcoff_reloc_type_br): Same.
6513 (xcoff_reloc_type_ba): Same.
6514 (xcoff_reloc_type_toc): Same.
6515 (xcoff_reloc_type_rel): Same.
6516 (xcoff_reloc_type_neg): Same.
6517 (xcoff_reloc_type_pos): Same.
6518 (xcoff_reloc_type_fail): Same.
6519 (xcoff_reloc_type_noop): Same.
6520 * libxcoff.h : Declare common parts for xcoff64.
6521 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
ea1e4b0d 6522 and complain function tables.
dbe341c6 6523
985142a4
AM
65242002-04-28 Alan Modra <amodra@bigpond.net.au>
6525
6526 * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
6527 * elf32-hppa.c (elf32_hppa_final_link): Formatting.
6528
eba91044
AM
65292002-04-26 Alan Modra <amodra@bigpond.net.au>
6530
e54fdaa5
AM
6531 * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
6532 * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
6533
a50c1845
AM
6534 * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
6535 same as the output before calling elf_link_input_bfd.
6536
eba91044
AM
6537 * coffcode.h (coff_compute_section_file_positions): Set
6538 section_tail after shuffling section list.
6539
3c25c5f6
NC
65402002-04-24 Christian Groessler <chris@groessler.org>
6541
6542 * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
6543 addresses are 23bit with a special layout, not plain 32bit
6544 values. Prevent relocation of immediate values.
6545
40d32fc6
CD
65462002-04-24 Chris G. Demetriou <cgd@broadcom.com>
6547
6548 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
6549 MIPS-16 ASE flags are set, print something to indicate that.
6550
067fa4a6
AM
65512002-04-23 Alan Modra <amodra@bigpond.net.au>
6552
6553 * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
6554 under which a plt call stub is used.
6555 (final_link_relocate): Similarly.
6556 (allocate_plt_static): Clear h-plabel except when plt entry is
6557 exclusively used for a plabel.
6558 (allocate_dynrelocs): Use the above to simplify plt sizing.
6559 (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
6560 (elf32_hppa_link_hash_table_create): Init.
6561 (BL22_RP): Define.
6562 (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
6563 (elf32_hppa_check_relocs): Set has_22bit_branch.
6564
6565 * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
6566 (final_link_relocate): Likewise.
6567
af40ce3c
JJ
65682002-04-22 Jakub Jelinek <jakub@redhat.com>
6569
6570 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
6571 search table if some FDE is DW_EH_PE_aligned encoded either.
6572 (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
6573
09ae86c2
JJ
65742002-04-22 Richard Smith <richard@ex-parrot.com>
6575 Jakub Jelinek <jakub@redhat.com>
6576
6577 * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
6578 (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
6579 encoded personality.
6580 (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
6581 for CIE/FDE removal.
6582
deeb2cd7
TR
65832002-04-20 Tom Rix <trix@redhat.com>
6584
6585 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
6586
99dc0092
AM
65872002-04-20 Alan Modra <amodra@bigpond.net.au>
6588
aa3d5824
AM
6589 * archures.c (bfd_lookup_arch): Move the list order comment..
6590 (struct bfd_arch_info): ..to where it belongs.
6591 * bfd-in2.h: Regenerate.
6592
99dc0092
AM
6593 * archures.c (bfd_lookup_arch): Add comment on list order.
6594 (bfd_default_set_arch_mach): Use bfd_lookup_arch.
6595 * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
6596 is always at head of list.
6597
7831a775
NC
65982002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
6599
6600 * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
6601 insert_thumb_branch, record_thumb_to_arm_glue): Suppress
6602 definition of these functions for ARM_WINCE builds as they are
6603 not used.
ea1e4b0d 6604 (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
7831a775
NC
6605 for ARM_WINCE builds.
6606
66072002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
6608
ea1e4b0d 6609 * coff-arm.c (bfd_arm_process_before_allocation):
7831a775
NC
6610
66112002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
a44d7f9c
JR
6612
6613 * cpu-sh.c (scan_mach): Delete.
6614 (arch_info_struct): Replace scan_mach with bfd_default_scan.
6615 (bfd_sh_arch): Likewise.
6616
3d8dbe36
NC
66172002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
6618
6619 * ihex.c (ihex_write_object_contents): Fix check for records
6620 crossing 64K boundaries.
6621
4ab82700
AM
66222002-04-16 Alan Modra <amodra@bigpond.net.au>
6623
6624 * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
6625 type rather than just assuming entries are ELF.
6626 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
6627 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
6628 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
6629 * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
6630 rather than elf_link_hash_entry.
6631
036fe0fe
RH
66322002-04-15 Richard Henderson <rth@redhat.com>
6633
6634 * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
6635 n32 binaries.
6636
c4f3d130
NC
66372002-04-15 Michael Snyder <msnyder@redhat.com>
6638
6639 * opncls.c (bfd_close): Write contents if writeable.
6640 Minor formatting tidy-ups.
6641
4ab82700 66422002-04-15 Alan Modra <amodra@bigpond.net.au>
27242387
AM
6643
6644 * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
6645
0c04d169
MS
66462002-04-12 Michael Snyder <msnyder@redhat.com>
6647
6648 * bfd-in.h (bfd_get_section_lma): New access macro.
6649 Minor white-space fix-up.
6650
89d4966f
AM
66512002-04-12 Alan Modra <amodra@bigpond.net.au>
6652
6653 * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
6654 header pad.
6655
8d0da3c2
DD
66562002-04-09 DJ Delorie <dj@redhat.com>
6657
6658 * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
6659
05793179
NC
66602002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
6661
6662 * coffcode.h (coff_read_word): New.
6663 (coff_compute_checksum): New.
6664 (coff_apply_checksum): New.
6665 (coff_write_object_contents): Call coff_apply_checksum () to
6666 apply checksum to PE image.
6667
46fe4e66
AM
66682002-04-08 Randolph Chung <tausq@debian.org>
6669
6670 * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
6671 (elf32_hppa_final_link): Split out sorting logic to..
6672 * elf-hppa.h (elf_hppa_sort_unwind): ..here.
6673 (elf_hppa_final_link): Call elf_hppa_sort_unwind.
6674
3b5b409c
AC
66752002-04-07 Andrew Cagney <ac131313@redhat.com>
6676
6677 * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
6678 pattern.
6679 * configure: Re-generate.
6680
ac7b6ceb
AC
66812002-04-07 Andrew Cagney <ac131313@redhat.com>
6682
6683 * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
6684 is greater or equal to 4.3.3.
6685 * configure: Regenerate.
6686 Fix PR gdb/344.
6687
44aa49bb
HPN
66882002-04-05 Hans-Peter Nilsson <hp@axis.com>
6689
6690 * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
6691 R_CRIS_32_PCREL>: Fix typo in name.
6692 (cris_elf_check_relocs): Always create .rela.got here when
6693 R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
6694 (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
6695 assume it's created.
6696
e2d34d7d
DJ
66972002-04-04 Daniel Jacobowitz <drow@mvista.com>
6698
6699 * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
6700 * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
6701 define.
6702 * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
6703 * bfd.c (bfd_link_hash_table_free): Define.
6704 * binary.c (binary_bfd_link_hash_table_free): Define.
6705 * bout.c (b_out_bfd_link_hash_table_free): Define.
6706 * coff-rs6000.c (rs6000coff_vec): Include
6707 _bfd_generic_link_hash_table_free.
6708 (pmac_xcoff_vec): Likewise.
6709 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
6710 (aix5coff64_vec): Likewise.
6711 * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
6712 * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
6713 (bfd_elf32_bfd_link_hash_table_free): Define.
6714 * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
6715 (bfd_elf32_bfd_link_hash_table_free): Define.
6716 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
6717 define.
6718 * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
6719 * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
6720 * ieee.c (ieee_bfd_link_hash_table_free): Define.
6721 * ihex.c (ihex_bfd_link_hash_table_free): Define.
6722 * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
6723 (_bfd_generic_link_hash_table_free): Add prototype.
6724 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
6725 * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
6726 * linker.c (_bfd_generic_link_hash_table_free): New function.
6727 * mmo.c (mmo_bfd_link_hash_table_free): Define.
6728 * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
6729 * oasys.c (oasys_bfd_link_hash_table_free): Define.
6730 * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
6731 * som.c (som_bfd_link_hash_table_free): Define.
6732 * srec.c (srec_bfd_link_hash_table_free): Define.
6733 * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
6734 * versados.c (versados_bfd_link_hash_table_free): Define.
6735 * vms.c (vms_bfd_link_hash_table_free): New function.
6736 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
6737
6738 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
6739 instead of bfd_alloc.
6740 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
6741 * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
6742 * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
6743 * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
6744 * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
6745 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
6746 * elf.c (_bfd_elf_link_hash_table_create): Likewise.
6747 * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
6748 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
6749 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
6750 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
6751 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
6752 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
6753 * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
6754 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
6755 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
6756 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
6757 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
6758 * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
6759 * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
6760 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
6761 * linker.c (_bfd_generic_link_hash_table_create): Likewise.
6762 * m68klinux.c (linux_link_hash_table_create): Likewise.
6763 * sparclinux.c (linux_link_hash_table_create): Likewise.
6764 * sunos.c (sunos_link_hash_table_create): Likewise.
6765 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
6766
6767 * targets.c: Add _bfd_link_hash_table_free to xvec.
6768
6769 * bfd-in2.h: Regenerate.
6770 * libbfd.h: Regenerate.
6771 * libcoff.h: Regenerate.
6772
830629ab
AM
67732002-04-04 Alan Modra <amodra@bigpond.net.au>
6774
6775 * dep-in.sed: Cope with absolute paths.
6776 * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
6777 Run "make dep-am".
6778 * Makefile.in: Regenerate.
6779 * coff-arm.c: Fix copyright date.
6780 * cpu-h8300.c: Likewise.
6781 * cpu-i370.c: Likewise.
6782 * cpu-s390.c: Likewise.
6783 * cpu-mips.c: Likewise.
6784 * po/SRC-POTFILES.in: Regenerate.
6785
c6e90b02
TS
67862002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6787
6788 * Makefile.am: Add elfxx-mips.c to the known backends.
6789 (elf32-mips.lo): remove dependency to coff/external.h.
6790 * Makefile.in: Regenerate.
6791 * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
6792 Remove elf32-mips.lo from 64 bit vectors. Update dependencies
6793 accordingly.
6794 * configure: Regenerate.
6795 * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
6796 (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
6797 (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
6798 MIPS specific backend functions.
6799 * elf32-mips.c: Moved most code to elfxx-mips.c.
6800 (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
6801 static.
6802 (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
6803 (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
6804 (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
6805 (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
6806 interface to allow selection of the right REL or RELA howto table.
6807 (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
6808 static. Let it refuse n32 objects.
6809 (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
6810 (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
6811 (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
6812 (elf32_mips_ignore_discarded_relocs): Rename from
6813 _bfd_elf32_mips_ignore_discarded_relocs.
6814 (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
6815 (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
6816 (elf_mips_howto_table_rela): Remove.
6817 * elf64-mips.c: Moved most code to elfxx-mips.c.
6818 (bfd_elf64_bfd_reloc_type_lookup): Make static.
6819 (mips_elf64_rtype_to_howto): New function.
6820 (mips_elf64_object_p): Likewise.
6821 (elf64_mips_irix_compat): Likewise.
6822 * elfxx-mips.c: New file containing common code merged together from
6823 elf32-mips.c and elf64-mips.c.
6824 * elfxx-mips.h: New file containing MIPS specific prototypes from
6825 elf-bfd.h.
6826 * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
6827 elf_backend_mips_rtype_to_howto.
6828
d8dce692
AM
68292002-04-04 Alan Modra <amodra@bigpond.net.au>
6830
6831 * srec.c (MAXCHUNK, Chunk): Revise comments.
6832 (srec_write_record): Correct buffer size.
6833 (srec_write_header): Do without intermediate buffer.
6834 (srec_write_section): Validate Chunk.
6835 (srec_write_terminator): Pass NULL instead of dummy buffer.
6836 (srec_write_symbols): Pass file and symbol names directly to
6837 bfd_bwrite so sprintf won't overflow buffer.
6838
b88a866a
JJ
68392002-04-03 Jakub Jelinek <jakub@redhat.com>
6840
6841 * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
6842 PC relative relocs against hidden symbols.
6843 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6844
d7866f04
AM
68452002-04-03 Alan Modra <amodra@bigpond.net.au>
6846
6847 * elf.c (_bfd_elf_make_section_from_shdr): When setting section
6848 LMAs, loop over segments until p_vaddr and p_memsz specify an
6849 extent enclosing the section.
6850
9e81ee67
NC
68512002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
6852
6853 * ihex.c (ihex_write_object_contents): Do not allow records to
6854 cross a 64K boundary - wrap if necessary.
6855
d2b64500
JT
68562002-04-01 Nathan Williams <nathanw@wasabisystems.com>
6857
6858 * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
6859 which caused the returned LWP ID to always be 0.
6860
e36f7d53
RH
68612002-04-01 Richard Henderson <rth@redhat.com>
6862
6863 * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
6864 (elf32_sparc_relocate_section): Use it to figure out when to
6865 initialize .got entries.
6866 * elf64-sparc.c: Similarly.
6867
e92d460e
AM
68682002-03-28 Alan Modra <amodra@bigpond.net.au>
6869
6870 * linker.c (link_action): Ignore duplicate warning syms.
6871 (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
6872 * elflink.h (elf_adjust_dynstr_offsets): Likewise.
6873 (elf_adjust_dynamic_symbol): Likewise.
6874 (elf_export_symbol): Likewise.
6875 (elf_link_find_version_dependencies): Likewise.
6876 (elf_link_assign_sym_version): Likewise.
6877 (elf_link_sec_merge_syms): Likewise.
6878 (elf_link_output_extsym): Likewise.
6879 (elf_gc_sweep_symbol): Likewise.
6880 (elf_gc_propagate_vtable_entries_used): Likewise.
6881 (elf_gc_smash_unused_vtentry_relocs): Likewise.
6882 (elf_gc_allocate_got_offsets): Likewise.
6883 (elf_collect_hash_codes): Likewise.
6884 * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
6885 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
6886 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
6887 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
6888 * elf32-arm.h (elf32_arm_discard_copies): Likewise.
6889 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
6890 (elf_cris_discard_excess_dso_dynamics): Likewise.
6891 * elf32-hppa.c (clobber_millicode_symbols): Likewise.
6892 (mark_PIC_calls): Likewise.
6893 (allocate_plt_static): Likewise.
6894 (allocate_dynrelocs): Likewise.
6895 (readonly_dynrelocs): Likewise.
6896 * elf32-i386.c (allocate_dynrelocs): Likewise.
6897 (readonly_dynrelocs): Likewise.
6898 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
6899 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
6900 * elf32-mips.c (mips_elf_output_extsym): Likewise.
6901 (mips_elf_sort_hash_table_f): Likewise.
6902 (mips_elf_check_mips16_stubs): Likewise.
6903 * elf32-s390.c (allocate_dynrelocs): Likewise.
6904 (readonly_dynrelocs): Likewise.
6905 * elf32-sh.c (sh_elf_discard_copies): Likewise.
6906 * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
6907 (xstormy16_relax_plt_realloc): Likewise.
6908 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
6909 (elf64_alpha_output_extsym): Likewise.
6910 * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
6911 * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
6912 (mips_elf64_check_mips16_stubs): Likewise.
6913 (mips_elf64_output_extsym): Likewise.
6914 * elf64-ppc.c (func_desc_adjust): Likewise.
6915 (allocate_dynrelocs): Likewise.
6916 (readonly_dynrelocs): Likewise.
6917 * elf64-s390.c (allocate_dynrelocs): Likewise.
6918 (readonly_dynrelocs): Likewise.
6919 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
6920 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
6921 (readonly_dynrelocs): Likewise.
6922 * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
6923 * aoutx.h (aout_link_write_other_symbol): Likewise.
6924 * cofflink.c (_bfd_coff_write_task_globals): Likewise.
6925 (_bfd_coff_write_global_sym): Likewise.
6926 * i386linux.c (linux_tally_symbols): Likewise.
6927 * m68klinux.c (linux_tally_symbols): Likewise.
6928 * sparclinux.c (linux_tally_symbols): Likewise.
6929 * pdp11.c (aout_link_write_other_symbol): Likewise.
6930 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
6931 * xcofflink.c (xcoff_build_ldsyms): Likewise.
6932 (xcoff_write_global_symbol): Likewise.
6933
6934 * cofflink.c (_bfd_coff_final_link): Formatting.
6935 * cpu-mips.c (mips_compatible): Make static, prototype.
6936 * elf32-i386.c (elf_i386_check_relocs): Formatting.
6937 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
6938 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
6939 * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
6940 (mips_elf64_final_link): Likewise.
6941 * elflink.h (elf_link_find_version_dependencies): Remove duplicate
6942 prototype.
6943
2106126f
NC
69442002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
6945
6946 * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
6947 (SWAP_OUT_RELOC_OFFSET): Define.
6948
b99d1833
AM
69492002-03-27 Gregory Steuck <greg@nest.cx>
6950
6951 * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
6952 terminating NULL if empty symbol table.
6953 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
6954
ad43ed4c
L
69552002-03-26 H.J. Lu (hjl@gnu.org)
6956
6957 * elflink.h (elf_link_input_bfd): Revert the last change since
6958 the gcc exception handling isn't fixed yet.
6959
3851fca4
L
69602002-03-26 H.J. Lu (hjl@gnu.org)
6961
6962 * elflink.h (elf_link_input_bfd): Complain about relocations
6963 against local symbols in discarded sections.
6964
b91afed7
AM
69652002-03-26 Alan Modra <amodra@bigpond.net.au>
6966
6967 * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
6968
dba143ef
AM
69692002-03-23 Alan Modra <amodra@bigpond.net.au>
6970
6971 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
6972 section file offset for !SEC_LOAD sections.
6973
ee29b9fb
RE
69742002-03-21 Richard Earnshaw <rearnsha@arm.com>
6975
830629ab
AM
6976 * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
6977 <case R_ARM_GOT>): Handle relocations to Thumb functions.
ee29b9fb 6978
54327882
AM
69792002-03-21 Alan Modra <amodra@bigpond.net.au>
6980
6981 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
6982 Whitespace changes.
6983 * archive.c: Update copyright date.
6984 * bfd-in2.h: Regenerate.
6985 * libbfd.h: Regenerate.
6986 * Makefile.am: Run "make dep-am"
6987 * Makefile.in: Regenerate.
6988 * po/SRC-POTFILES.in: Regenerate.
6989
1ee24f27
DJ
69902002-03-20 Daniel Jacobowitz <drow@mvista.com>
6991
6992 * dwarf2.c (struct funcinfo): Move up.
6993 (lookup_address_in_function_table): New argument function_ptr.
6994 Set it.
6995 (lookup_address_in_line_table): New argument function. If function
6996 is non-NULL, use it to handle ``addr'' before the first line note of
6997 the function.
6998 (comp_unit_find_nearest_line): Update and swap calls to
6999 lookup_address_in_function_table and lookup_address_in_line_table.
7000 * syms.c (_bfd_stab_section_find_nearest_line): Use the first
7001 N_SLINE encountered if we see an N_FUN before any N_SLINE.
7002
51b9608c
TR
70032002-03-20 Tom Rix <trix@redhat.com>
7004
ea1e4b0d 7005 * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
51b9608c 7006 _bfd_xcoff_generic_stat_arch_elt. Fix format check.
ea1e4b0d 7007 * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
51b9608c 7008
789c90aa
TR
70092002-03-19 Tom Rix <trix@redhat.com>
7010
ea1e4b0d 7011 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
789c90aa
TR
7012 dynamic objects in archives.
7013
1da54d81
HPN
70142002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
7015
7016 * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
7017 STT_NOTYPE symbols to STT_OBJECT.
7018
7831a775 70192002-03-18 Jan Hubicka <jh@suse.cz>
beb43bb9
JH
7020
7021 * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
7022
eb1e0e80
NC
70232002-03-18 Tom Rix <trix@redhat.com>
7024
7025 * aix5ppc.core.c : New file for AIX 5 64 bit core support.
7026 * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
7027 * coff-rs6000 (do_pad) : New function for archive padding.
7028 (do_copy) : New function for object file copying in archives.
7029 (do_shared_object_padding) : New function for padding shared
7030 objects to their text section alignment in archives.
7031 (bfd_xcoff_ar_achive_set_magic) : Stub.
7032 (xcoff_write_armap_big) : Use do_copy and do_pad.
7033 (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
7034 do_copy and do_pad.
7035 * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
ea1e4b0d 7036 bfd_xcoff_magic_number.
eb1e0e80
NC
7037 (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
7038 fop.
7039 (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
7040 (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
7041 (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
7042 * rs6000-core.c : Update copyright date.
ea1e4b0d 7043 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
eb1e0e80
NC
7044 csectpp.
7045 * coffcode.h (coff_new_section_hook) : Use new accessor macros.
7046 (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
7047 (coff_set_flags) : Use bfd_xcoff_magic_number.
7048 * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
7049 * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
7050 * Makefile.am : Same.
7051 * config.bfd : Same.
7052 * targets.c : Same.
7053 * configure : Regnerate.
7054 * Makefile.in : Same.
7055 * bfd-in2.h : Same.
7056
a1c259a1
NC
70572002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
7058
7059 * po/fr.po: Updated version.
7060
4dae1ae7
AM
70612002-03-18 Alan Modra <amodra@bigpond.net.au>
7062
7063 * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
7064 * libbfd.h: Regenerate.
7065 * archive.c (coff_write_armap): Pass on failures from
7066 bfd_write_bigendian_4byte_int.
7067
36b4f6e7
L
70682002-03-14 H.J. Lu <hjl@gnu.org>
7069
7070 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
7071 error to bfd_error_nonrepresentable_section for reinit_array
7072 section in DSO.
7073
a1aefc76
NC
70742002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
7075
a181be0a
NC
7076 * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
7077 OR it in rather than replacing previously selected flags.
7078
a1aefc76
NC
7079 * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
7080 (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
7081
c119f9b8
AM
70822002-03-14 Alan Modra <amodra@bigpond.net.au>
7083
7084 * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
7085 (N): Use the above.
7086 * elflink.h (elf_bfd_final_link): Revert last change. Instead,
7087 ensure reloc size matches before calling elf_link_input_bfd.
7088 Add an assert to check reloc size when counting output relocs.
7089
c295a511
NC
70902002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
7091
7092 * mmo.c (mmo_get_loc): Return NULL rather than false.
7093
9ce88e60
NC
70942002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
7095
7096 * po/fr.po: Updated version.
7097
4ddafab0
AM
70982002-03-13 Alan Modra <amodra@bigpond.net.au>
7099
b74fa2cd
AM
7100 * archures.c (bfd_default_compatible): Test bits_per_word.
7101 * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
7102 bfd_default_compatible.
7103 * cpu-i370.c (i370_compatible): Likewise.
7104 * cpu-sparc.c (sparc_compatible): Likewise.
7105 * cpu-h8300.c (compatible): Test in->arch == out->arch.
7106
40b829d4
AM
7107 * elflink.h: Formatting fixes.
7108 (elf_link_output_extsym): Merge undefined and undef weak cases.
7109
4ddafab0
AM
7110 * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
7111 when word size of input matches output word size.
7112
dd53c801
AJ
71132002-03-12 Andreas Jaeger <aj@suse.de>
7114
7115 * cpu-i386.c (i386_compatible): New. Use it instead of
7116 bfd_default_compatible.
7117
aa066ac8
L
71182002-03-07 H.J. Lu (hjl@gnu.org)
7119
7120 * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
7121 as the type for bfd_reloc_val.
7122
1bf42538
JL
71232002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7124
7125 * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
7126 (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
7127 (elf_hppa_final_link_relocate): Correct relocations for indirect
7128 references to local data through the DLT. Fix .opd creation for
7129 local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
7130 relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
7131 R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
7132 "Processor-Specific ELF for PA_RISC, Version 1.43" document.
7133 Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
7134 * elf32-hppa.c (final_link_relocate): Revise relocation selectors
7135 as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
7136
86eaf01e
JJ
71372002-03-05 Jakub Jelinek <jakub@redhat.com>
7138
7139 * merge.c (_bfd_merge_sections): Don't segfault if there
7140 is nothing to merge due to GC.
7141
c44233aa
AM
71422002-03-05 Alan Modra <amodra@bigpond.net.au>
7143
039cc25f
AM
7144 * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
7145 symbols that have been forced local.
7146
c44233aa
AM
7147 * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
7148 to output forced local syms for non-shared link.
7149 (elf_link_output_extsym): Tweak condition for calling backend
7150 adjust_dynamic_symbol so that previous behaviour is kept.
7151 Whitespace changes throughout file.
7152
25e27870
L
71532002-03-04 H.J. Lu <hjl@gnu.org>
7154
7155 * elf.c (bfd_section_from_shdr): Handle special sections,
7156 .init_array, .fini_array and .preinit_array.
7157 (elf_fake_sections): Likewise.
7158
7159 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
7160 DT entry only if the section is in output for .init_array,
7161 .fini_array and .preinit_array. Complain about .preinit_array
7162 section in DSO.
7163 (elf_bfd_final_link): Warn zero size for .init_array,
7164 .fini_array and .preinit_array sections.
7165
7166 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
7167 SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
7168 (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
7169 .preinit_array.
7170
bb2a49f2
AM
71712002-03-04 Alan Modra <amodra@bigpond.net.au>
7172
7173 * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
7174 * configure: Regenerate.
7175
38487e5e
TR
71762002-03-02 Tom Rix <trix@redhat.com>
7177
c44233aa
AM
7178 * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
7179 symbolic equiv.
38487e5e
TR
7180 * coff-rs6000.c (xcoff_howto_table): Same.
7181
30831527
RH
71822002-03-01 David Mosberger <davidm@hpl.hp.com>
7183
7184 * elflink.h (size_dynamic_sections): If section named
7185 ".preinit_array" exists, create DT_PREINIT_ARRAY and
7186 DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
7187 ".init_array" and ".fini_array".
7188 (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
7189 DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
7190 DT_FINI_ARRAY.
7191
c8e5ddc8
AM
71922002-02-26 Andrew Macleod <amacleod@cygnus.com>
7193
7194 * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
7195 dynsyms.
7196
96e0dda4
AM
71972002-02-25 Alan Modra <amodra@bigpond.net.au>
7198
1c5b6bf8
AM
7199 * elf64-hppa.h: Update copyright date.
7200
96e0dda4
AM
7201 * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
7202 (ppc64_elf_relocate_section): Don't generate power4 style branch
7203 hints for *_BRTAKEN and *_BRNTAKEN relocs.
7204
0fb19cbc
JJ
72052002-02-22 Jakub Jelinek <jakub@redhat.com>
7206
7207 * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
7208 last patch.
7209 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
7210
c434dee6
AJ
72112002-02-21 Andreas Jaeger <aj@suse.de>
7212
7213 * elf64-x86-64.c: Major rework that introduces all recent changes
7214 to the x86-64 backend. Get a closer match to elf32-i386.
7215 (struct elf64_x86_64_dyn_relocs): Rename from
7216 elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
7217 all users.
7218 (struct elf64_x86_64_link_hash_table): Add short cuts to some
7219 sections.
7220 (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
7221 remove casts, initialize new hash members.
7222 (create_got_section): New.
7223 (elf64_x86_64_create_dynamic_sections): New.
7224 (elf64_x86_64_copy_indirect_symbol): New.
7225 (elf64_x86_64_check_relocs): Don't allocate space for dynamic
7226 relocs, .got or .relgot here but do it in allocate_dynrelocs.
7227 Reference count possible .plt and .got entries. Don't test input
7228 section SEC_READONLY here to try to avoid copy relocs, and keep
7229 dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
7230 DF_TEXTREL here. Delay setting of variables until needed. Cache
7231 pointer to "sreloc" section in elf_section_data. Tweak condition
7232 under which .got created. Report files with bad relocation
7233 section names.
7234 (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
7235 Reference count possible .plt entries. Don't deallocate .got and
7236 .relgot space here.
7237 (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
7238 do copy reloc processing for weakdefs. Remove redundant casts and
7239 aborts. Delay setting of vars until needed. Move creation of
7240 dynamic symbols and allocation of .plt and .rela.plt to
7241 allocate_dynrelocs. Replace BFD_ASSERT with abort.
7242 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
7243 (allocate_dynrelocs): New.
7244 (readonly_dynrelocs): New.
7245 (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
7246 Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
7247 Zero out the dynamic allocated content space.
7248 (elf64_x86_64_discard_copies): Removed.
7249 (elf64_x86_64_relocate_section): Make use of dynamic section
7250 short-cuts. Localise vars, and delay setting. Better error
7251 reporting, replace BFD_ASSERT with abort. Check
7252 ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
7253 regular object file and tread the weak definition as the normal
7254 one. Don't discard relocs for undefweak or undefined symbols and
7255 check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
7256 relocs.
7257 (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
7258 symbols that have been forced local. Use same test to decide if
7259 we can use a relative reloc for got as relocate_section. Expand
7260 SHN_UNDEF comment. Move expressions out of function calls.
7261 Replace BFD_ASSERT with abort.
7262 (bfd_elf64_bfd_final_link): Removed.
7263 (elf_backend_copy_indirect_symbol): Define.
7264
ff3a6ee3
TR
72652002-02-20 Tom Rix <trix@redhat.com>
7266
7267 * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
7268 (_bfd_xcoff_reloc_type_lookup): Use it.
7269 * coff64-rs6000.c (xcoff64_howto_table): Same.
7270 (xcoff64_reloc_type_lookup): Same.
c434dee6 7271
a68d41fb
AM
72722002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
7273
7274 * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
7275 little endian.
7276
befc3abb
MS
72772002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
7278
7279 * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
7280 (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
7281 * bfd-in2.h: Regenerate.
7282 * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
7283 Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
7284 with "s390:64-bit".
7285 * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
7286 (elf_s390_reloc_type_lookup): Likewise.
7287 (elf_s390_check_relocs): Likewise.
7288 (elf_s390_gc_sweep_hook): Likewise.
7289 (elf_s390_relocate_section): Likewise.
7290 (elf_s390_object_p): Use renamed architecture define.
7291 * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
7292
6eeeec9b
FCE
72932002-02-19 Frank Ch. Eigler <fche@redhat.com>
7294
7295 * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
7296
0bb2d96a
JJ
72972002-02-19 Jakub Jelinek <jakub@redhat.com>
7298
7299 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
7300 absptr -> pcrel optimization for shared libs.
7301 Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
7302 library cannot be converted to pcrel.
7303 (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
7304 relative.
7305 * elf32-i386.c (elf_i386_relocate_section): If
7306 _bfd_elf_section_offset returned -2, skip, but make sure the
7307 relocation is installed.
7308 * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
7309 * elf32-cris.c (cris_elf_relocate_section): Likewise.
7310 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
7311 * elf32-i370.c (i370_elf_relocate_section): Likewise.
7312 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
7313 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
7314 * elf32-s390.c (elf_s390_relocate_section): Likewise.
7315 * elf32-sh.c (sh_elf_relocate_section): Likewise.
7316 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7317 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
7318 * elf64-s390.c (elf_s390_relocate_section): Likewise.
7319 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
7320 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7321 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
7322 * elf64-alpha.c (elf64_alpha_relocate_section): Handle
7323 _bfd_elf_section_offset returning -2 the same way as -1.
7324 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
7325 * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
7326 and BFD_ASSERT.
7327 * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
7328
69f284c7
TR
73292002-02-18 Tom Rix <trix@redhat.com>
7330
7331 * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
7332 (bfd_xcoff_size_dynamic_sections): Same.
7333 * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
7334 (bfd_xcoff_size_dynamic_sections): Same.
7335 * coff-rs6000.c (xcoff_generate_rtinit): Same.
7336 * coff-rs646000.c (xcoff64_generate_rtinit): Same.
7337 * libxcoff.h (struct xcoff_backend_data_rec): Same.
7338 * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
7339 * bfd-in2.h: Regenerate.
7340
82bd7b59
AM
73412002-02-18 Alan Modra <amodra@bigpond.net.au>
7342
7343 * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
7344 (struct ppc_link_hash_table): Add sfpr.
7345 (ppc64_elf_link_hash_table_create): Init it.
7346 (ppc64_elf_create_dynamic_sections): Split creation of .stub and
7347 .glink out to..
7348 (create_linkage_sections): ..here. Make .sfpr too.
7349 (ppc64_elf_check_relocs): Call create_linkage_sections, and set
7350 dynobj early.
7351 (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
7352 (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
7353 ._restf* functions, and create as needed.
7354 (func_desc_adjust): Only force_local for shared libs.
7355
ef1355e8
NC
73562002-02-18 David O'Brien <obrien@FreeBSD.org>
7357
7358 * configure.in: Bump version number post 2.12 branching.
7359 * configure: Regenerate.
7360
dfa36a69
HPN
73612002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
7362
7363 * mmo.c: Correct and improve comments.
7364 (mmo_write_chunk): Store trailing byte in bfd buffer; don't
7365 zero-pad. Use input to fill up non-empty bfd buffer.
7366 (mmo_flush_chunk): New function.
7367 (mmo_write_loc_chunk): Add parameter last_vmap, all callers
7368 changed. Don't emit location specifier if VMA is same as
7369 *LAST_VMAP after omitting leading zero contents. Call
7370 mmo_flush_chunk before emitting location specifier.
7371 (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
7372 with mmo_write_loc_chunk calls.
7373 (mmo_internal_write_section): Call mmo_flush_chunk after
7374 mmo_write_chunk.
7375 (mmo_write_symbols_and_terminator): Move :Main to first position
7376 in symbol array. Add faked one if it does not exist if there are
7377 other symbols. Don't add it if there are no symbols at all. Move
7378 out test for value of :Main from symbol loop. Rename table
7379 fakemain to maintable and variable mainsym to fakemain.
7380
ccf00ab6
RH
73812002-02-15 Richard Henderson <rth@redhat.com>
7382
7383 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
7384 section with no got matches any got. Simplify error generaion.
7385
88eaccc2
AM
73862002-02-15 Alan Modra <amodra@bigpond.net.au>
7387
fd96f80f
AM
7388 Support arbitrary length fill patterns.
7389 * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
7390 (_bfd_default_link_order): Remove bfd_fill_link_order code.
7391 Call default_data_link_order.
7392 (default_fill_link_order): Delete.
7393 (default_data_link_order): New function.
7394 * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
7395 of bfd_fill_link_order with bfd_data_link_order.
7396 * elf64-alpha.c (elf64_alpha_final_link): Likewise.
7397 * elf64-mips.c (mips_elf64_final_link): Likewise.
7398
88eaccc2
AM
7399 * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
7400 Correct value returned in "end" for "0x<non-hex>".
7401
e2fd756b
NC
74022002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
7403
7404 * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
7405 (scan): Test against 'mach' field in info structure.
7406
edd29cf9
AM
74072002-02-14 Alan Modra <amodra@bigpond.net.au>
7408
7409 * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
7410
1e30956e 74112002-02-14 Matt Fredette <fredette@netbsd.org>
76f57f3a
JT
7412
7413 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
7414 EF_M68000.
7415
bf36db18
NC
74162002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
7417
7418 * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
edd29cf9
AM
7419 non-zero physical addresses when adjusting the LMAs of new
7420 sections.
bf36db18 7421
189c6563
AM
74222002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
7423
7424 * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
7425 from _bfd_elf_hppa_gen_reloc_type.
7426 (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
7427 * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
7428 * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
7429 * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
7430
e948afaf
AO
74312002-02-12 Alexandre Oliva <aoliva@redhat.com>
7432
7433 * elf-m10300.c (mn10300_elf_relax_section): Skip section before
7434 loading its contents if there's nothing to do in it.
7435
19397422
AM
74362002-02-12 Alan Modra <amodra@bigpond.net.au>
7437
0ad3a73b
AM
7438 * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
7439 64k boundary.
7440
19397422
AM
7441 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
7442 DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
7443 (ppc64_elf_finish_dynamic_sections): Set values for them.
7444
51316059
MS
74452002-02-11 Michael Snyder <msnyder@redhat.com>
7446
7447 * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
7448 * elf.c (elfcore_grok_pstatus): Add prototype.
7449 (elfcore_grok_lwpstatus): Add prototype.
7450 (elfcore_write_lwpstatus): New function.
7451 (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
7452
518313c3
AO
74532002-02-11 Alexandre Oliva <aoliva@redhat.com>
7454
7455 * elf32-sh.c: Added missing prototypes.
7456 * elf32-sh64.c: Likewise.
7457 (sh_elf_align_loads): Mark unused args as such.
7458 * elf64-sh64.c: Added missing prototypes.
7459 (struct elf_sh64_link_hash_entry): Fix typo.
7460 (sh_elf64_relocate_section): Fix info argument passed to
7461 _bfd_elf_section_offset.
7462
2c73f9d8
AM
74632002-02-11 Alan Modra <amodra@bigpond.net.au>
7464
7465 * Makefile.am: "make dep-am".
7466 * Makefile.in: Regenerate.
7467 * aclocal.m4: Regenerate.
7468 * config.in: Regenerate.
7469 * configure: Regenerate.
7470
d426c6b0
DJ
74712002-02-10 Daniel Jacobowitz <drow@mvista.com>
7472
7473 * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
7474 variable warnings.
7475 * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
7476 comparison warning.
7477 * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
7478 cast warnings for the common case.
7479
e58ee0cd
HPN
74802002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
7481
7482 * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
7483 vectors.
7484 (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
7485 vectors.
7486
7793f4d0
RH
74872002-02-09 Richard Henderson <rth@redhat.com>
7488
7489 * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
7490 (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
7491 (elf64_alpha_relocate_section): Likewise.
7492 * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
7493 * bfd-in2.h, libbfd.h: Rebuild.
7494
7e799044
HPN
74952002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
7496
7497 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
7498 that base-plus-offset reloc accounting is consistent.
7499 (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
7500 up to date for undefined symbols.
7501
027d73eb
EC
75022002-02-08 Eric Christopher <echristo@redhat.com>
7503
7504 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7505
7506 * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
7507 sections for the O32 ABI.
7508
517662d4
CD
75092002-02-08 Chris Demetriou <cgd@broadcom.com>
7510
7511 * elf32-arm.h: Fix formatting of _("...").
7512 * elf32-d10v.c: Likewise.
7513 * elf32-m68k.c: Likewise.
7514 * elf32-mips.c: Likewise.
7515
5e37cc46
NC
75162002-02-08 Ivan Guzvinec <ivang@opencores.org>
7517
7518 * coff-or32.c: Fix compile time warning messages.
7519
fbca6ad9
AO
75202002-02-08 Alexandre Oliva <aoliva@redhat.com>
7521
7522 Contribute sh64-elf.
7523 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
7524 * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
7525 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
7526 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
7527 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
7528 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
7529 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
7530 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
7531 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
7532 R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
7533 New relocs.
7534 * libbfd.h, bfd-in2.h: Rebuilt.
7535 * elf32-sh.c (sh_elf_howto_table): Define new relocs.
7536 (sh_reloc_map): Map them.
7537 (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
7538 elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
7539 elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
7540 elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
7541 elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
7542 elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
7543 movi_shori_putval) [INCLUDE_SHMEDIA]: New.
7544 (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
7545 datalabel_got_offset.
7546 (sh_elf_link_hash_newfunc): Initialize it.
7547 (sh_elf_relocate_section): Augment the scope of
7548 seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
7549 GOT and GOTOFF handling to new SHmedia relocation types. Support
7550 GOT_BIAS.
7551 (sh_elf_check_relocs): Likewise.
7552 (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
7553 PLT entries using movi_shori_putval. Support GOT_BIAS.
7554 (sh_elf_finish_dynamic_sections): Likewise.
7555 * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
7556 relocation, it's now done by the caller.
7557 (GOT_BIAS): New.
7558 * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
7559 elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
7560 elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
7561 elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
7562 elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
7563 elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
7564 sh64_elf64_hash_table): New.
7565 (sh_elf64_howto_table): Introduce new relocs.
7566 (sh_elf64_info_to_howto): Accept new PIC relocs.
7567 (sh_elf64_relocate_section): Augment the scope of
7568 seen_stt_datalabel. Support new PIC relocs.
7569 (sh_elf64_check_relocs): Support new PIC relocs.
7570 (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
7571 elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
7572 elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
7573 elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
7574 sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
7575 movi_shori_putval, movi_3shori_putval,
7576 sh64_elf64_create_dynamic_sections,
7577 sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
7578 sh64_elf64_size_dynamic_sections,
7579 sh64_elf64_finish_dynamic_symbol,
7580 sh64_elf64_finish_dynamic_sections): New.
7581 (elf_backend_create_dynamic-sections,
7582 bfd_elf64_bfd_link_hash_table_create,
7583 elf_backend_adjust_dynamic_symbol,
7584 elf_backend_size_dynamic_sections,
7585 elf_backend_finish_dynamic_symbol,
7586 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
7587 elf_backend_plt_readonly, elf_backend_want_plt_sym,
7588 elf_backend_got_header_size, elf_backend_plt_header_size):
7589 Define.
7590 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
7591 * elf32-sh.c: Renumbered and renamed some SH5 relocations to
7592 match official numbers and names; moved unmaching ones to the
7593 range 0xf2-0xff.
7594 * elf32-sh64.c, elf64-sh64.c: Likewise.
7595 2001-03-12 DJ Delorie <dj@redhat.com>
7596 * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
7597 sections.
7598 2001-03-12 DJ Delorie <dj@redhat.com>
7599 * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
7600 be aligned.
7601 * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
7602 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
7603 * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
7604 (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
7605 .cranges section with SEC_SORT_ENTRIES set.
7606 (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
7607 incoming sorted .cranges section.
7608 (sh64_bfd_elf_copy_private_section_data): New.
7609 (sh64_elf_final_write_processing): Only sort .cranges and modify
7610 start address if called by linker.
7611 2001-01-08 Ben Elliston <bje@redhat.com>
7612 * elf32-sh64.c (sh64_elf_final_write_processing): Activate
7613 Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
7614 * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
7615 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
7616 * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
7617 line. Add comments before all entries.
7618 <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
7619 comment.
7620 (sh_elf64_reloc): Correct head comment.
7621 (sh_elf64_relocate_section): Correct spacing.
7622 <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
7623 instead call reloc_dangerous callback.
7624 <case R_SH_SHMEDIA_CODE>: New case.
7625 (sh_elf64_gc_mark_hook): Correct spacing.
7626 (sh_elf64_check_relocs): Ditto.
7627 * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
7628 New case.
7629 * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
7630 functions.
7631 (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
7632 clarify describing comment. Add comments before all entries.
7633 (sh_elf_relocate_section) <relocating for a local symbol>: Do not
7634 honour STO_SH5_ISA32; instead call reloc_dangerous callback.
7635 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
7636 Sort .cranges section in final link. Prepare to set bit 0 on
7637 entry address.
7638 * elf32-sh64.c (struct sh64_find_section_vma_data): New.
7639 (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
7640 (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
7641 .cranges section.
7642 (sh64_backend_section_from_shdr): New, to recognize
7643 SHT_SH5_CR_SORTED on incoming .cranges section.
7644 (elf_backend_section_from_shdr): Define.
7645 (sh64_elf_final_write_processing): Sort outgoing .cranges
7646 section. (New, temporarily disabled:) Set bit 0 on entry address
7647 according to ISA type.
7648 (sh64_find_section_for_address): New.
7649 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
7650 crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
7651 (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
7652 bfd_malloc, not xmalloc.
7653 (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
7654 global.
7655 * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
7656 temporarily disabled) setting bit 0 on entry address.
7657 (elf_backend_final_write_processing): Define.
7658 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
7659 * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
7660 be a proper relocation for PTA and PTB rather than a marker.
7661 <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
7662 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
7663 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
7664 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
7665 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
7666 Zero src_mask.
7667 * elf64-sh64.c: Ditto.
7668 (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
7669 * elf32-sh64.c: Include opcodes/sh64-opc.h
7670 (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
7671 argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
7672 parameters. No unused parameters. Caller changed.
7673 <case R_SH_PT_16>: New case.
7674 * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
7675 * Makefile.in: Regenerate.
7676 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
7677 * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
7678 all code sections.
7679 (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
7680 (sh64_elf_merge_private_data): Ditto.
7681 * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
7682 to access stored section flags.
7683 (sh64_elf_final_write_processing): Return immediately unless
7684 called by linker. Use sh64_elf_section_data (cranges) to get size
7685 of linker-generated cranges entries.
7686 (sh64_elf_copy_private_data): Add missing "return true".
7687 (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
7688 (sh_elf64_merge_private_data): Ditto.
7689 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
7690 * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
7691 elf64-sh64.c:sh64_elf_fake_sections.
7692 (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
7693 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
7694 * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
7695 (sh64_elf_final_write_processing): New.
7696 (elf_backend_final_write_processing): Define.
7697 (sh64_elf_fake_sections): Get header flags from tdata field.
7698 (sh64_elf_copy_private_data): Do not call
7699 sh64_elf_copy_private_data_internal, just copy e_flags field.
7700 (sh64_elf_merge_private_data): Do not call
7701 sh64_elf_copy_private_data_internal.
7702 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
7703 Remove EF_SH64_ABI64, let ELF size make difference.
7704 Remove SH64-specific BFD section flag.
7705 * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
7706 containing SHmedia through elf_section_data (asect)->tdata
7707 non-zero, not using a BFD section flag.
7708 (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
7709 (sh64_elf_merge_private_data): Similar.
7710 (elf_backend_section_flags): Don't define.
7711 (sh64_elf_backend_section_flags): Delete.
7712 * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
7713 not EF_SH64_ABI64.
7714 (sh_elf64_merge_private_data): Similar.
7715 * section.c (Section flags definitions): Don't define
7716 SEC_SH_ISA_SHMEDIA.
7717 (bfd-in2.h): Regenerate.
7718 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
7719 Make DataLabel references work with partial linking.
7720 * elf32-sh64.c: Fix formatting.
7721 (sh64_elf_link_output_symbol_hook): New.
7722 (elf_backend_link_output_symbol_hook): Define to
7723 sh64_elf_link_output_symbol_hook.
7724 (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
7725 undefined if partial linking. Adjust sanity check.
7726 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
7727 (elf_backend_link_output_symbol_hook): Define to
7728 sh64_elf64_link_output_symbol_hook.
7729 (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
7730 undefined if partial linking. Adjust sanity check.
7731 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
7732 Implement semantics for inter-file DataLabel references.
7733 * elf64-sh64.c (DATALABEL_SUFFIX): Define.
7734 (sh64_elf64_add_symbol_hook): New.
7735 (sh_elf64_relocate_section): If passing an indirect symbol with
7736 st_type STT_DATALABEL on the way to a symbol with st_other
7737 STO_SH5_ISA32, do not bitor 1 to the relocation.
7738 (elf_backend_add_symbol_hook): Define to
7739 sh64_elf64_add_symbol_hook.
7740 * elf64-sh32.c: Tweak comments.
7741 (DATALABEL_SUFFIX): Define.
7742 (sh64_elf_add_symbol_hook): New.
7743 (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
7744 * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
7745 symbol with st_type STT_DATALABEL on the way to a symbol with
7746 st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
7747 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
7748 Pass through STT_DATALABEL.
7749 * elf32-sh64.c (sh64_elf_get_symbol_type): New.
7750 (elf_backend_get_symbol_type): Define.
7751 * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
7752 (elf_backend_get_symbol_type): Define.
7753 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
7754 * elf32-sh64.c: Tweak comments.
7755 (sh64_elf_copy_private_data_internal): Add prototype.
7756 (bfd_elf32_bfd_set_private_flags): Define.
7757 (sh64_elf_copy_private_data_internal): Compare machine name, not
7758 textual BFD target name, to check whether to copy section flag
7759 SHF_SH5_ISA32.
7760 (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
7761 Tweak section-contents-type-mismatch message.
7762 (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
7763 Validize reloc-types.
7764 * elf64-sh64.c: New file.
7765 * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
7766 * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
7767 (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
7768 Regenerate dependencies.
7769 * Makefile.in: Regenerate.
7770 * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
7771 bfd_elf64_sh64l_vec.
7772 * configure.in: Handle bfd_elf64_sh64_vec and
7773 bfd_elf64_sh64l_vec.
7774 * configure: Regenerate.
7775 * po/POTFILES.in: Regenerate.
7776 * po/bfd.pot: Regenerate.
7777 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
7778 * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
7779 anything else but EF_SH64 and EF_SH64_ABI64.
7780 (sh64_elf_merge_private_data): Emit error for anything else but
7781 EF_SH64 and EF_SH64_ABI64.
7782 * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
7783 from targ_selvecs.
7784 * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
7785 bfd_elf32_sh64l_vec as a temporary measure.
7786 * configure: Regenerate.
7787 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
7788 * cpu-sh.c (arch_info_struct): Include sh5 item
7789 unconditionalized.
7790 * config.bfd (sh64-*-elf*): Do not set targ_cflags.
7791 Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
7792 bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
7793 * elf32-sh64.c: Tweak comments.
7794 (sh64_elf_set_mach_from_flags): Recognize all machine flags that
7795 are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
7796 (sh64_elf_copy_private_data_internal): Wrap long line.
7797 (sh64_elf_merge_private_data): Rewrite to allow objects from
7798 SH64 subsets to be linked together.
7799 (INCLUDE_SHMEDIA): Define.
7800 * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
7801 Parenthesize plus-expression inside or-expression.
7802 <global symbol>: Ditto.
7803 (sh_elf_set_mach_from_flags): Remove code refusing
7804 deleted EF_SH64_32BIT_ABI flag.
7805 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
7806 * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
7807 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
7808 R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
7809 (sh_elf_relocate_section) <local symbol>: Or 1 in
7810 calculation of relocation if sym->st_other & STO_SH5_ISA32.
7811 <global symbol>: Ditto if h->other & STO_SH5_ISA32.
7812 * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
7813 relocation.
7814 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
7815 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
7816 (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
7817 Regenerate dependencies.
7818 * Makefile.in: Regenerate.
7819 * archures.c: Add bfd_mach_sh5.
7820 * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
7821 Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
7822 * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
7823 * configure: Regenerate.
7824 * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
7825 BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
7826 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
7827 BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
7828 BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
7829 BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
7830 BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
7831 BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
7832 BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
7833 * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
7834 in item for SH5.
7835 * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
7836 for SHmedia relocs.
7837 [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
7838 [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
7839 shmedia_prepare_reloc, goto final_link_relocate if it returns
7840 non-zero, else fail as before.
7841 (sh_elf_set_mach_from_flags): Provide function only if not defined
7842 as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
7843 (sh_elf_set_private_flags): Provide function only if not defined
7844 as a macro.
7845 (sh_elf_copy_private_data): Similar.
7846 (sh_elf_merge_private_data): Similar.
7847 * section.c (SEC_SH_ISA_SHMEDIA): New.
7848 * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
7849 * elf32-sh64.c: New file.
7850 * libbfd.h: Regenerate.
7851 * bfd-in2.h: Regenerate.
7852 * po/POTFILES.in: Regenerate.
7853 * po/bfd.pot: Regenerate.
7854 * bfd-in2.h: Regenerate.
7855 * libbfd.h: Regenerate.
7856
e108f470
DJ
78572002-02-07 Daniel Jacobowitz <drow@mvista.com>
7858
7859 * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
7860 been included, not drag it in.
7861 * bfd-in2.h: Regenerate.
7862
259d18a3
L
78632002-02-06 H.J. Lu (hjl@gnu.org)
7864
7865 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
7866 the mach and ISA fields if necessary.
7867
f13b834e
NC
78682002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
7869
7870 * coffcode.h (coff_set_arch_mach_hook): Select the highest known
7871 ARM architecture when an F_ARM_5 flag is detected, since we cannot
7872 be sure exactly which architecture this represents.
7873
82f6addb
NC
78742002-02-05 Nick Clifton <nickc@redhat.com>
7875
7876 * po/tr.po: Updated translation.
7877
899f54f5
AM
78782002-02-05 Alan Modra <amodra@bigpond.net.au>
7879
7880 From Jimi X <jimix@watson.ibm.com>
7881 * archures (bfd_mach_ppc64): Define.
7882 (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
7883 (bfd_powerpc_arch): Define.
7884 * bfd-in2.h: Regenerate.
7885 * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
7886 (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
7887 (bfd_powerpc_archs): Add default powerpc64 arch.
7888
248866a8
AM
78892002-02-05 Alan Modra <amodra@bigpond.net.au>
7890
7891 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
7892 against section syms in readonly sections. Don't do the global
7893 sym check if we find one.
7894 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
7895 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
0a6958db 7896 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
248866a8
AM
7897 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
7898 (elf_s390_grok_prstatus): Add missing prototype.
7899
4fa5c2a8
HPN
79002002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
7901
7902 * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
7903 (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
7904 Call bfd_get_section_by_name only once. Initialize
7905 bpodata->n_bpo_relocs_this_section.
7906 (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
7907 referring to DSOs.
7908 (bpo_reloc_request_sort_fn): Don't use difference of values as
7909 return-value.
7910
537c972e
DB
79112002-02-02 David O'Brien <obrien@FreeBSD>
7912
7913 * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
7914 version 4.5 and later the same as 5-CURRENT.
7915 * configure: Re-generate.
7916
006336b8
JT
79172002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
7918
7919 * config.bfd (hppa*-*-netbsd*): New target.
7920
6c571f00
PT
79212002-01-31 Philipp Thomas <pthomas@suse.de>
7922
19397422
AM
7923 * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
7924 to front of message. Unify messages with elf32-arm.h. Use
7925 commas where neccessary.
7926 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
7927 ERROR in messages. Unify messages with coff-arm.c. Correct
7928 VFP/FPA error message.
7929 (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
7930 APCS-32 for translation.
6c571f00 7931
930b4cb2
HPN
79322002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
7933
7934 Perform on-demand global register allocation from
7935 R_MMIX_BASE_PLUS_OFFSET relocs.
7936 * elf64-mmix.c (struct bpo_reloc_section_info, struct
7937 bpo_reloc_request, struct bpo_greg_section_info): New.
7938 (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
7939 bpo_reloc_request_sort_fn, mmix_elf_relax_section,
7940 _bfd_mmix_check_all_relocs,
7941 _bfd_mmix_prepare_linker_allocated_gregs,
7942 _bfd_mmix_finalize_linker_allocated_gregs): New functions.
7943 (elf_mmix_howto_table): Correct src_mask for most relocs.
7944 (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
7945 case.
7946 (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
7947 case. Fix typo in comment. New label do_mmix_reloc.
7948 (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
7949 store first object file with a base-plus-offset reloc. Call
7950 mmix_elf_check_common_relocs for the part common with mmo.
7951 (mmix_elf_final_link): Write out linker-allocated register
7952 contents section.
7953 (elf_backend_gc_sweep_hook): Define.
7954 (bfd_elf64_bfd_relax_section): Define.
7955
7956 * mmo.c: Don't include <ctype.h>
7957 (mmo_init): Correct init-once logic.
7958
3e36d993
TR
79592002-02-01 Tom Rix <trix@redhat.com>
7960
7961 * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
7962
ba323545
AM
79632002-02-01 Alan Modra <amodra@bigpond.net.au>
7964
7965 * Makefile.am: Run "make dep-am"
7966 * Makefile.in: Regenerate.
7967
012884d6
DB
79682002-01-31 David O'Brien <obrien@FreeBSD>
7969
7970 * configure.in: Recognize the differences in core files from FreeBSD
7971 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
7972 5-CURRENT.
7973 * configure: Regenerate.
7974
3b16e843
NC
79752002-01-31 Ivan Guzvinec <ivang@opencores.org>
7976
7977 * coff-or32.c: New file.
7978 * cpu-or32.c: New file.
7979 * elf32-or32.c: New file.
7980 * archures.c: Add support for or32.
7981 * targets.c: Add support for or32.
7982 * bfd-in2.h: Regenerate.
7dc0ab31 7983 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
3b16e843
NC
7984 coff_write_object_contents): Add support for or32.
7985 * config.bfd: Add target.
7986 * configure.in: Add support for or32.
7987 * configure: Regenerate.
7988 * Makefile.am: Add support for or32.
7989 * Makefile.in: Regenerate.
3b16e843
NC
7990 * po/SRC-POTFILES.in: Add or32 files.
7991 * po/bfd.pot: Regenerate.
7dc0ab31 7992
caf8ca8e
NC
79932002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
7994 Don Lindsay <lindsayd@cisco.com>
7995
7996 * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
7997 false' with a return of a bfd_reloc_ error code.
7998
e5dfef09
HPN
79992002-01-31 Hans-Peter Nilsson <hp@axis.com>
8000
8001 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
8002 unexport unreferenced symbols when --export-dynamic. Call
8003 _bfd_elf_strtab_delref when unexporting.
8004
4e4770d0
DJ
80052002-01-30 Daniel Jacobowitz <drow@mvista.com>
8006
8007 * bfd-in.h: Include <stdbool.h> if it is available.
8008 * bfd-in2.h: Regenerated.
8009
e1fa50e7
AM
80102002-01-31 Alan Modra <amodra@bigpond.net.au>
8011
8012 * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
8013 not go via the plt.
8014
b5f79c76
NC
80152002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
8016
b5f79c76
NC
8017 * archures.c: Tidy up formatting of embedded comments.
8018 * bfd.c: Tidy up formatting of embedded comments.
7dc0ab31 8019 * bfd-in.h: Fix formatting of comments.
b5f79c76
NC
8020 * reloc.c: Tidy up formatting of ordinary & embedded comments.
8021 * section.c: Tidy up formatting of embedded comments.
8022 * syms.c: Tidy up formatting of embedded comments.
8023 * targets.c: Tidy up formatting of embedded comments.
8024
8025 * bfd-in2.h: Regenerate.
8026
ca09e32b
NC
80272002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
8028
8029 * vms-tir.c (cmd_name): New function.
8030 (tir_cmd_name): New function.
8031 (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
8032 (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
8033 Fix formatting.
7dc0ab31 8034
ca09e32b
NC
8035 * peXXigen.c (pe_print_idata): Rearrange message to aid in
8036 translation.
8037 (pe_print_pdata): Rearrange message to aid in translation.
8038
8039 * libbfd.c (warn_deprecated): Rearrange error message to aid in
8040 translation.
8041
8042 * ihex.c (ihex_write_object_contents): Fix spelling typo.
8043
8044 * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
8045
8046 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
8047 message to aid in translation.
8048
8049 * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
8050 to aid in translation.
8051
8052 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
8053
7dc0ab31 80542002-01-30 Philipp Thomas <pthomas@suse.de>
ae1a89b7
PT
8055
8056 * coff-arm.c, elf32-elf.h: Unify messages.
8057
05f64ac6
NC
80582002-01-30 Nick Clifton <nickc@redhat.com>
8059
8060 * po/sv.po: Updated translation.
8061
f5a3e38a
NC
80622002-01-30 Philipp Thomas <pthomas@suse.de>
8063
8064 * dwarf2.c (read_abbrev): Use full section name in error message.
8065 (decode_line_info): Likewise.
661a3fd4
NC
8066
8067 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
8068 message.
8069
d926e03d
AM
80702002-01-30 Alan Modra <amodra@bigpond.net.au>
8071
8072 * elf64-ppc.c (func_desc_adjust): Only provide missing function
8073 descriptor symbols for undefined function code syms. Clear
8074 ELF_LINK_NON_ELF so that they can stay weak.
8075
030d18fb 80762002-01-29 Chris Demetriou <cgd@broadcom.com>
7dc0ab31 8077 Mitch Lichtenberg <mpl@broadcom.com>
030d18fb
CD
8078
8079 * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
8080 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
8081 to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
8082 generation.
8083 * bfd-in2.h: Regenerate.
8084
fcc76bea
CD
80852002-01-29 Chris Demetriou <cgd@broadcom.com>
8086
8087 * elf32-mips.c: Add additional comments about HI16 relocation
8088 processing.
8089 (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
8090 pc-relative relocations. (Reverts change made on 2001-10-31.)
8091 (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
8092 for pc-relative relocations.
8093 (mips_elf_calculate_relocation): Add a comment about a kludge
8094 in the R_MIPS_GNU_REL_HI16 handling.
8095 (_bfd_mips_elf_relocate_section): Implement that kludge;
8096 adjust pc-relative HI16 relocation for difference in HI16 and
8097 LO16 addresses, since it can't easily be done in
8098 mips_elf_calculate_relocation.
8099
f9cd9119
MS
81002002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
8101
8102 * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
8103 relocations with PC32 relocations for undefined or weak symbols.
8104 * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
8105 * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
8106
702248bb
JT
81072002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
8108
8109 * elfcore.h (elf_core_file_p): Improve comment for last change.
8110
4867be41
DJ
81112002-01-27 Daniel Jacobowitz <drow@mvista.com>
8112
8113 * configure: Regenerated.
8114
a94cef6a
JT
81152002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
8116
8117 * elfcore.h (elf_core_file_p): Set the machine architecture
8118 before processing the program headers.
8119
7562a296
HPN
81202002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
8121
966abd70
HPN
8122 * configure.in <64-bit configuration>: If using gcc, check and
8123 emit error for egcs-1.1.2.
8124 * configure: Regenerate.
8125
e8eab623
NC
81262002-01-26 Egor Duda <deo@logos-m.ru>
8127
8128 * elf.c (elfcore_grok_win32pstatus): Copy only as much information
8129 as possible to avoid stack corruption.
8130
73896efb
RH
81312002-01-26 Richard Henderson <rth@redhat.com>
8132
8133 * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
8134 for non-allocated sections.
8135
81362002-01-25 Mark Kettenis <kettenis@gnu.org>
c106e334
MK
8137
8138 * elf.c (elfcore_write_prstatus): Make sure we pass the address of
8139 prstat.pr_reg even if it is a struct.
8140
73896efb 81412002-01-25 Steve Ellcey <sje@cup.hp.com>
254ed743 8142
c5cd6d62 8143 * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
254ed743 8144
3d66c4f7
NC
81452002-01-25 Philipp Thomas <pthomas@suse.de>
8146
8147 * coffgen.c (coff_print_symbol): Don't mark info message
8148 for translation.
8149
9460ecda
NC
81502002-01-25 Nick Clifton <nickc@redhat.com>
8151
8152 * po/fr.po: Updated translation.
8153 * po/es.po: Updated translation.
8154
cc9ff76a
AM
81552002-01-25 Philipp Thomas <pthomas@suse.de>
8156
8157 * coff-alpha.c (alpha_relocate_section): Unify warning message
8158 for GP relative relocations without GP defined.
8159 * coff-mips.c (mips_relocate_section): Likewise.
8160
c68836a9
AM
81612002-01-25 Alan Modra <amodra@bigpond.net.au>
8162
8163 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
8164 unsigned overflow when new_offset < old_offset.
8165
e8eab623 81662002-01-24 Philipp Thomas <pthomas@suse.de>
391154e9
NC
8167
8168 * bfd.c (_bfd_abort): Fix typo.
8169
8ba89f17
RH
81702002-01-23 Richard Henderson <rth@redhat.com>
8171
8172 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
8173 plt entries for undefweak symbols.
8174
c6953948
NC
81752002-01-23 Steve Ellcey <sje@cup.hp.com>
8176
c5cd6d62 8177 * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
c6953948
NC
8178 (bfd_elf64_ia64_hpux_big_vec): Ditto.
8179 (bfd_elf32_h8300_vec): Ditto.
8180
41bd81ab
AM
81812002-01-23 Alan Modra <amodra@bigpond.net.au>
8182
8183 * elf64-ppc.c: Remove stale part of ABI comment.
8184 (NO_OPD_RELOCS): Define.
8185 (ppc64_elf_check_relocs): Use it.
8186 (ppc64_elf_relocate_section): Here too.
8187 (build_one_stub): Don't point function syms at the stub. Instead,
8188 hijack plt.offset.
8189 (ppc64_elf_relocate_section): Check whether REL24 relocs should
8190 really go to the stub. Make all dynamic relocs in opd against
8191 locals.
8192 (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
8193 plt.offset.
8194
f304919d
RH
81952002-01-22 Richard Henderson <rth@redhat.com>
8196
8197 * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
8198
c0ef99a7
AM
81992002-01-22 Alan Modra <amodra@bigpond.net.au>
8200
60ee0d4a
AM
8201 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
8202 TOC_BASE_OFF adjustment.
8203
c0ef99a7
AM
8204 * Makefile.am: Run "make dep-am".
8205 * Makefile.in: Regenerate.
8206 * po/SRC-POTFILES.in: Regenerate.
8207
64328b46
AM
82082002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
8209
8210 * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
8211 host defines.
8212
59953665 82132002-01-21 Hans-Peter Nilsson <hp@axis.com>
58255df3
HPN
8214
8215 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
8216 Check for and emit error if sgot is NULL at this point.
8217
9596feea
JT
82182002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
8219
8220 * config.bfd (ia64*-*-netbsd*): New target.
8221
7b45c6e1
AM
82222002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
8223
8224 * som.c (som_write_space_strings): Comment typo fix.
8225
e5094212
AM
82262002-01-21 Alan Modra <amodra@bigpond.net.au>
8227
e86ce104
AM
8228 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
8229 is_func_descriptor fields.
8230 (link_hash_newfunc): Init them.
8231 (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
8232 dot are candidates for plt entries. When processing .opd relocs,
8233 set function descriptor strings to point inside function code
8234 string, and set new ppc_link_hash_entry fields.
8235 (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
8236 (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
8237 function descriptors. It's now done in..
8238 (func_desc_adjust): New.
8239 (ppc64_elf_func_desc_adjust): New.
8240 (define elf_backend_always_size_sections): Define.
8241 (ppc64_elf_hide_symbol): New.
8242 (define elf_backend_hide_symbol): Define.
8243 (allocate_dynrelocs): Remove code looking up function descriptors
8244 as that has been done earlier.
8245 (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
8246 table.
8247 (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
8248 up function descriptor.
8249 (build_one_stub): Look up the function code sym. Check for
8250 invalid plt offsets.
8251 (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
8252 Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
8253
e5094212
AM
8254 * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
8255 boolean param.
8256 (_bfd_elf_link_hash_hide_symbol): Likewise.
8257 * elflink.h (elf_link_add_object_symbols): Adjust call to
8258 elf_backend_hide_symbol.
8259 (elf_fix_symbol_flags): Likewise.
8260 (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
8261 than bfd_alloc.
8262 * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
8263 Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
8264 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
8265 (clobber_millicode_symbols): Adjust to suit new hide_symbol.
8266 * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
8267 and adjust to suit.
8268 * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
8269 _bfd_elf_link_hash_hide_symbol rather than duplicating code.
8270 * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
8271
40b8271b
AM
82722002-01-18 Alan Modra <amodra@bigpond.net.au>
8273
8274 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
8275 dynamic function descriptor symbol, not the associated function
8276 symbol.
8277
55baa95b
EC
82782002-01-17 Eric Christopher <echristo@redhat.com>
8279
8280 * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
8281
328577ad
NC
82822002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
8283
8284 * po/bfd.pot: Regenerate.
8285 * po/fr.po: Regenerate.
8286
af746e92
AM
82872002-01-17 Alan Modra <amodra@bigpond.net.au>
8288
8289 * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
8290 Remove "Elf_Internal_Shdr *" param.
8291 (_bfd_mips_elf_section_from_bfd_section): Ditto.
8292 * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
8293 * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
8294 * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
8295 * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
8296 * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
8297 * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
8298 function to override special sections. Remove hdr arg from
8299 backend call, and don't loop.
8300
175e9962
EC
83012002-01-16 Eric Christopher <echristo@redhat.com>
8302
8303 * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
8304 on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
8305 relocations requiring gp0 and gp.
8306
96a846ea
RE
83072002-01-16 Richard Earnshaw <rearnsha@arm.com>
8308
175e9962 8309 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
96a846ea
RE
8310 EF_ARM_VFP_FLOAT.
8311 (elf32_arm_print_private_bfd_data): Likewise.
8312
af3ae48d
NC
83132002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
8314
8315 * po/tr.po: Import new version.
8316
10ed1bba
AM
83172002-01-16 Alan Modra <amodra@bigpond.net.au>
8318
8319 * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
8320 (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
8321 (ORI_R0_R0_0): Correct.
8322
5d1634d7
AM
83232002-01-16 Alan Modra <amodra@bigpond.net.au>
8324
8325 * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
8326 when plt_not_loaded.
8327 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
8328 clear .plt SEC_CODE here. Create .stub and correct .glink flags.
8329 (PLT_INITIAL_ENTRY_SIZE): Set to 24.
8330 (ppc64_elf_glink_code): Delete.
8331 (PPC64_ELF_GLINK_SIZE): Delete.
8332 (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
8333 BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
8334 ORI_R0_R0_0): Define.
8335 (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
8336 (struct ppc_link_hash_table): Add sstub and plt_overflow.
8337 (ppc64_elf_link_hash_table_create): Init them.
8338 (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
8339 Don't copy to shared lib.
8340 (ppc64_elf_check_relocs): Call bfd_set_error on errors.
8341 (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
8342 (allocate_dynrelocs <plt>): Don't change function sym here. Make
8343 room for .stub and .glink code.
8344 (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
8345 DT_PPC64_GLINK.
8346 (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
8347 bfd_elf64_bfd_final_link.
8348 (bfd_elf64_bfd_final_link): Don't define.
8349 (ppc64_elf_size_stubs): New.
8350 (build_plt_stub): New.
8351 (build_one_stub): New.
8352 (ppc64_elf_build_stubs): New.
8353 (ppc64_elf_relocate_section <toc relocs>): Remove assert.
8354 (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
8355 (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
8356 DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
8357 case output sections not separate. Adjust DT_RELASZ to not
8358 include plt relocs. Set reserved got entry. Set got and plt
8359 entry size.
8360 (elf_backend_got_header_size): Set to 8.
8361 * elf64-ppc.h: New file.
8362
c601ffdb
AM
83632002-01-16 Alan Modra <amodra@bigpond.net.au>
8364
8365 * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
8366 sections, use bfd_section_list_remove.
8367 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
8368 * elflink.h (elf_link_add_object_symbols): When removing all
8369 sections, use bfd_section_list_clear.
8370
8fb4cb7f
NC
83712002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
8372
8373 * po/sv.po: New file: Swedish translation.
8374 * configure.in (ALL_LINGUAS): Add sv.
8375 * configure: Regenerate.
8376
d3c456e9
JJ
83772002-01-15 Jakub Jelinek <jakub@redhat.com>
8378
8379 * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
8380 * elf.c (merge_sections_remove_hook): New function.
8381 (_bfd_elf_merge_sections): Pass it as 3rd argument to
8382 _bfd_merge_sections.
8383 * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
8384 * libbfd.h: Rebuilt.
8385 * merge.c (_bfd_merge_sections): Add remove_hook argument.
8386 Call remove_hook if a SEC_EXCLUDE section is encountered.
8387
1f7fd478
NC
83882002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
8389
8390 * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
8391 (xstormy16_reloc_map): Initialise new field with correct howto
8392 table.
8393 (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
8394 howto entry.
8395
b87011e9
MS
83962002-01-10 Michael Snyder <msnyder@redhat.com>
8397
8398 * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
8399 (elfcore_write_pstatus): Use long instead of pid_t;
8400 * elf-bfd.h: Change prototypes to use long instead of pid_t;
8401
175e9962 84022002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
b4db1224
JT
8403
8404 * elf.c: Update copyright years.
8405 (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
8406 and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
8407
7c76fa91
MS
84082002-01-08 Michael Snyder <msnyder@redhat.com>
8409
8410 Add capability to write corefile note sections, for gdb.
8411 * elf.c (elfcore_write_note): New function.
8412 (elfcore_write_prpsinfo): New function.
8413 (elfcore_write_prstatus): New function.
8414 (elfcore_write_pstatus): New function.
8415 (elfcore_write_prfpreg): New function.
8416 (elfcore_write_prxfpreg): New function.
97996af6 8417 * elf-bfd.h: Add prototypes for above functions.
7c76fa91 8418
e1fddb6b
AO
84192002-01-08 Alexandre Oliva <aoliva@redhat.com>
8420
8421 * elf.c (elf_fake_sections): Propagate errors from
8422 elf_backend_fake_section.
8423
8d05742f
JT
84242002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
8425
8426 * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
8427 (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
8428 (elf32-sh-nbsd.lo): New rule.
8429 * Makefile.in: Regenerate.
8430 * config.bfd (sh*le-*-netbsdelf*): New target.
8431 (sh*-*-netbsdelf*): New target.
8432 * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
8433 (bfd_elf32_shnbsd_vec): New vector.
8434 (bfd_elf32_shlnbsd_vec): New vector.
8435 * configure: Regenerate.
8436 * elf32-sh-nbsd.c: New file.
8437 * targets.c: Update copyright years.
175e9962 8438 (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
8d05742f
JT
8439 bfd_elf32_shnbsd_vec.
8440
1dba4cb4
AH
84412002-01-07 Aldy Hernandez <aldyh@redhat.com>
8442
8443 * coff-rs6000.c (READ20): Use bfd_scan_vma.
8444
47b22aef
GK
84452002-01-07 Geoffrey Keating <geoffk@redhat.com>
8446
8447 * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
8448 of a symbol in a section that will be deleted.
8449
be2d1673
NC
84502002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
8451
8452 * po/es.po: New file: Spanish translation.
8453 * configure.in (ALL_LINGUAS): Add es.
8454 * configure: Regenerate.
8455
d9cf1b54
AM
84562002-01-06 Steve Ellcey <sje@cup.hp.com>
8457
8458 * elfxx-ia64.c (is_unwind_section_name): Add target vector as
8459 argument so we can handle HP-UX specially.
8460 (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
8461 (elfNN_hpux_backend_section_from_bfd_section): New for support
8462 of SHN_IA_64_ANSI_COMMON.
8463 (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
8464 (is_unwind_section_name): Add special HP-UX support.
8465 (elfNN_ia64_section_from_shdr): Add support for more sections.
8466 (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
8467 add support for more sections.
8468 (elfNN_ia64_additional_program_headers): Modify
8469 is_unwind_section_name call.
8470 (elfNN_ia64_modify_segment_map): Remove assumption that there is
8471 only one unwind section in segment.
8472
3f3c5c34
AM
84732002-01-06 Alan Modra <amodra@bigpond.net.au>
8474
8475 * syms.c (_bfd_generic_make_empty_symbol): New function.
8476 * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
8477 _bfd_generic_make_empty_symbol.
8478 * libbfd.h: Regenerate.
8479 * bfd-in2.h: Regenerate.
8480 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
8481 (hppabsd_core_get_symtab_upper_bound): Don't define.
8482 (hppabsd_core_get_symtab): Likewise.
8483 (hppabsd_core_print_symbol): Likewise.
8484 (hppabsd_core_get_symbol_info): Likewise.
8485 (hppabsd_core_bfd_is_local_label_name): Likewise.
8486 (hppabsd_core_get_lineno): Likewise.
8487 (hppabsd_core_find_nearest_line): Likewise.
8488 (hppabsd_core_bfd_make_debug_symbol): Likewise.
8489 (hppabsd_core_read_minisymbols): Likewise.
8490 (hppabsd_core_minisymbol_to_symbol): Likewise.
8491 (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
8492 Formatting fixes.
8493 * hpux-core.c: Similarly.
8494 * irix-core.c: Similarly.
8495 * osf-core.c: Similarly.
8496 * sco5-core.c: Similarly.
8497 * binary.c (binary_make_empty_symbol): Remove function, define as
8498 _bfd_generic_make_empty_symbol.
8499 * ihex.c (ihex_make_empty_symbol): Likewise.
8500 * mmo.c (mmo_make_empty_symbol): Likewise.
8501 * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
8502 * srec.c (srec_make_empty_symbol): Likewise.
8503 * versados.c (versados_make_empty_symbol): Likewise.
8504 * vms.c (_bfd_vms_make_empty_symbol): Remove.
8505 (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
8506 * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
8507 rather than _bfd_vms_make_empty_symbol.
8508 * vms-misc.c (new_symbol): Likewise.
8509
3f0a7f7f
AM
85102002-01-05 Alan Modra <amodra@bigpond.net.au>
8511
9e7b37b3
AM
8512 * section.c (bfd_section_init): Remove unnecessary initialisations.
8513 (bfd_section_list_clear): New function.
8514 (bfd_section_list_remove, bfd_section_list_insert): New macros.
8515 (_bfd_strip_section_from_output): Use them.
8516 * coffcode.h (coff_set_alignment_hook): Likewise.
8517 * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
8518 * elf64-mips.c (mips_elf64_final_link): Likewise.
8519 * elf64-mmix.c (mmix_elf_final_link): Likewise.
8520 * sunos.c (sunos_add_dynamic_symbols): Likewise.
8521 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
8522 * bfd-in2.h: Regenerate.
8523
8524 * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
8525 rather than doing our own section handling. Clean up after errors
8526 with bfd_release and bfd_section_list_clear. Handle unexpected
8527 flags.
8528 * aoutf1.h (sunos4_core_file_p): Likewise.
8529 * aix386-core.c (aix386_core_file_p): Likewise.
8530 * cisco-core.c (cisco_core_file_validate): Likewise.
8531 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
8532 * trad-core.c (trad_unix_core_file_p): Likewise.
8533
8534 * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
8535 with bfd_release and bfd_section_list_clear.
8536 * hpux-core.c (hpux_core_core_file_p): Likewise.
8537 * irix-core.c (irix_core_core_file_p): Likewise.
8538 * lynx-core.c (lynx_core_file_p): Likewise.
8539 * osf-core.c (osf_core_core_file_p): Likewise.
8540 * rs6000-core.c (rs6000coff_core_p): Likewise.
8541 * sco5-core.c (sco5_core_file_p): Likewise.
8542
3f0a7f7f
AM
8543 * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
8544 sign extension adjustments without conditionals.
8545
a3aa38ee
JJ
85462002-01-04 Jakub Jelinek <jakub@redhat.com>
8547
8548 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
8549 CIE at .eh_frame start is removed due to no FDEs referencing it.
8550
8a8b2d4b
AJ
85512002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
8552
8553 * config.bfd (x86_64-*-netbsd*): New target.
8554 * configure.in (x86_64-*-netbsd*): Set COREFILE
8555 to netbsd-core.lo.
8556 * configure: Regenerated.
8557
04b5af89
TR
85582002-01-03 Tom Rix <trix@redhat.com>
8559
8560 * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
8561 for recent bfd_make_section_anyway change.
8562
51c5503b
NC
85632002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
8564
8565 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
8566 R_ARM_THM_PC11 reloc.
8567
07f7c046
NC
85682002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
8569
8570 * configure.in (LINGUAS): Add ja.
8571 * configure: Regenerate.
8572 * po/ja.po: Import from translation project's web site.
8573
5eefb65f
NC
85742002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
8575
8576 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
8577 messages to ease translation into other languages.
8578
39e90f10 8579For older changes see ChangeLog-0001
56882138
AM
8580\f
8581Local Variables:
8582mode: change-log
8583left-margin: 8
8584fill-column: 74
8585version-control: never
8586End:
This page took 0.531697 seconds and 4 git commands to generate.