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