2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
8651fcf9
L
12003-08-01 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
4
37cd2629
L
52003-08-01 H.J. Lu <hongjiu.lu@intel.com>
6
7 * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
8 ElfNN_External_Rela instead of Elf64_External_Rela.
9
91fb2a9d
NC
102003-08-01 Nick Clifton <nickc@redhat.com>
11
12 * config.bfd: Add code to catch obsolete configurations and warn
13 about them unless --enable-obsolete is used. Use this to mark
14 vax-vms port as obsolete.
15
e656e369
AM
162003-07-30 Alan Modra <amodra@bigpond.net.au>
17
18 * elf32-ppc.c (ppc_elf_install_value): Tidy.
19 (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
20 Formatting.
21 * elfxx-target.h: Remove PARAMS macro. Formatting.
22
50bc7936
AM
232003-07-30 Alan Modra <amodra@bigpond.net.au>
24
25 * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
26 * elf64-ppc.c (get_fdh): New function, split out from
27 ppc64_elf_edit_opd.
28 (ppc64_elf_check_relocs): Use get_fdh.
29 (func_desc_adjust): Likewise. Tidy.
30 (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
31 exit. Use get_fdh. Account for superfluous dynamic relocs.
32 (ppc64_elf_relocate_section): Warning fix.
33
a62d170c
JE
342003-07-30 Jason Eckhardt <jle@rice.edu>
35
36 * coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
37
7734b6e9
JE
382003-07-30 Jason Eckhardt <jle@rice.edu>
39
40 * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
41
37f4508b
AM
422003-07-30 Randolph Chung <tausq@debian.org>
43
44 * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
45 * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
46
217aa764
AM
472003-07-30 Alan Modra <amodra@bigpond.net.au>
48
49 * elf.c: Convert to C90, remove unnecessary prototypes and casts.
50 Replace PTR with void *. Formatting.
51 (_bfd_elf_assign_file_position_for_section): Remove INLINE.
52 (make_mapping): Likewise.
53
494dac0c
AM
542003-07-29 Alan Modra <amodra@bigpond.net.au>
55
56 * elf64-ppc.c (func_desc_adjust): Give linker created function
57 descriptor symbols a size and type.
58 (ppc64_elf_relocate_section): Correct lq insn test.
59
deaaf2f3
EC
602003-07-28 Eric Christopher <echristo@redhat.com>
61
62 * elf32-ppc.c (R_PPC_RELAX32): New relocation.
63 (ppc_elf_install_value): New function.
64 (ppc_elf_sort_rela): Remove.
65 (ppc_elf_relax_section): Rewrite. Remove old relaxation
66 and replace with out of range branch stubs.
67 (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
68
709e685d
AO
692003-07-29 Alexandre Oliva <aoliva@redhat.com>
70
71 * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
72 from input_bfd.
73
36c506c5
AM
742003-07-28 Alan Modra <amodra@bigpond.net.au>
75
76 * elf.c (special_sections): Set attributes for .got and .plt.
77
5d35169e
AM
782003-07-27 Alan Modra <amodra@bigpond.net.au>
79
80 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
81 on function descriptors.
82 (ELIMINATE_COPY_RELOCS): Expand comment.
83 (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
84 Do include ".toc1".
85
3cddba1e
L
862003-07-25 H.J. Lu <hongjiu.lu@intel.com>
87
88 * elf.c (_bfd_elf_new_section_hook): Set the default section
89 type to SHT_NULL.
90 (elf_fake_sections): Set the section type based on asect->flags
91 if it is SHT_NULL. Don't abort on processor specific section
92 types.
93
d622ef4b
L
942003-07-25 H.J. Lu <hongjiu.lu@intel.com>
95
96 * bfd-in2.h: Regenerated.
97
2f89ff8d
L
982003-07-25 H.J. Lu <hongjiu.lu@intel.com>
99
100 * elf-bfd.h (bfd_elf_special_section): New.
101 (elf_backend_data): Add special_sections, a pointer to
102 bfd_elf_special_section.
103 (elf_section_type). New.
104 (elf_section_flags): New.
105 (_bfd_elf_get_sec_type_attr): New.
106
107 * elf.c (_bfd_elf_make_section_from_shdr): Always use the
108 real section type/flags.
109 (special_sections): New.
110 (get_special_section): New.
111 (_bfd_elf_get_sec_type_attr): New.
112 (_bfd_elf_new_section_hook): Check special_section to set
113 elf_section_type and elf_section_flags.
114 (elf_fake_sections): Don't use section name to set ELF section
115 data.
116
117 * elf32-m32r.c (m32r_elf_special_sections): New.
118 (elf_backend_special_sections): Defined.
119
120 * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
121 (elf_backend_special_sections): Defined.
122
123 * elf32-mcore.c (mcore_elf_special_sections): New.
124 (elf_backend_special_sections): Defined.
125
126 * elf32-ppc.c (ppc_elf_special_sections): New.
127 (elf_backend_special_sections): Defined.
128
129 * elf32-sh64.c (sh64_elf_special_sections): New.
130 (elf_backend_special_sections): Defined.
131
132 * elf32-v850.c (v850_elf_special_sections): New.
133 (elf_backend_special_sections): Defined.
134
135 * elf32-xtensa.c (elf_xtensa_special_sections): New.
136 (elf_backend_special_sections): Defined.
137
138 * elf64-alpha.c (elf64_alpha_special_sections): New.
139 (elf_backend_special_sections): Defined.
140
141 * elf64-hppa.c (elf64_hppa_special_sections): New.
142 (elf_backend_special_sections): Defined.
143
144 * elf64-ppc.c (ppc64_elf_special_sections): New.
145 (elf_backend_special_sections): Defined.
146
147 * elf64-sh64.c (sh64_elf64_special_sections): New.
148 (elf_backend_special_sections): Defined.
149
150 * elfxx-ia64.c (elfNN_ia64_special_sections): New.
151 (elf_backend_special_sections): Defined.
152
153 * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
154
155 * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
156 (elf_backend_special_sections): Defined.
157
158 * elfxx-target.h (elf_backend_special_sections): New. Default
159 to NULL.
160 (elfNN_bed): Initialize special_sections.
161
162 * section.c (bfd_abs_section): Remove const.
163 (bfd_und_section): Likewise.
164 (bfd_com_section): Likewise.
165 (bfd_ind_section): Likewise.
166
20650579
NC
1672003-07-24 Nick Clifton <nickc@redhat.com>
168
169 * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
170 sections are assigned the LOAD attribute.
171
deaaf2f3 1722003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
09fd220b
KK
173
174 * elf32-sh.c: Convert to C90. Replace PTR with void *.
175 * elf32-sh64-com.c: Likewise.
176 * elf32-sh64.c: Likewise.
177 * elf32-sh64.h: Likewise.
178 * elf64-sh64.c: Likewise.
179
3d85aebe
KK
1802003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
181
182 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
183 (allocate_dynrelocs): Likewise.
184 (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
185 (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
186
834d807b
NC
1872003-07-24 Nick Clifton <nickc@redhat.com>
188
189 * po/fr.po: Updated French translation.
190
571b5725
BW
1912003-07-23 Bob Wilson <bob.wilson@acm.org>
192
193 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
194 near the beginning of the file. Swap order of arguments. Call
195 _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
196 (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
197 (elf_xtensa_relocate_section): Likewise.
198 (shrink_dynamic_reloc_sections): Likewise.
199
b536dc1e
BW
2002003-07-23 Bob Wilson <bob.wilson@acm.org>
201
202 * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
203 (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
204 (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
205 first printing an error message.
206 (elf_xtensa_finish_dynamic_sections): Likewise.
207 (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
208 discarding literal table entries.
209 (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
210 (elf_xtensa_do_asm_simplify): Likewise.
211
7f888330
SC
2122003-07-23 Stephane Carrez <stcarrez@nerim.fr>
213
214 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
215 we have a local symbol in common section.
216
ecc27c31
L
2172003-07-22 H.J. Lu <hongjiu.lu@intel.com>
218
219 * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
220 weak symbols.
221
f9f3cf65
NC
2222003-07-22 Nick Clifton <nickc@redhat.com>
223
224 * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
225 expected RS6000 storage classes.
226
bb32e54f
L
2272003-07-21 H.J. Lu <hongjiu.lu@intel.com>
228
229 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
230 output_bfd unused to silence gcc.
231
796f2a93
NC
2322003-07-21 Nick Clifton <nickc@redhat.com>
233
234 * po/sv.po: Updated Swedish translation.
235
f6c52c13
AM
2362003-07-21 Alan Modra <amodra@bigpond.net.au>
237
238 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
239 (_bfd_elf_symbol_refs_local_p): ..this. Declare.
240 * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
241 * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
242 now done in _bfd_elf_symbol_refs_local_p.
243 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
244 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
245 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
246
aa37626c
L
2472003-07-18 H.J. Lu <hongjiu.lu@intel.com>
248
249 * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
250
1e364ec9
L
2512003-07-18 H.J. Lu <hongjiu.lu@intel.com>
252
253 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
254 (SYMBOL_CALLS_LOCAL): Likewise.
255
256 * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
257 immediately if symbol isn't defined locally.
258
986a241f
RH
2592003-07-18 Richard Henderson <rth@redhat.com>
260
261 * elflink.c (_bfd_elf_dynamic_symbol_p): New.
262 * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
263 (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
264 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
265 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
266 * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
267 * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
268 Update all callers to provide the relocation being resolved.
269
ac4b3dd8
NC
2702003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
271
272 * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
273 targ_cflags.
274
6c37ac4d
NC
2752003-07-17 Nick Clifton <nickc@redhat.com>
276
277 * po/es.po: New Spanish translation.
278 * po/sv.po: New Swedish translation.
279 * po/opcodes.pot: Regenerate.
280
02e6ad56
RH
2812003-07-16 Richard Henderson <rth@redhat.com>
282
283 * config.bfd, configure.host, configure.in: Remove ia64-aix support.
284 * elfxx-ia64.c, targets.c: Likewise.
285
5686517c
RH
2862003-07-16 Richard Henderson <rth@redhat.com>
287
288 * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
289 for symbols defined locally plus -Bsymbolic. Tidy logic.
290
5a7ea749
RS
2912003-07-15 Richard Sandiford <rsandifo@redhat.com>
292
293 * archures.c (bfd_mach_mips7000): New.
294 * bfd-in2.h: Regenerated.
295 * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
296 * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
297 (mips_mach_extensions): Add an entry for it.
298
76bff705
NC
2992003-07-14 Nick Clifton <nickc@redhat.com>
300
301 * po/tr.po: Update with latest version.
302 * po/SRC-POTFILES.in: Regenerate.
303 * po/bfd.pot: Regenerate.
304 * Makfile.in: Regenerate.
305 * configure: Regenerate.
306
d0facd1b
NC
3072003-07-12 Jeff Baker <jbaker@qnx.com>
308
309 * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
310 * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
311 * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
312 * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
313
bcb9b88d
NC
3142003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
315
316 * coffcode.h (coff_set_section_contents): Set the
317 IMAGE_FILE_32BIT_MACHINE flag for PE targets.
318
7a9823f1
RS
3192003-07-11 Richard Sandiford <rsandifo@redhat.com>
320
321 * bfd-in.h (bfd_h8300_pad_address): Declare.
322 * bfd-in2.h: Regenerate.
323 * cpu-h8300.c (bfd_h8300_pad_address): New function.
324 * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
325 addresses before checking whether they can be relaxed.
326 (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
327 Don't complain about overflows in general 8-bit relocations.
328 * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
329 Fix handling of R_H8_DIR24A8.
330
c6baf75e
RS
3312003-07-11 Richard Sandiford <rsandifo@redhat.com>
332
333 * elf32-h8300.c: Convert function prototypes and definitions
334 to C90 syntax.
335 * coff-h8300.c: Likewise.
336 * cpu-h8300.c: Likewise.
337
fce00800
AM
3382003-07-11 Alan Modra <amodra@bigpond.net.au>
339
340 * po/SRC-POTFILES.in: Regenerate.
341 * po/bfd.pot: Likewise.
342
e901de89
BW
3432003-07-10 Bob Wilson <bob.wilson@acm.org>
344
345 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
346 .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
347 .xt.lit.plt section.
348 (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
349 and allocate memory for it.
350 (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
351 section to the .got.loc section.
352 (elf_xtensa_finish_dynamic_sections): Fix up call to
353 elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
354 the address of .got.loc.
355 (relax_property_section): Shrink .got.loc to match changes in any
356 literal table section.
357 (xtensa_is_property_section): Change to match
358 xtensa_get_property_section_name.
359 (xtensa_is_littable_section): New.
360
eff26f78
L
3612003-07-10 H.J. Lu <hongjiu.lu@intel.com>
362
363 * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
364 -1LL.
365
942e0f42
AM
3662003-07-10 Alan Modra <amodra@bigpond.net.au>
367
368 * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
369 (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
370 Run "make dep-am".
371 * Makefile.in: Regenerate.
372
73c3cd1c
AO
3732003-07-10 Alexandre Oliva <aoliva@redhat.com>
374
375 2001-09-12 Alexandre Oliva <aoliva@redhat.com>
376 * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
377 (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
378 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
379 * elf32-am33lin.c: Rename global functions.
380 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
381 * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
382 * configure.in (bfd_elf32_am33lin_vec): Added.
383 * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
384 (elf32-am33lin.lo): List dependencies.
385 * aclocal.m4, configure, Makefile.in: Rebuilt.
386 * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
387 ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
388 ELF_ARCH was not defined before.
389 (elf_symbol_leading_char): Define if not defined.
390 * elf32-am33lin.c: Override the definitions above.
391 * targets.c (bfd_elf32_am33lin_vec): New.
392
03a12831
AO
3932003-07-09 Alexandre Oliva <aoliva@redhat.com>
394
395 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
396 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
397 pcrel_relocs_copied.
398 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
399 * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
400 ld-linux.so.2 to ld.so.1.
401 2001-10-10 Alexandre Oliva <aoliva@redhat.com>
402 * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
403 (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
404 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
405 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
406 .rela.* section contents with bfd_zalloc.
407 2001-09-25 Alexandre Oliva <aoliva@redhat.com>
408 * elf-m10300.c: Added declarations for functions missing them.
409 Merge some shared-library changes from the i386 back-end. Use
410 R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
411 R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
412 (struct elf32_mn10300_link_hash_entry): Remove duplicates of
413 members of elf_link_hash_entry. Adjusted references.
414 (mn10300_elf_final_link_relocate): dynobj was already loaded
415 into a local variable, use it.
416 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
417 * elf-m10300.c: Add missing function prototypes.
418 2001-08-24 Alexandre Oliva <aoliva@redhat.com>
419 * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
420 relocation for dynamic relocations.
421 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
422 * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
423 * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
424 PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
425 (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
426 (_bfd_mn10300_elf_create_got_section): ... here, so that its
427 adress is already known at the time we compute relaxations.
428 (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
429 and PLT32 to narrower relocations.
430 * libbfd.h, bfd-in2.h: Rebuilt.
431 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
432 * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
433 BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
434 BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
435 BFD_RELOC_MN10300_RELATIVE): New relocs.
436 * libbfd.h, bfd-in2.h: Rebuilt.
437 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
438 (struct elf32_mn10300_link_hash_entry): Added DSO-related
439 fields.
440 (elf_mn10300_howto): Defined new relocation types.
441 (mn10300_reloc_map): Map them.
442 (_bfd_mn10300_elf_create_got_section): New fn.
443 (mn10300_elf_check_relocs): Handle PIC relocs.
444 (mn10300_elf_final_link_relocate): Likewise.
445 (mn10300_elf_relocate_section): Handle DSOs.
446 (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
447 (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
448 elf_mn10300_pic_plt_entry): New.
449 (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
450 elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
451 elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
452 elf_mn10300_plt_reloc_offset: New macros.
453 (ELF_DYNAMIC_INTERPRETER): Likewise.
454 (_bfd_mn10300_elf_create_dynamic_sections): New function.
455 (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
456 (_bfd_mn10300_elf_discard_copies): Likewise.
457 (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
458 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
459 (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
460 (elf_backend_can_gc_sections,
461 elf_backend_create_dynamic_sections,
462 elf_backend_adjust_dynamic_sections,
463 elf_backend_size_dynamic_sections,
464 elf_backend_finish_dynamic_symbol,
465 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
466 elf_backend_plt_readonly, elf_backend_want_plt_sym,
467 elf_backend_got_header_size, elf_backend_plt_header_size): New
468 macros.
469
b08fa4d3
AO
4702003-07-09 Alexandre Oliva <aoliva@redhat.com>
471
472 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
473 * elf-m10300.c (compute_function_info): Account for AM33
474 registers in `movm' when computing stack space for `call' when
475 linking for AM33/2.0 link.
476 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
477 * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
478 * bfd-in2.h: Rebuilt.
479 * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
480 * elf-m10300.c: Updated.
481 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
482 * archures.c (bfd_mach_am332): Defined.
483 * bfd-in2.h: Rebuilt.
484 * cpu-m10300.c (bfd_am332_arch): Defined.
485 (bfd_am33_arch): Chained with am33-2.
486 * elf-m10300.c (elf_mn10300_mach): Handle am332.
487 (_bfd_mn10300_elf_final_write_processing): Likewise.
488
201933ea
L
4892003-07-09 H.J. Lu <hongjiu.lu@intel.com>
490
491 * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
492
e717da7e
AM
4932003-07-10 Alan Modra <amodra@bigpond.net.au>
494
495 * elf64-ppc.c (bfd_elf64_mkobject): Define.
496 (struct ppc64_elf_obj_tdata): New.
497 (ppc64_elf_tdata, ppc64_tlsld_got): Define.
498 (ppc64_elf_mkobject): New function.
499 (struct got_entry): Add "owner". Move "tls_type".
500 (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
501 (ppc64_elf_init_stub_bfd): New function.
502 (create_got_section): Create header .got in dynobj. Create .got
503 and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
504 (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
505 Look for dynobj .got, and test it.
506 (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
507 (update_local_sym_info): Likewise.
508 (ppc64_elf_check_relocs): Likewise.
509 (ppc64_elf_gc_sweep_hook): Likewise.
510 (ppc64_elf_tls_optimize): Likewise.
511 (allocate_dynrelocs): Likewise.
512 (ppc64_elf_size_dynamic_sections): Likewise.
513 (ppc64_elf_relocate_section): Likewise.
514 (ppc64_elf_next_toc_section): Update comment.
515 (toc_adjusting_stub_needed): Remove unneeded cast.
516 (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
517 testing section flags.
518 (ppc64_elf_build_stubs): Likewise.
519 (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
520 (ppc64_elf_finish_dynamic_sections): Write out got sections.
521 (func_desc_adjust): Copy over dynamic info for undef weaks.
522 * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
523 (ppc64_elf_size_stubs): Update prototype.
524 * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
525 input sections rather than scanning dynobj.
526
18ad015f
RS
5272003-07-09 Richard Sandiford <rsandifo@redhat.com>
528
529 * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
530 (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
531 (mips_elf_create_msym_section): Delete.
532 (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
533 (_bfd_mips_elf_copy_indirect_symbol): Likewise.
534 (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
535 (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
536 (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
537 (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
538 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
539
e10609d3
RS
5402003-07-09 Richard Sandiford <rsandifo@redhat.com>
541
542 * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
543 symbols protected.
544
0d591ff7
RS
5452003-07-09 Richard Sandiford <rsandifo@redhat.com>
546
547 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
548 of relocations whose offset is -2.
549
fdd07405
RS
5502003-07-09 Richard Sandiford <rsandifo@redhat.com>
551
552 * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
553 forced-local symbols like other locals. Don't create relocations
554 against STN_UNDEF in irix objects.
555
d2fba50d
RS
5562003-07-09 Richard Sandiford <rsandifo@redhat.com>
557
558 * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
559 compatible objects, add the values of defined external symbols
560 to the addend.
561
6eaa6adc
RS
5622003-07-09 Richard Sandiford <rsandifo@redhat.com>
563
564 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
565 initialize a GOT entry to the symbol's st_value.
566
0c83546a
AM
5672003-07-08 Alan Modra <amodra@bigpond.net.au>
568
43c40ab2
AM
569 * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
570 * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
571 (ppc_elf_tdata): Define.
572 (elf_local_ptr_offsets): Adjust.
573 (ppc_elf_mkobject): New function.
574 (bfd_elf32_mkobject): Define.
575
0c83546a
AM
576 * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
577 * elfcore.h (elf_core_file_p): Likewise.
578 * section.c (bfd_section_init): Remove prototype.
579
58111eb7
AM
5802003-07-08 Alan Modra <amodra@bigpond.net.au>
581
582 * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
583 field.
584 (enum elf_linker_section_enum): Delete.
585 (struct elf_linker_section): Delete.
586 (struct elf_linker_section_pointers): Delete.
587 (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
588 Make linker_section_pointers a void**.
589 (elf_local_ptr_offsets, elf_linker_section): Don't define.
590 * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
591 of old item in elf-bfd.h.
592 (struct elf_linker_section): Likewise.
593 (struct elf_linker_section_pointers): Likewise.
594 (elf_local_ptr_offsets): Define.
595 (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
596 (ppc_elf_link_hash_newfunc): Init it.
597 (struct ppc_elf_link_hash_table): Add sbss.
598 (ppc_elf_link_hash_table_create): zmalloc rather than clearing
599 individual fields.
600 (elf_create_linker_section): Fold into..
601 (ppc_elf_create_linker_section): ..here. Remove hole_size code.
602 Make rela section here if shared.
603 (elf_find_pointer_linker_section): Pass lsect rather than enum.
604 (elf_create_pointer_linker_section): Adjust. zalloc rather than
605 clearing in a loop.
606 (elf_finish_pointer_linker_section): Adjust. Don't make rela
607 section here.
608 (ppc_elf_check_relocs): Adjust.
609 (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
610 creating .sbss by hand.
611 * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
612
15f8604d
JJ
6132003-07-04 Jakub Jelinek <jakub@redhat.com>
614
615 * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
616 complain_overflow_bitfield.
617 * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
618 complain_overflow_bitfield.
619
3368a7fb
JJ
6202003-07-04 Jakub Jelinek <jakub@redhat.com>
621
622 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
623 true even if -pie.
624
9203ba99
JJ
6252003-07-04 Jakub Jelinek <jakub@redhat.com>
626
627 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
628 (elfNN_ia64_dynamic_symbol_p): Change info->shared into
629 !info->executable.
630 (get_fptr): For -pie create .opd as writable section and create
631 .rela.opd as well.
632 (elfNN_ia64_check_relocs): Change info->shared into
633 !info->executable.
634 (allocate_fptr): Likewise.
635 (allocate_dynrel_entries): Account for a relative reloc for -pie
636 @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
637 for undefweak symbol. Account for an IPLT reloc in .rela.opd
638 section if -pie.
639 (set_got_entry): Don't create a relative reloc if -pie
640 want_ltoff_fptr for undefweak symbol.
641 (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
642 (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
643 @fptr().
644
645 * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
646 even if -pie.
647 * elf32-i386.c (elf_i386_relocate_section): Likewise.
648 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
649 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
650 * elf64-s390.c (elf_s390_relocate_section): Likewise.
651 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
652 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
653 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
654 * elf32-s390.c (elf_s390_relocate_section): Likewise.
655 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
656
e0a868d1 6572003-07-04 Paul Clarke <paulc@senet.com.au>
8c17da6e
NC
658
659 * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
660 (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
661 <R_H8_DIR32A16>: Fix type of relocation.
662
35cad4c4
KK
6632003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
664
665 * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
666 sections were created already. Remove unnecessary tests of
667 the previous change.
668
03151a5a
KK
6692003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
670
671 * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
672 bfd_make_section for existing sections.
673
003d627e
AM
6742003-07-04 Alan Modra <amodra@bigpond.net.au>
675
2293c499
AM
676 * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
677 create_got_section if we already have done so.
678 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
679 (sh_elf_check_relocs): Likewise.
680 (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
681 htab->root.dynobj instead.
682 (sh_elf_check_relocs): Likewise.
683 (sh_elf_finish_dynamic_sections): Likewise.
684
003d627e
AM
685 * section.c (bfd_make_section): Return NULL for existing section.
686
fa681e5d
AM
6872003-07-04 Alan Modra <amodra@bigpond.net.au>
688
689 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
690 ppc_elf_create_got if we've already done so.
3dab13f6
AM
691
692 * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
693 (_bfd_elf_find_pointer_linker_section): Likewise.
694 (bfd_elf32_create_pointer_linker_section): Likewise.
695 (bfd_elf32_finish_pointer_linker_section): Likewise.
696 (bfd_elf64_create_pointer_linker_section): Likewise.
697 (bfd_elf64_finish_pointer_linker_section): Likewise.
698 (_bfd_elf_make_linker_section_rela): Likewise.
699 * elfcode.h (elf_create_pointer_linker_section): Don't define.
700 (elf_finish_pointer_linker_section): Likewise.
701 * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
702 (_bfd_elf_create_linker_section): Move this function..
703 (_bfd_elf_find_pointer_linker_section): ..and this..
704 * elflink.h (elf_create_pointer_linker_section): ..and this..
705 (elf_finish_pointer_linker_section): ..and this..
706 * elf32-ppc.c: ..to here, renaming to the following, and adjusting
707 calls.
708 (elf_create_linker_section): Convert to C90, tidy.
709 (elf_find_pointer_linker_section): Likewise.
710 (elf_create_pointer_linker_section): Likewise.
711 (elf_finish_pointer_linker_section): Likewise.
712 * elf32-i370.c: Delete #if 0 code.
713
772119ce
AM
7142003-07-02 Alan Modra <amodra@bigpond.net.au>
715
716 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
717 _restf* to be satisfied by shared libs, and always force them local.
718 (toc_adjusting_stub_needed): Avoid scanning linker created sections.
719 Correct test for "bl".
720 (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
721 primary opcode 31.
722
bd1ea41b
MS
7232003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
724
725 * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
726 (s390_tls_reloc): New function.
727 (elf_howto_table): Add long displacement relocations R_390_20,
728 R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
729 (elf_s390_reloc_type_lookup): Likewise.
730 (elf_s390_check_relocs): Likewise.
731 (elf_s390_gc_sweep_hook): Likewise.
732 (elf_s390_relocate_section): Likewise.
733 * elf64-s390.c: Same changes as for elf32-s390.c.
734 * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
43c40ab2 735 BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
bd1ea41b
MS
736 BFD_RELOC_390_TLS_GOTIE20.
737 * bfd-in2.h: Regenerate.
738 * libbfd.h: Likewise.
739
113202d6
AM
7402003-06-30 Alan Modra <amodra@bigpond.net.au>
741
742 * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
743 (ins_imms, ins_immsm1u4): Likewise. Warning fix.
744
c58b9523
AM
7452003-06-29 Alan Modra <amodra@bigpond.net.au>
746
747 * archive.c: Convert to C90, remove unnecessary prototypes and casts.
748 Replace PTR with void *. Formatting.
749 * archive64.c: Likewise.
750 * archures.c: Likewise.
751 * bfd-in.h: Likewise.
752 * bfd.c: Likewise.
753 * bfdio.c: Likewise.
754 * bfdwin.c: Likewise.
755 * cache.c: Likewise.
756 * corefile.c: Likewise.
757 * format.c: Likewise.
758 * init.c: Likewise.
759 * libbfd-in.h: Likewise.
760 * libbfd.c: Likewise.
761 * linker.c: Likewise.
762 * opncls.c: Likewise.
763 * reloc.c: Likewise.
764 * section.c: Likewise.
765 * simple.c: Likewise.
766 * syms.c: Likewise.
767 * targets.c: Likewise.
768 * bfd-in2.h: Regenerate.
769 * libbfd.h: Regenerate.
770
771 * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
772 * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
773 * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
774 (bfd_getb64): Rewrite without parens.
775 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
776 * cache.c (insert, snip): Remove INLINE.
777 * linker.c (bfd_link_add_undef): Likewise.
778
27482721
AJ
7792003-06-29 Andreas Jaeger <aj@suse.de>
780
781 * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
782 unnecessary prototypes. Replace PTR with void *.
58611256
AJ
783 (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
784 trim plt entries. Move undefweak non-default visibility test ...
785 (allocate_dynrelocs): ... from here.
786 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
787 Change all callers.
788 (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
789 SYMBOL_REFERENCES_LOCAL for dynreloc check.
790 (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
791 dynreloc and .got relocs.
792 (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
793 for .got relocs.
27482721 794
2b86c02e
TS
7952003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
796
797 * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
798
e7c81c25
NC
7992003-06-27 Nick Clifton <nickc@redhat.com>
800
801 * opncls.c (bfd_add_gnu_debuglink_section): Rename to
802 bfd_add_gnu_debuglink_section and only create the section, do not
803 fill in its contents.
804 (bfd_fill_in_gnu_debuglink_section): New function. Fill in the
805 contents of a .gnu-debuglink section.
806 * bfd-in2.h: Regenerate.
807
72b4917c
TS
8082003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
809
810 * elfxx-mips.c: Revert .got alignment to 2**4.
811
91709090
TS
8122003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
813
814 * elf32-mips.c: Fix addend for _gp_disp special symbol.
815
7a79a000
TS
8162003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
817
818 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
819 relocation header setup.
820
e47cd125
AM
8212003-06-25 Alan Modra <amodra@bigpond.net.au>
822
823 * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
824 (ppc_elf_reloc_type_lookup): Modify comment.
825 (ppc_elf_info_to_howto): Ditto.
826 (ppc_elf_relocate_section): Ditto.
827 (ppc_elf_check_relocs): Call ppc_elf_howto_init.
828
1049f94e
AM
8292003-06-25 Alan Modra <amodra@bigpond.net.au>
830
831 * aout-ns32k.c: Correct spelling of "relocatable".
832 * aoutx.h: Likewise.
833 * bfd-in.h: Likewise.
834 * bfd.c: Likewise.
835 * bout.c: Likewise.
836 * coff-a29k.c: Likewise.
837 * coff-alpha.c: Likewise.
838 * coff-arm.c: Likewise.
839 * coff-i386.c: Likewise.
840 * coff-i860.c: Likewise.
841 * coff-i960.c: Likewise.
842 * coff-m68k.c: Likewise.
843 * coff-m88k.c: Likewise.
844 * coff-mcore.c: Likewise.
845 * coff-mips.c: Likewise.
846 * coff-or32.c: Likewise.
847 * coff-ppc.c: Likewise.
848 * coff-rs6000.c: Likewise.
849 * coff-sh.c: Likewise.
850 * coff-tic80.c: Likewise.
851 * coff64-rs6000.c: Likewise.
852 * cofflink.c: Likewise.
853 * cpu-ns32k.c: Likewise.
854 * ecoff.c: Likewise.
855 * ecofflink.c: Likewise.
856 * elf-bfd.h: Likewise.
857 * elf-eh-frame.c: Likewise.
858 * elf-hppa.h: Likewise.
859 * elf-m10200.c: Likewise.
860 * elf-m10300.c: Likewise.
861 * elf.c: Likewise.
862 * elf32-arm.h: Likewise.
863 * elf32-avr.c: Likewise.
864 * elf32-cris.c: Likewise.
865 * elf32-d10v.c: Likewise.
866 * elf32-dlx.c: Likewise.
867 * elf32-fr30.c: Likewise.
868 * elf32-frv.c: Likewise.
869 * elf32-h8300.c: Likewise.
870 * elf32-hppa.c: Likewise.
871 * elf32-i370.c: Likewise.
872 * elf32-i386.c: Likewise.
873 * elf32-i860.c: Likewise.
874 * elf32-i960.c: Likewise.
875 * elf32-ip2k.c: Likewise.
876 * elf32-iq2000.c: Likewise.
877 * elf32-m32r.c: Likewise.
878 * elf32-m68hc11.c: Likewise.
879 * elf32-m68hc1x.c: Likewise.
880 * elf32-m68k.c: Likewise.
881 * elf32-mcore.c: Likewise.
882 * elf32-mips.c: Likewise.
883 * elf32-msp430.c: Likewise.
884 * elf32-openrisc.c: Likewise.
885 * elf32-ppc.c: Likewise.
886 * elf32-s390.c: Likewise.
887 * elf32-sh.c: Likewise.
888 * elf32-sh64.c: Likewise.
889 * elf32-sparc.c: Likewise.
890 * elf32-v850.c: Likewise.
891 * elf32-vax.c: Likewise.
892 * elf32-xstormy16.c: Likewise.
893 * elf32-xtensa.c: Likewise.
894 * elf64-alpha.c: Likewise.
895 * elf64-hppa.c: Likewise.
896 * elf64-mips.c: Likewise.
897 * elf64-mmix.c: Likewise.
898 * elf64-ppc.c: Likewise.
899 * elf64-s390.c: Likewise.
900 * elf64-sh64.c: Likewise.
901 * elf64-sparc.c: Likewise.
902 * elf64-x86-64.c: Likewise.
903 * elfcode.h: Likewise.
904 * elflink.h: Likewise.
905 * elfn32-mips.c: Likewise.
906 * elfxx-ia64.c: Likewise.
907 * elfxx-mips.c: Likewise.
908 * i386linux.c: Likewise.
909 * ieee.c: Likewise.
910 * libcoff-in.h: Likewise.
911 * linker.c: Likewise.
912 * m68klinux.c: Likewise.
913 * pdp11.c: Likewise.
914 * pe-mips.c: Likewise.
915 * peXXigen.c: Likewise.
916 * reloc.c: Likewise.
917 * reloc16.c: Likewise.
918 * sparclinux.c: Likewise.
919 * sunos.c: Likewise.
920 * syms.c: Likewise.
921 * versados.c: Likewise.
922 * vms.c: Likewise.
923 * xcofflink.c: Likewise.
924 * bfd-in2.h: Regenerate.
925 * libcoff.h: Regenerate.
926 * libbfd.h: Regenerate.
927
55fd94b0
AM
9282003-06-24 Alan Modra <amodra@bigpond.net.au>
929
d85f2c7d
AM
930 * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
931 local sym errors.
932
55fd94b0
AM
933 * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
934 prototypes and casts. Replace PTR with void *. Formatting.
935 * elf32-ppc.c: Likewise. Break long strings too.
936 (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
937 (ppc_elf_unhandled_reloc): Internationalize error message.
938 * elf32-ppc.h: Remove PARAMS.
939
88810f8c
MM
9402003-06-23 Mark Mitchell <mark@codesourcery.com>
941
942 * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
943 APUinfo slots.
944 (ppc_elf_final_write_processing): Likewise.
945
6e35c4da
L
9462003-06-23 H.J. Lu <hongjiu.lu@intel.com>
947
948 * elflink.h (elf_link_input_bfd): Check raw size when using
949 kept_section to preserve debug information discarded by
950 linkonce.
951
8f3bab57
AM
9522003-06-20 Alan Modra <amodra@bigpond.net.au>
953
954 * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
955 (ppc64_elf_setup_section_lists): Set it.
956 (ppc64_elf_relocate_section): Check sym section id against top_id.
957 (ppc_build_one_stub): Comment on top_id.
958
efbc813e
NC
9592003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
960
961 * config.bfd: Add tic4x-*-rtems*.
962
4ce794b7
AM
9632003-06-20 Alan Modra <amodra@bigpond.net.au>
964
965 * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
966 prototypes and casts. Replace PTR with void *. Format copyright.
967 Mention ABI links.
968 (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
969 sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
970 (ppc_type_of_stub): Make r_type an enum.
971 (ppc64_elf_size_stubs): Likewise.
972 * elf64-ppc.h: Remove PARAMS macro.
973
d2a300cf
AM
9742003-06-19 Alan Modra <amodra@bigpond.net.au>
975
3254fd24
AM
976 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
977 elf hash tab fields.
978
d2a300cf
AM
979 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
980 (ppc64_elf_info_to_howto): Likewise.
981 (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
982 * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
983
83615de0
AM
9842003-06-19 Alan Modra <amodra@bigpond.net.au>
985
986 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
987 reloc overflow on discarded eh_frame entries.
988
9b5ecbd0
AM
9892003-06-19 Alan Modra <amodra@bigpond.net.au>
990
991 * elf64-ppc.c (toc_adjusting_stub_needed): New function.
992 (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
993 Return error condition.
994 (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
995 that have has_gp_reloc set.
996 (struct ppc_link_hash_table): Add stub_count.
997 (ppc_build_one_stub): Increment it.
998 (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
999 individual fields.
1000 * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
1001
64c456e1
AM
10022003-06-18 Alan Modra <amodra@bigpond.net.au>
1003
1004 * elflink.h (elf_gc_record_vtentry): Revert last change. Correct
1005 size calculation from addend. Round size up.
1006
3dab95d3
HPN
10072003-06-18 Hans-Peter Nilsson <hp@axis.com>
1008
1009 * elf32-cris.c (cris_elf_relocate_section) <case
1010 R_CRIS_32_GOTREL>: When linking a program, don't complain about a
1011 symbol from a normal object or an undefined weak symbol.
1012
0b13192e
AM
10132003-06-18 Alan Modra <amodra@bigpond.net.au>
1014
1015 * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
1016 R_PPC64_TOC relocs.
1017
f97b9cb8
L
10182003-06-17 H.J. Lu <hongjiu.lu@intel.com>
1019
1020 * section.c (struct sec): Put back kept_section.
1021 (STD_SECTION): Put back kept_section initialization.
1022 * bfd-in2.h: Regenerate.
1023
1024 * elflink.h (elf_link_input_bfd): Also check discarded linkonce
1025 sections for relocateable output. Use kept_section to preserve
1026 debug information discarded by linkonce.
1027
9f1c3a0a
L
10282003-06-17 Roland McGrath <roland@redhat.com>
1029
1030 * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
1031 segment-relative relocation between different segments.
1032
734b6cf9
AM
10332003-06-17 Alan Modra <amodra@bigpond.net.au>
1034
1cf1f670
AM
1035 * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
1036 optimizations earlier.
1037
734b6cf9
AM
1038 * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
1039 Restore previous input_list type.
1040 (ppc64_elf_link_hash_table_create): Undo last change.
1041 (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
1042 per output section, but don't bother with bfd_abs_section marker.
1043 (ppc64_elf_next_input_section): Adjust for multiple input section
1044 lists.
1045 (group_sections): Likewise.
1046
23fbd6fa
JJ
10472003-06-17 Jakub Jelinek <jakub@redhat.com>
1048
1049 * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
1050 *r_offset == r_addend for RELATIVE relocs against .got.
1051
dad27d18
AM
10522003-06-17 Alan Modra <amodra@bigpond.net.au>
1053
1054 * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
1055
b613960a
NC
10562003-06-17 Nick Clifton <nickc@redhat.com>
1057
1058 * elflink.h (elf_gc_record_vtentry): Allocate an extra element
4ce794b7
AM
1059 in the vtable_entries_used array to allow for the accessing
1060 the largest element.
b613960a 1061
000732f7
AM
10622003-06-17 Alan Modra <amodra@bigpond.net.au>
1063
3d6f9012
AM
1064 * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
1065 input_list.
1066 (ppc64_elf_link_hash_table_create): Init input_list here.
1067 (ppc64_elf_setup_section_lists): Remove code setting up input lists
1068 per output section. Set toc_off for abs and other standard sections.
1069 (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
1070 (ppc64_elf_next_input_section): Adjust for single input section list.
1071 Don't set toc_curr from input bfds that haven't set elf_gp.
1072 (group_sections): Adjust for single input section list.
1073
000732f7
AM
1074 * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
1075
81407a69
AM
10762003-06-16 Alan Modra <amodra@bigpond.net.au>
1077
1078 * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
1079 tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
1080 dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
1081 got section for RELATIVE relocs. Fix wrong comment. Change condition
1082 under which dynamic relocs update the section contents.
1083
a06a29f2
NC
10842003-06-13 Robert Millan <zeratul2@wanadoo.es>
1085
1086 * config.bfd: Add i386-netbsd-gnu target.
1087
7d1ebfb2
NC
10882003-06-12 Nick Clifton <nickc@redhat.com>
1089
1090 * opncls.c (calc_crc32): Rename to
1091 bfd_calc_gnu_debuglink_crc32 and export.
81407a69 1092 (GNU_DEBUGLINK): Define and use to replace occurrences of
7d1ebfb2 1093 hard-coded ".gnu_debuglink" in the code.
81407a69 1094 (get_debug_link_info): Prevent aborts by replacing call to
7d1ebfb2 1095 xmalloc with a call to malloc.
81407a69 1096 (find_separate_debug_file): Prevent aborts by replacing calls
7d1ebfb2 1097 to xmalloc and xstrdup with calls to malloc and strdup.
81407a69 1098 (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
7d1ebfb2
NC
1099 section to a bfd.
1100 * bfd-in2.h: Regenerate.
1101
11022003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
81407a69 1103
7d1ebfb2
NC
1104 * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
1105 New target (was i[3-7]86-*-openbsd* before).
1106 (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
1107 (vax-*-openbsd*): New target.
1108
d80dcc6a
TS
11092003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1110
1111 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
1112 for n32, too.
1113 (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
1114 (mips_elf_rel_dyn_section): Use appropriate section alignment.
1115 (mips_elf_create_got_section): Likewise.
1116 (_bfd_mips_elf_create_dynamic_sections): Likewise.
1117
a7ebbfdf
TS
11182003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1119
1120 * elf32-mips.c (mips_elf_generic_reloc): New Function.
1121 (elf_mips_howto_table_rel): Use it.
1122 (gprel32_with_gp): Move prototype.
1123 (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
1124 Use mips_elf_generic_reloc.
1125 (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
1126 Code cleanup.
1127 (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
1128 zero addend.
1129 (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
1130 as in the other *_gprel*_reloc functions.
1131 (gprel32_with_gp): Handle partial_inplace properly.
1132 (mips32_64bit_reloc): Use mips_elf_generic_reloc.
1133 (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
1134 Do addend handling directly instead of calling
1135 _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
1136 * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
1137 of zero addend. Handle partial_inplace properly.
1138 (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
1139 addend.
1140 (mips_elf64_gprel16_reloc): Likewise.
1141 (mips_elf64_literal_reloc): Likewise.
1142 (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
1143 logic as in the other *_gprel*_reloc functions. Handle
1144 partial_inplace properly.
1145 (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
1146 addend. Handle partial_inplace properly.
1147 (mips16_gprel_reloc): Likewise. Do addend handling directly instead
1148 of calling _bfd_mips_elf_gprel16_with_gp.
1149 * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
1150 (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
1151 of zero addend.
1152 (mips_elf_shift6_reloc): Handle partial_inplace properly.
1153 (mips16_gprel_reloc): Likewise. Do addend handling directly instead
1154 of calling _bfd_mips_elf_gprel16_with_gp.
1155 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
1156 partial_inplace properly. Fix wrong addend handling. Fix overflow
1157 check.
1158 (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
1159 exported.
1160 (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
1161 (_bfd_mips_elf_relocate_section): Likewise.
1162 (mips_elf_create_dynamic_relocation): Update sec_info_type access.
1163 * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
1164 (_bfd_mips_elf_sign_extend): New prototype.
1165
49ba19a4 11662003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
81407a69 1167
49ba19a4
NC
1168 * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
1169 New target (was sparc-*-openbsd* before).
1170 (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
81407a69 1171
de6e5e1a
NC
1172 * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
1173 * configure: Regenerate.
1174
3b443373
L
11752003-06-11 H.J. Lu <hongjiu.lu@intel.com>
1176
1177 * po/Make-in (DESTDIR): New.
1178 (install-data-yes): Support $(DESTDIR).
1179 (uninstall): Likewise.
1180
795bb480
AM
11812003-06-11 Alan Modra <amodra@bigpond.net.au>
1182
1183 * Makefile.am (config.status): Depend on version.h.
1184 Run "make dep-am".
1185 * Makefile.in: Regenerate.
1186 * po/SRC-POTFILES.in: Regenerate.
1187
adadcc0c
AM
11882003-06-10 Alan Modra <amodra@bigpond.net.au>
1189 Gary Hade <garyhade@us.ibm.com>
1190
1191 * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
1192
f4984206
RS
11932003-06-10 Richard Sandiford <rsandifo@redhat.com>
1194
1195 * archures.c (bfd_mach_h8300sxn): New architecture.
1196 * bfd-in2.h: Regenerate.
1197 * cpu-h8300.c (h8300_scan): Check for 'sxn'.
1198 (h8300sxn_info_struct): New.
1199 (h8300sx_info_struct): Link to it.
1200 * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
1201 (elf32_h8_final_write_processing): Likewise.
1202
ad8e1ba5
AM
12032003-06-08 Alan Modra <amodra@bigpond.net.au>
1204
1205 * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
1206 elfxx-target.h so that we can use elf_backend_got_header_size.
1207 (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
1208 (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
1209 associated macros.
1210 (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
1211 dst_mask.
1212 (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
1213 ppc_stub_plt_branch_r2off.
1214 (struct ppc_stub_hash_entry): Reorganize.
1215 (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
1216 toc_curr, toc_off and emit_stub_syms.
1217 (ppc64_elf_link_hash_table_create): Init them.
1218 (ppc_stub_name): Correct string size.
1219 (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
1220 (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
1221 used.
1222 (ppc_type_of_stub): Tweak root.type test.
1223 (build_plt_stub): Remove glink code. Adjust for insn macro changes.
1224 (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
1225 ppc_stub_plt_branch_r2off.
1226 (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
1227 range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
1228 (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
1229 Initialize elf_gp and toc_curr.
1230 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
1231 (ppc64_elf_next_input_section): Set toc_off.
1232 (group_sections): Ensure groups have the same TOC.
1233 (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
1234 (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
1235 Build new glink stub.
1236 (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
1237 (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
1238 * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
1239 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
1240 * section.c (struct sec): Rename flag12 to has_gp_reloc.
1241 (STD_SECTION): Update.
1242 * ecoff.c (bfd_debug_section): Update comment.
1243 * bfd-in2.h: Regenerate.
1244
90fff0d4
DJ
12452003-06-05 Daniel Jacobowitz <drow@mvista.com>
1246
1247 * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
1248 NULL function pointers.
1249
c82b20e4
DJ
12502003-06-05 Daniel Jacobowitz <drow@mvista.com>
1251
1252 * simple.c (bfd_simple_get_relocated_section_contents): Call
1253 _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
1254
53d4437a
SS
12552003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
1256
5a5b9651
SS
1257 * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
1258 ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
1259 swaptables.
1260 * coff-tic4x.c: Ditto
53d4437a
SS
1261 * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
1262 and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
5a5b9651
SS
1263 CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
1264 ticoff1_bad_format_hook() functions. Created the coff0 and coff1
1265 swap tables.
53d4437a
SS
1266 * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
1267 * coff-a29k.c: Append COFF_SWAP_TABLE argument
1268 * coff-apollo.c: Ditto
1269 * coff-arm.c: Ditto
1270 * coff-h8300.c: Ditto
1271 * coff-h8500.c: Ditto
1272 * coff-i960.c: Ditto
1273 * coff-m68k.c: Ditto
1274 * coff-m88k.c: Ditto
1275 * coff-mcore.c: Ditto
1276 * coff-sh.c: Ditto
1277 * coff-sparc.c: Ditto
1278 * coff-tic80.c: Ditto
1279 * coff-we32k.c: Ditto
1280 * coff-z8k.c: Ditto
1281 * coff-w65.c: Ditto
1282
736694c8
SS
12832003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
1284
1285 * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
1286 initialization bug
1287
9ee5e499
JJ
12882003-06-03 Jakub Jelinek <jakub@redhat.com>
1289
1290 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
1291 (bfd_section_from_phdr): Likewise.
1292 (map_sections_to_segments): Create PT_GNU_STACK segment header.
1293 (get_program_header_size): Count with PT_GNU_STACK.
1294 * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
1295 * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
1296
6f6f27f8
L
12972003-06-03 H.J. Lu <hongjiu.lu@intel.com>
1298
1299 * elflink.h (elf_link_input_bfd): Call linker error_handler
1300 for discarded definitions.
1301
a3b6428f
NC
13022003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
1303
1304 * syms.c (decode_section_type): Return 'n' if section flags are
1305 SEC_HAS_CONTENTS && SEC_READONLY.
1306
e30ddb24
NC
13072003-06-03 Nick Clifton <nickc@redhat.com>
1308
1309 * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
1310 R_V850_ABS32. Add entry for R_V850_REL32.
adadcc0c
AM
1311 (v850_elf_reloc_map): Likewise.
1312 (v850_elf_check_relocs): Likewise.
1313 (v850_elf_perform_relocation): Likewise.
1314 (v850_elf_final_link_relocate): Likewise. Include computation
e30ddb24 1315 to make R_V850_REl32 pc-relative.
adadcc0c 1316
2558b9a9
KK
13172003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1318
1319 * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
1320 and DT_DEBUG dynamic tag even for position independent executables.
1321 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
1322
f15398ef
DJ
13232003-06-02 Daniel Jacobowitz <drow@mvista.com>
1324
1325 * config.bfd: Move obsolete entries out of the range of the
1326 targmatch sed script.
1327
cad28985
DJ
13282003-06-02 Daniel Jacobowitz <drow@mvista.com>
1329
1330 * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
1331
f2c822e3
JJ
13322003-05-31 Jakub Jelinek <jakub@redhat.com>
1333
1334 * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
1335 plt entries, not just 8191.
1336
c9c27aad
DJ
13372003-05-30 Daniel Jacobowitz <drow@mvista.com>
1338
1339 * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
1340 Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
1341
36af4a4e
JJ
13422003-05-30 Ulrich Drepper <drepper@redhat.com>
1343 Jakub Jelinek <jakub@redhat.com>
1344
1345 * elflink.h (elf_link_add_object_symbols): Use !info->executable
1346 instead of info->shared where appropriate.
1347 (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
1348 * elflink.c (_bfd_elf_create_got_section): Likewise.
1349 (_bfd_elf_link_create_dynamic_sections): Likewise.
1350 (_bfd_elf_link_assign_sym_version): Likewise.
1351 * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
1352 and DT_DEBUG dynamic tag even for position independent executables.
1353 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1354 * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
1355 * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
1356 * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
1357 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
1358 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
1359 * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
1360 * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
1361 * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
1362
f8843e87
AM
13632003-05-30 Kris Warkentin <kewarken@qnx.com>
1364
1365 * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
1366 signalled thread.
1367 (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
1368
29e1a6e4
NC
13692003-05-29 Nick Clifton <nickc@redhat.com>
1370
1371 * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
1372 Tidy up formatting.
1373 * Makefile.am: Add dependency on safe-ctype.h.
1374 * Makefile.in: Regenerate.
1375
4b555070
TS
13762003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1377
1378 * elfxx-mips.c: Don't force symbols local unconditionally.
1379
0236e03e
L
13802003-05-28 Alan Modra <amodra@bigpond.net.au>
1381
1382 * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
1383 undefined_symbol call.
1384
9e4aeb93
RS
13852003-05-27 Richard Sandiford <rsandifo@redhat.com>
1386
1387 * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
1388 (mips_elf_link_hash_table): Likewise.
1389
d0c728db
TS
13902003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1391
1392 * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
1393 R_MIPS_GNU_REL16_S2 support.
1394 (bfd_elf64_bfd_reloc_type_lookup): Use it.
1395 (mips_elf64_rtype_to_howto): Use it.
1396 * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
1397 R_MIPS_GNU_REL16_S2 support.
1398 (bfd_elf32_bfd_reloc_type_lookup): Use it.
1399 (mips_elf_n32_rtype_to_howto): Use it.
1400
759ebd76
DA
14012003-05-21 Stuart F. Downing <sdowning@fame.com>
1402
1403 * som.h: Define PA_2_0 before including a.out.h
1404
143d77c5
EC
14052003-05-07 Eric Christopher <echristo@redhat.com>
1406 Alexandre Oliva <aoliva@redhat.com>
1407
1408 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
1409 pic tests, change to warning.
1410 (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
1411
cea3d58d
NC
14122003-05-21 Marcus Comstedt <marcus@mc.pp.se>
1413
1414 * config.bfd: Check for a target triplet of shl-...-netbsdelf as
1415 well as shle-...-netbsdelf. Remove duplicate entry.
1416
385a4c14
NC
14172003-05-21 Nick Clifton <nickc@redhat.com>
1418
60e42408
NC
1419 * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
1420 for X_STORMY16_REL_12 reloc.
1421
385a4c14 1422 * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
9b5ecbd0 1423 the type of the hash table in the bfd_link_info structure.
385a4c14
NC
1424 (bfd_elf_get_runpath_list): Likewise.
1425
129b8c20
RM
14262003-05-19 Roland McGrath <roland@redhat.com>
1427
1428 * elf.c (bfd_elf_bfd_from_remote_memory): New function.
1429 * bfd-in.h: Declare it.
1430 * bfd-in2.h: Regenerated.
1431 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
1432 * elf-bfd.h (struct elf_backend_data): New function pointer member
1433 elf_backend_bfd_from_remote_memory.
1434 (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
1435 Declare them.
1436 * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
1437 (elfNN_bed): Add that to the initializer.
1438
14392003-05-15 Roland McGrath <roland@redhat.com>
1440
1441 * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
1442
22d5e339
L
14432003-05-20 Jakub Jelinek <jakub@redhat.com>
1444
1445 * elflink.h (elf_link_output_extsym): Only issue error about !=
1446 STV_DEFAULT symbols if they are bfd_link_hash_undefined.
1447
14482003-05-20 H.J. Lu <hongjiu.lu@intel.com>
1449
1450 * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
1451 when removing the old definition for symbols with non-default
1452 visibility.
1453
b645cb17
JE
14542003-05-18 Jason Eckhardt <jle@rice.edu>
1455
1456 * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
1457
d2ff124f
AS
14582003-05-17 Andreas Schwab <schwab@suse.de>
1459
1460 * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
1461 elf_section_data during processing of pc-relative and absolute
1462 relocations.
1463 (elf_m68k_relocate_section): Use the cached reloc section instead
1464 of computing it again. Fix handling of visibility. Don't modify
1465 addend when copying over a relocation into the output.
1466
9c7a29a3
AM
14672003-05-17 Alan Modra <amodra@bigpond.net.au>
1468
1469 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
1470 to trim plt entries. Move undefweak non-default visibility test..
1471 (allocate_dynrelocs): ..from here.
1472 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
1473 dynamic_sections_created here. Update comment. Move undefweak
1474 non-default visibility test..
1475 (allocate_dynrelocs): ..from here. Fix comment.
1476 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
1477 to trim plt entries. Move undefweak non-default visibility test..
1478 (allocate_dynrelocs): ..from here. Fix comment.
1479 * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
1480 STV_DEFAULT rather than comparing with zero.
1481 * elflink.c (_bfd_elf_merge_symbol): Likewise.
1482 (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
1483
9bcf4de0
TS
14842003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1485
1486 * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
1487 pointers.
1488 (_bfd_set_gp_value): Likewise.
1489
5d1db417
MS
14902003-05-16 Michael Snyder <msnyder@redhat.com>
1491 From Bernd Schmidt <bernds@redhat.com>
1492 * archures.c (bfd_mach_h8300sx): New.
1493 * bfd-in2.h: Regenerate.
1494 * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
1495 (h8300sx_info_struct): New.
1496 (h8300s_info_struct): Link to it.
1497 * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
1498 (elf32_h8_final_write_processing): Likewise.
1499 (elf32_h8_relax_section): Likewise.
1500
80c7c40a
NC
15012003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
1502
1503 * config.bfd: Accept i[3-7]86 variants.
1504 * configure.host: Likewise.
1505 * configure.in: Likewise.
1506 * configure: Regenerate.
1507
c1be741f
L
15082003-05-15 H.J. Lu <hongjiu.lu@intel.com>
1509
1510 * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
1511 symbol.
1512
a15d9d3a
L
15132003-05-15 H.J. Lu <hongjiu.lu@intel.com>
1514
1515 * elflink.h (elf_link_check_versioned_symbol): Also allow
1516 the base version.
1517
09695f56
AM
15182003-05-15 Alan Modra <amodra@bigpond.net.au>
1519 H.J. Lu <hongjiu.lu@intel.com>
1520
1521 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
1522 (elf_i386_relocate_section): Likewise.
1523 * elf32-ppc.c (allocate_dynrelocs): Likewise.
1524 (ppc_elf_relocate_section): Likewise.
1525 * elf64-ppc.c (allocate_dynrelocs): Likewise.
1526 (ppc64_elf_relocate_section): Likewise.
1527
40f62fa0
TS
15282003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1529
1530 * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
1531
47247ced
SC
15322003-05-13 Stephane Carrez <stcarrez@nerim.fr>
1533
1534 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
1535 processor capability, allow merge of HC12 and HCS12 in some cases.
1536 (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
1537 * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
1538 (bfd_m68hc12_arch): Link it.
1539 (scan_mach): New function.
1540
32dfa85d
AH
15412003-05-13 Andrew Haley <aph@redhat.com>
1542
1543 * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
1544
586119b3
AM
15452003-05-13 Alan Modra <amodra@bigpond.net.au>
1546 H.J. Lu <hongjiu.lu@intel.com>
1547
1548 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
1549 elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
1550 * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
1551 (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
1552 (ppc_elf_relocate_section): Likewise.
1553 * elf64-ppc.c (allocate_dynrelocs): Likewise.
1554 (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
1555 (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
1556 relocs need no other types.
1557 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
1558 dynreloc check.
1559 (elf_i386_relocate_section): Likewise. Use for .got relocs too.
1560 (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
1561 .got relocs.
1562
04e534c3
KK
15632003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1564
1565 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
1566 copy ELF_LINK_NON_GOT_REF from weakdef.
9b5ecbd0 1567 (allocate_dynrelocs): For undef weak syms with non-default
04e534c3
KK
1568 visibility, a) don't allocate plt entries, b) don't allocate
1569 .got relocs, c) discard dyn rel space
adadcc0c
AM
1570 (sh_elf_relocate_section): d) don't generate .got relocs, e)
1571 don't generate dynamic relocs.
04e534c3
KK
1572 (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
1573 for weakdefs when symbol already adjusted.
1574
0afb2dc0
NC
15752003-05-12 Nick Clifton <nickc@redhat.com>
1576
1577 * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
1578 overflow detection for R_XSTORMY16_16 reloc.
1579
9d29900b
NC
15802003-05-12 Paul Clarke <paulc@senet.com.au>
1581
1582 * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
1583
a48c6a54
JE
15842003-05-11 Jason Eckhardt <jle@rice.edu>
1585
1586 * elf32-i860.c (elf32_i860_relocate_highadj): Properly
1587 adjust upper bits.
1588 (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
1589 proper place.
1590 (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
1591 proper place.
1592
44f745a6
AS
15932003-05-11 Andreas Schwab <schwab@suse.de>
1594
1595 * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
1596 complicated tests for unresolvable relocs with a simple direct
1597 scheme using "unresolved_reloc" var. Report some detail on
1598 bfd_reloc_outofrange and similar errors.
1599
4ec72bde
MS
16002003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
1601
1602 * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
1603 Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
1604 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
1605 * elf64-s390.c: Likewise.
1606
64285810
MS
16072003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
1608
1609 * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
1610 (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
1611 ELF_LINK_NON_GOT_REF from weakdef.
1612 (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
1613 already been adjusted before treating it specially.
1614 * el64-s390.c: Likwise.
1615
82058a73
MS
16162003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
1617
1618 * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
1619 non-default visibility, a) don't make them dynamic, b) discard
1620 space for dynamic relocs.
1621 (elf_s390_relocate_section): Initialize the GOT entries and skip
1622 R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
1623 symbols with non-default visibility.
1624 * elf64-s390.c: Likewise.
1625
60d8b524
AM
16262003-05-09 Alan Modra <amodra@bigpond.net.au>
1627
1628 * cpu-arm.c (arm_check_note): Warning fix.
1629 * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
1630 to keep relocs if edited.
1631 (iq2000_elf_print_private_bfd_data): Return TRUE.
1632 * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
1633 ELF64_R_SYM.
1634 (elfNN_ia64_relax_ldxmov): Warning fix.
1635 * xtensa-isa.c (xtensa_add_isa): Warning fix.
1636 * xtensa-modules.c (get_num_opcodes): Warning fix.
1637
e57b5356
AM
16382003-05-09 Andrey Petrov <petrov@netbsd.org>
1639
1640 * elf.c (elf_fake_sections): Use correct cast for sh_name.
1641
45d6a902
AM
16422003-05-09 Alan Modra <amodra@bigpond.net.au>
1643
1644 * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
1645 elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
1646 (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
1647 (bfd_elf_record_link_assignment): Move from elflink.h.
1648 (_bfd_elf_merge_symbol): Likewise.
1649 (_bfd_elf_add_default_symbol): Likewise.
1650 (_bfd_elf_export_symbol): Likewise.
1651 (_bfd_elf_link_find_version_dependencies): Likewise.
1652 (_bfd_elf_link_assign_sym_version): Likewise.
1653 (_bfd_elf_link_read_relocs): Likewise.
1654 (_bfd_elf_link_size_reloc_section): Likewise.
1655 (_bfd_elf_fix_symbol_flags): Likewise.
1656 (_bfd_elf_adjust_dynamic_symbol): Likewise.
1657 (_bfd_elf_link_sec_merge_syms): Likewise.
1658 (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
1659 and bed->s->sizeof_rela.
1660 (_bfd_elf_link_output_relocs): Likewise.
1661 * elf-bfd.h (struct elf_size_info): Rename file_align to
1662 log_file_align.
1663 (struct elf_info_failed): Move from elflink.h.
1664 (struct elf_assign_sym_version_info): Likewise.
1665 (struct elf_find_verdep_info): Likewise.
1666 (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
1667 (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
1668 _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
1669 _bfd_elf_link_assign_sym_version,
1670 _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
1671 _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
1672 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
1673 _bfd_elf_link_sec_merge_syms): Declare.
1674 (bfd_elf32_link_create_dynamic_sections): Don't declare.
1675 (_bfd_elf32_link_read_relocs): Likewise.
1676 (bfd_elf64_link_create_dynamic_sections): Likewise.
1677 (_bfd_elf64_link_read_relocs): Likewise.
1678 * elflink.h: Move lots o' stuff elsewhere.
1679 * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
1680 (bfd_elf64_record_link_assignment): Likewise.
1681 (bfd_elf_record_link_assignment): Declare.
1682 * bfd-in2.h: Regenerate.
1683 * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
1684 (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
1685 * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
1686 (assign_file_positions_for_segments): Likewise.
1687 (assign_file_positions_except_relocs): Likewise.
1688 (swap_out_syms, elfcore_write_note): Likewise.
1689 * elf-m10200.c: Adjust for changed function names.
1690 * elf-m10300.c: Likewise.
1691 * elf32-arm.h: Likewise.
1692 * elf32-h8300.c: Likewise.
1693 * elf32-hppa.c: Likewise.
1694 * elf32-ip2k.c: Likewise.
1695 * elf32-m32r.c: Likewise.
1696 * elf32-m68hc11.c: Likewise.
1697 * elf32-m68hc1x.c: Likewise.
1698 * elf32-m68k.c: Likewise.
1699 * elf32-mips.c: Likewise.
1700 * elf32-ppc.c: Likewise.
1701 * elf32-sh.c: Likewise.
1702 * elf32-v850.c: Likewise.
1703 * elf32-xtensa.c: Likewise.
1704 * elf64-alpha.c: Likewise.
1705 * elf64-hppa.c: Likewise.
1706 * elf64-mmix.c: Likewise.
1707 * elf64-ppc.c: Likewise.
1708 * elf64-sh64.c: Likewise.
1709 * elfxx-ia64.c: Likewise.
1710 * elfxx-mips.c: Likewise.
1711 (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
1712 * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
1713 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
1714 * elf64-mips.c (mips_elf64_size_info): Likewise.
1715 * elf64-s390.c (s390_elf64_size_info): Likewise.
1716 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
1717
bf1e742e
L
17182003-05-08 H.J. Lu <hongjiu.lu@intel.com>
1719
1720 * elflink.h (elf_add_default_symbol): After skipping the
1721 unversioned symbol, go to non-default one.
1722
6a32c710
L
17232003-05-07 H.J. Lu <hongjiu.lu@intel.com>
1724
1725 * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
1726 want_plt field.
1727 (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
1728 for symbols with non-default visibility.
1729
71552942
L
17302003-05-07 H.J. Lu <hongjiu.lu@intel.com>
1731
1732 * elflink.h (elf_link_check_versioned_symbol): Also handle the
1733 case that a DSO references a hidden symbol which may be
1734 satisfied by a versioned symbol in another DSO.
1735 (elf_link_output_extsym): Check versioned definition for hidden
1736 symbol referenced by a DSO.
1737
208c2cd6
NC
17382003-05-07 Nick Clifton <nickc@redhat.com>
1739
1740 * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
1741 R_XSTORMY16_16 reloc to ignore overflows.
1742
aa701218
AO
17432003-05-06 Alexandre Oliva <aoliva@redhat.com>
1744
1745 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
1746 error message for mixing different-endian files. Check for ABI
1747 compatibility of input files with the selected emulation.
1748
4e795f50
AM
17492003-05-05 Alan Modra <amodra@bigpond.net.au>
1750
1751 * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
1752 non-default visibility, a) don't make them dynamic, b) discard
1753 space for dynamic relocs.
1754 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
1755
1756 * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
1757 non-default visibility, a) don't allocate plt entries, b) don't
1758 allocate .got relocs, c) discard dyn rel space,
1759 (ppc_elf_relocate_section): d) don't generate .got relocs, e)
1760 don't generate dynamic relocs.
1761 * elf64-ppc.c (allocate_dynrelocs): As above.
1762 (ppc64_elf_relocate_section): As above.
1763
4bc6e03a
AJ
17642003-05-05 Andreas Jaeger <aj@suse.de>
1765
1766 * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
1767 relocation entries for weak undefined symbols with non-default
1768 visibility.
1769 (elf64_x86_64_relocate_section): Initialize the GOT entries and
1770 skip R_386_32/R_386_PC32 for weak undefined symbols with
1771 non-default visibility.
1772
ef5aade5
L
17732003-05-04 H.J. Lu <hjl@gnu.org>
1774
1775 * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
1776 relocation entries for weak undefined symbols with non-default
1777 visibility.
1778 (elf_i386_relocate_section): Initialize the GOT entries and
1779 skip R_386_32/R_386_PC32 for weak undefined symbols with
1780 non-default visibility.
129b8c20 1781
ef5aade5
L
1782 * elfxx-ia64.c (allocate_fptr): Don't allocate function
1783 descriptors for weak undefined symbols with non-default
1784 visibility.
1785 (allocate_dynrel_entries): Don't allocate relocation entries
1786 for symbols resolved to 0.
1787 (set_got_entry): Don't install dynamic relocation for weak
1788 undefined symbols with non-default visibility.
1789 (set_pltoff_entry): Likewise.
1790
1791 * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
1792 with non-default visibility.
1793 (elf_link_output_extsym): Don't make weak undefined symbols
1794 with non-default visibility dynamic.
1795
c424e0e9
L
17962003-05-04 H.J. Lu <hjl@gnu.org>
1797
1798 * elflink.h (elf_merge_symbol): Correctly handle weak definiton.
1799
d31e3dfe
L
18002003-05-04 H.J. Lu <hjl@gnu.org>
1801
1802 * elflink.h (elf_merge_symbol): Don't record a hidden/internal
1803 symbol dynamic. Check indirection when removing the old
1804 definition for symbols with non-default visibility.
1805 (elf_add_default_symbol): Skip when told by elf_merge_symbol.
1806
4d2e1ff0
NC
18072003-05-02 Nick Clifton <nickc@redhat.com>
1808
1809 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
1810 R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
1811 unsigned overflow.
1812
d40d037c
AJ
18132003-05-02 Andreas Jaeger <aj@suse.de>
1814
1815 * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
1816 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
1817 (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
1818 (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
1819 ELF_LINK_NON_GOT_REF from weakdef.
1820
c5d1701e
NC
18212003-05-02 Charles Lepple <clepple@ghz.cc>
1822 Nick Clifton <nickc@redhat.com>
1823
1824 * acinclude.m4: Fix name of --enable-install-libbfd switch.
1825 * aclocal.m4: Regenerate.
1826 * configure: Regenerate.
1827 * Makefile.in: Regenerate.
1828
81848ca0
AM
18292003-05-01 Alan Modra <amodra@bigpond.net.au>
1830
1831 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
1832 weakdef sym has already been adjusted before treating it specially.
1833 * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
1834 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
1835 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
1836 (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
03d14457 1837
c7996ad6
L
18382003-04-28 H.J. Lu <hjl@gnu.org>
1839
1840 * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
1841 the relax finalize pass.
1842
1843 * section.c (struct sec): Add need_finalize_relax and remove
1844 flag11.
1845 (STD_SECTION): Update struct sec initializer.
1846 * bfd-in2.h: Regenerated.
1847
f006af20
L
18482003-04-28 H.J. Lu <hjl@gnu.org>
1849
1850 * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
1851 to copy any information related to dynamic linking when we flip
1852 the indirection.
1853
1b1fe8fe
L
18542003-04-27 H.J. Lu <hjl@gnu.org>
1855
1856 * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
1857 (ELF_LINK_DYNAMIC_WEAK): New.
1858
1859 * elflink.h (elf_merge_symbol): Add one argument to indicate if
1860 a symbol should be skipped. Ignore definitions in dynamic
1861 objects for symbols with non-default visibility.
1862 (elf_add_default_symbol): Adjusted.
1863 (elf_link_add_object_symbols): Check if a symbol should be
1864 skipped. Don't merge the visibility field with the one from
1865 a dynamic object.
1866 (elf_link_check_versioned_symbol): Use undef_bfd.
1867 (elf_link_output_extsym): Warn if a forced local symbol is
1868 referenced from dynamic objects. Make non-weak undefined symbol
1869 with non-default visibility a fatal error.
1870
052a450c
DJ
18712003-04-27 Daniel Jacobowitz <drow@mvista.com>
1872
1873 * configure.in: Bump version on HEAD to 2.14.90.
1874 * configure: Regenerated.
1875
d204f4c0
SC
18762003-04-26 Stephane Carrez <stcarrez@nerim.fr>
1877
1878 PR savannah/3331:
1879 * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
1880 when we couldn't relax something.
1881
3c0a515d
L
18822003-04-25 Alan Modra <amodra@bigpond.net.au>
1883
1884 * elflink.h (elf_merge_symbol): When we find a regular definition
1885 for an indirect symbol, flip the indirection so that the old
1886 direct symbol now points to the new definition.
1887
d145330d
RM
18882003-04-24 Roland McGrath <roland@redhat.com>
1889
1890 * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
1891
fc0bffd6
AM
18922003-04-24 Alan Modra <amodra@bigpond.net.au>
1893
1894 * elf32-ppc.c: Formatting and comment fixes.
1895 (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
1896 (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
1897
18982003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
8d9cd6b1
NC
1899
1900 * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
1901 * bfd-in2.h: Rebuilt.
1902 * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
fc0bffd6 1903 * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
8d9cd6b1
NC
1904 & H8300SNMAGIC.
1905 (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
1906 * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
1907 (h8300sn_info_struct, h8300hn_info_struct): New.
1908 * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
1909 (elf32_h8_final_write_processing): Likewise.
1910
267fb3c1
KK
19112003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1912
1913 * elf32-sh.c (tpoff): New.
1914 (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
1915 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
fc0bffd6 1916 (allocate_dynrelocs): Don't make unnecessary dynamic TLS
267fb3c1 1917 relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
fc0bffd6 1918 (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
267fb3c1
KK
1919 (dtpoff_base): Fix wrong indentation.
1920 (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
1921 relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
1922 R_SH_TLS_TPOFF32 relocations.
1923
ef230218
JR
19242003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
1925
1926 * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
1927 * cpu-sh.c: Likewise.
1928 * elf32-sh.c: Likewise.
1929 * reloc.c (bfd_reloc_code_real): Likewise.
1930 * elf32-sh64-com.c: Change comment to refer to SuperH.
1931 * elf32-sh64.c: Likewise.
1932 * elf64-sh64.c: Likewise.
1933 * bfd-in2.h (enum bfd_architecture): Regenerate.
1934
8c29f035
AM
19352003-04-23 Alan Modra <amodra@bigpond.net.au>
1936
1937 From Julien LEMOINE <speedblue@debian.org>
1938 * elf32-i386.c (elf_i386_info_to_howto): Delete.
1939 (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
1940
26597c86
NC
19412003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1942
1943 * archures.c: Replace references to Mitsubishi M32R with references
1944 to Renesas M32R.
1945 * relocs.c: Likewise.
1946 * bfd-in2.h: Regenerate.
1947
cc13e3ef
RH
19482003-04-21 Richard Henderson <rth@redhat.com>
1949
1950 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
1951 executable when a symbol is defined both regular and dynamic.
1952
f5a6f915
SC
19532003-04-21 Stephane Carrez <stcarrez@nerim.fr>
1954
1955 * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
1956 (elf32-m68hc1x.lo): Update dependencies
1957 * configure.in: Add elf32-m68hc1x.lo.
1958 * configure: Rebuild.
1959 * Makefile.in: Rebuild.
1960
3a65329d
SC
19612003-04-21 Stephane Carrez <stcarrez@nerim.fr>
1962
1963 * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
1964 (m68hc11_elf_hash_table_create): New function.
1965 (elf32_m68hc11_link_hash_table_free): New function.
1966 (stub_hash_newfunc): New function.
1967 (m68hc11_add_stub): New function.
1968 (elf32_m68hc11_add_symbol_hook): New function.
1969 (elf32_m68hc11_setup_section_lists): New function.
1970 (elf32_m68hc11_next_input_section): New function.
1971 (elf32_m68hc11_size_stubs): New function.
1972 (elf32_m68hc11_build_stubs): New function.
1973 (m68hc11_get_relocation_value): New function.
1974 (elf32_m68hc11_relocate_section): Call the above to redirect
1975 some relocations to the trampoline code.
1976 (m68hc11_elf_export_one_stub): New function.
1977 (m68hc11_elf_set_symbol): New function.
1978 (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
1979 (m68hc11_elf_get_bank_parameters): Get parameters only when the info
1980 is not yet initialized.
1981
1982 * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
1983 (elf32_m68hc11_stub_hash_entry): New struct.
1984 (m68hc11_page_info): Add trampoline handler address.
1985 (m68hc11_elf_link_hash_table): Add stubs generation members.
1986 (elf32_m68hc11_add_symbol_hook): Declare.
1987 (elf32_m68hc11_setup_section_lists): Declare.
1988 (elf32_m68hc11_size_stubs): Declare.
1989 (elf32_m68hc11_build_stubs): Declare.
8c29f035 1990
3a65329d
SC
1991 * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
1992 (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
1993 (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
1994 (_bfd_m68hc11_elf_set_private_flags): Ditto.
1995 (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
1996 (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
1997 (bfd_elf32_bfd_link_hash_table_create): Define.
1998 (elf_backend_add_symbol_hook): Define.
1999 (m68hc11_elf_bfd_link_hash_table_create): New function.
2000 (m68hc11_elf_build_one_stub): New function.
2001 (m68hc11_elf_size_one_stub): New function.
2002 (m68hc11_elf_bfd_link_hash_table_create): Install the above.
2003 (bfd_elf32_bfd_link_hash_table_create): Define.
2004
2005 * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
2006 (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
2007 (m68hc12_phys_addr): Ditto.
2008 (m68hc12_phys_page): Ditto.
2009 (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
2010 (elf32_m68hc11_gc_mark_hook): Likewise.
2011 (elf32_m68hc11_gc_sweep_hook): Likewise.
2012 (elf32_m68hc11_check_relocs): Likewise.
2013 (elf32_m68hc11_relocate_section): Likewise.
2014 (_bfd_m68hc12_elf_set_private_flags): Likewise.
2015 (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
2016 (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
2017 (m68hc12_elf_build_one_stub): New function.
2018 (m68hc12_elf_size_one_stub): New function.
2019 (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
2020 (elf_backend_add_symbol_hook): Define.
2021 (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
2022
4081944f
NC
20232003-04-18 Nick Clifton <nickc@redhat.com>
2024
2025 * format.c (bfd_check_format_matches): Only check associated
2026 vector if the matching_vector has been created.
2027
060dc71d
AO
20282003-04-15 Alexandre Oliva <aoliva@redhat.com>
2029
2030 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
2031 2003-04-09's change.
2032
a3476bef
NC
20332003-04-15 Brian Ford <ford@vss.fsi.com>
2034
2035 * peicode.h (coff_swap_scnhdr_in): If a section holds
2036 uninitialized data and is from an object file or from an
2037 executable image that has not initialized the s_size field, or if
2038 the physical size is padded, use the virtual size (stored in
2039 s_paddr) instead.
2040
ca4fa240
NC
20412003-04-15 H.J. Lu <hjl@gnu.org>
2042
2043 * elflink.h (elf_link_add_object_symbols): Properly report
2044 filename for alignment reduction.
2045
c2dcd04e
NC
20462003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
2047
2048 * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
2049 * reloc.c: Likewise.
2050 * coff-h8300.c: Likewise.
2051 * coff-h8500.c: Likewise.
2052 * coff-sh.c: Likewise.
2053 * cpu-h8300.c: Likewise.
2054 * cpu-sh.c: Likewise.
2055 * elf32-h8300.c: Likewise.
2056 * elf32-sh.c: Likewise.
2057 * elf32-sh64-com.c: Likewise.
2058 * elf32-sh64.c: Likewise.
2059 * elf64-sh64.c: Likewise.
2060 * bfd-in2.h: Regenerate.
2061
f7661995
NC
20622003-04-14 H.J. Lu <hjl@gnu.org>
2063
2064 * elflink.h (elf_link_add_object_symbols): Maintain maximum
2065 alignment for common symbols. Warn reducing alignment for
2066 common symbols. Report old filename when symbol size changes.
2067
93a2b7ae
AO
20682003-04-12 Alexandre Oliva <aoliva@redhat.com>
2069
2070 * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
2071 occurrences of the same test changed in the previous patch.
2072 Optimize.
2073
0176c794
AO
20742003-04-11 Alexandre Oliva <aoliva@redhat.com>
2075
2076 * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
2077 (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
2078 GOT_DISP/addend only if the symbol got a global GOT entry.
2079
0fdc1bf1
AO
20802003-04-10 Alexandre Oliva <aoliva@redhat.com>
2081
2082 * elfxx-mips.c (mips_elf_calculate_relocation): Decay
2083 GOT_PAGE/GOT_OFST referencing overridable symbol to
2084 GOT_DISP/addend.
2085 (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
2086 global symbol as GOT_DISP.
2087
9b8c98a4
BW
20882003-04-10 Bob Wilson <bob.wilson@acm.org>
2089
2090 * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
2091 next relocation on an undefined symbol.
2092
ec1659c8
RH
20932003-04-09 Richard Henderson <rth@redhat.com>
2094
2095 * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
2096 Ignore relocations against r_symndx == 0.
2097
7dfb07f7
L
20982003-04-09 H.J. Lu <hjl@gnu.org>
2099
2100 * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
2101 FALSE for undefined symbols.
2102 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2103
a3805e4e
AO
21042003-04-09 Alexandre Oliva <aoliva@redhat.com>
2105
2106 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
2107 and IRIX-specific shift-to-64-bit 4-byte lengths before following
2108 addr_size.
2109
69931e60
AO
21102003-04-08 Alexandre Oliva <aoliva@redhat.com>
2111
2112 * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
2113 pointer size from ABI, not arch_bits_per_address.
2114
59a8c196
KB
21152003-04-07 Kevin Buettner <kevinb@redhat.com>
2116
2117 * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
2118 constants for n32 ABI.
2119
8e16317c
NC
21202003-04-06 Andrew Cagney <cagney@redhat.com>
2121
2122 * simple.c (bfd_simple_get_relocated_section_contents): Disable
2123 free that leads to GDB vs BFD memory corruption.
2124
196486be
SC
21252003-04-04 Stephane Carrez <stcarrez@nerim.fr>
2126
2127 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
2128 symbols that mark the end of the section.
2129 (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
2130 converting to a relative branch so that the offset is computed after
2131 the relaxation; also relocate a jsr into a bsr if possible but don't
2132 relax them if they are to a far symbol as we need to call the
2133 trampoline code.
2134 (elf_m68hc11_howto_table): Set pcrel_offset to true.
2135
be33c5dd
SS
21362003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
2137
2138 * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
2139 bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
2140 * bfd-in2.h: Regenerate
2141 * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
2142 * cpu-tic4x.c: Ditto
2143
ff0c9faf
NC
21442003-04-03 Nick Clifton <nickc@redhat.com>
2145
2146 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
2147 differently for object files and executables.
2148 * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
2149 for object files or for executables who have not already
2150 initialised the field.
2151 * libpei.h (bfd_pe_executable_p): New macro. Return true if
2152 the PE format bfd is an executable.
2153
2b98e6c0
AM
21542003-04-03 Alan Modra <amodra@bigpond.net.au>
2155
2156 * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
2157 here as it's too early to reliably determine locality.
2158 (ppc_elf_gc_sweep_hook): Likewise.
c8b21ee5 2159 (SYMBOL_REFERENCES_LOCAL): Expand comment.
2b98e6c0 2160
92403579
BW
21612003-04-02 Bob Wilson <bob.wilson@acm.org>
2162
2163 * xtensa-modules.c: Remove comment indicating that this is a
2164 generated file.
2165
c45a316a
AM
21662003-04-02 Alan Modra <amodra@bigpond.net.au>
2167
2168 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
2169
e0001a05
NC
21702003-04-01 Bob Wilson <bob.wilson@acm.org>
2171
8c29f035
AM
2172 * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
2173 (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
2174 (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
2175 xtensa-modules.lo.
2176 (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
2177 xtensa-modules.c.
2178 (cpu-xtensa.lo): New target.
2179 (elf32-xtensa.lo): Likewise.
2180 (xtensa-isa.lo): Likewise.
2181 (xtensa-modules.lo): Likewise.
2182 * Makefile.in: Regenerate.
2183 * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
2184 (bfd_archures_list): Add bfd_xtensa_arch.
2185 * config.bfd: Handle xtensa-*-*.
2186 * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
2187 * configure: Regenerate.
2188 * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
2189 PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
2190 * targets.c (bfd_elf32_xtensa_be_vec): Declare.
2191 (bfd_elf32_xtensa_le_vec): Likewise.
2192 (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
2193 * cpu-xtensa.c: New file.
2194 * elf32-xtensa.c: Likewise.
2195 * xtensa-isa.c: Likewise.
2196 * xtensa-modules.c: Likewise.
2197 * libbfd.h: Regenerate.
2198 * bfd-in2.h: Likewise.
e0001a05 2199
5a6c6817
NC
22002003-04-01 Nick Clifton <nickc@redhat.com>
2201
2202 * archures.c (bfd_mach_arm_unknown): Define.
2203 * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
2204 bfd_arm_get_mach_from_notes): Prototype.
2205 * bfd-in2.h: Regenerate.
2206 * coff-arm.c (coff_arm_merge_private_bfd_data): Call
2207 bfd_arm_merge_machines.
2208 (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
2209 * coffcode.h (coff_set_arch_mach_hook): Call
2210 bfd_arm_get_mach_from_notes.
2211 * coffgen.c (coff_real_object_p): Revert previous delta.
2212 * cpu_arm.c (arm_check_note): New function. Examine a note in a
2213 .note section.
2214 (bfd_arm_merge_machines): New function: Handle the merging of ARM
2215 binaries compiled for different architectures..
2216 (bfd_arm_update_notes): New function: Update an ARM note section.
2217 (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
2218 number from an ARM note section.
2219 * elf32-arm.h (elf32_arm_object_p): Use
2220 bfd_arm_get_mach_from_notes.
2221 (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
2222 (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
8c29f035 2223
0cc1cf99
BE
22242003-04-01 Ben Elliston <bje@wasabisystems.com>
2225
2226 * dwarf2.c (read_attribute_value): Correct typo in comment.
2227
af3ef9fe
NC
22282003-04-01 Nick Clifton <nickc@redhat.com>
2229
2230 * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
2231 instead of concat().
2232 (decode_line_info): Only free filename if it is not NULL.
d63fd5d1
NC
2233 (add_line_info): Make a copy of the filename when storing it into
2234 the info structure.
af3ef9fe 2235
6e84a906
DJ
22362003-03-31 Andreas Schwab <schwab@suse.de>
2237 Daniel Jacobowitz <drow@mvista.com>
2238
2239 * simple.c (bfd_simple_get_relocated_section_contents): Add
2240 parameter symbol_table. Optionally use it instead of the symbol
2241 table from the bfd. Save and restore output offsets and output
2242 sections around bfd_get_relocated_section_contents. Fix a memory
2243 leak.
2244 (simple_save_output_info, simple_restore_output_info): New
2245 functions.
2246 * bfd-in2.h: Regenerate.
2247 * dwarf2.c (read_abbrevs): Use
2248 bfd_simple_get_relocated_section_contents instead of
2249 bfd_get_section_contents.
2250 (decode_line_info): Likewise.
2251 (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
2252 find_rela_addend.
2253 (find_rela_addend): Remove.
2254 * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
2255 debugging sections.
2256 (elfNN_ia64_hash_table_create): Create the hash table with malloc,
2257 not bfd_zalloc.
2258
5ed6aba4
NC
22592003-03-31 David Heine <dlheine@suif.stanford.edu>
2260
2261 * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
2262 bfd_alloc.
2263 * dwarf2.c (concat_filename): Always allocate space for the
2264 returned filename.
2265 (decode_line_info): Free the allocated filename returned by
2266 concat_filename.
2267 * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
2268 * elf.c (copy_private_bfd_data): Likewise.
2269 (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
2270 * elflink.h (elf_link_sort_relocs): Fix memory leak.
2271 * format.c (bfd_check_format_matches): Likewise.
2272 * linker.c (bfd_generic_final_link): Likewise.
2273 * opncls.c (find_separate_debug_info): Likewise.
2274 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
8c29f035 2275
5941afc1
L
22762003-03-28 H.J. Lu <hjl@gnu.org>
2277
2278 * elflink.h (elf_link_add_object_symbols): Correctly combine
2279 visibilities.
2280
9d73f260
JJ
22812003-03-27 Jakub Jelinek <jakub@redhat.com>
2282
2283 * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
2284 to -1 before recomputing got offsets.
2285
a5ad465a
AS
22862003-03-26 Andreas Schwab <schwab@suse.de>
2287
2288 * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
2289 (elf_m68k_relocate_section): Use it to correctly handle symbols
2290 forced to be local.
2291 (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
2292 entries for symbols that are forced to be local.
2293
d0647110
AO
22942003-03-25 Alexandre Oliva <aoliva@redhat.com>
2295
2296 * elfxx-mips.c (_bfd_mips_relax_section): New function.
2297 * elfxx-mips.h (_bfd_mips_relax_section): Declare.
2298 * elfn32-mips.c, elf64-mips.c: Use it.
2299
e16bb312
NC
23002003-03-25 Stan Cox <scox@redhat.com>
2301 Nick Clifton <nickc@redhat.com>
8c29f035 2302
9b5ecbd0 2303 Contribute support for Intel's iWMMXt chip - an ARM variant:
e16bb312
NC
2304
2305 * archures.c: Add bfd_mach_arm_iWMMXt.
2306 * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
2307 * bfd-in2.h: Regenerate.
2308 * libbfd.h: Regenerate.
2309 * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
2310 object files to be linked with XScale ones.
2311 (coff_arm_final_link_postscript): Update note section.
2312 * coffcode.h (coff_set_arch_mach_hook): Handle note section.
2313 * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
2314 after identifying a coff binary.
2315 * cpu-arm.c (processors): Add iWMMXt.
2316 (arch_inf): Likewise.
2317 * elf32-arm.h (arm_object_p): Handle note section.
9b5ecbd0 2318 (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
e16bb312
NC
2319 be linked with XScale ones.
2320 (elf32_arm_section_flags): New function: Set flags on note section.
2321 (elf32_arm_final_write_processing): Handle note section.
2322
25f14c34
DD
23232003-03-21 DJ Delorie <dj@redhat.com>
2324
2325 * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
2326 _bfd_elf_rela_local_sym.
2327
04b3329b
L
23282003-03-20 H.J. Lu <hjl@gnu.org>
2329
2330 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
2331 non-ELF outputs.
2332
c25cfdf8
NC
23332003-03-20 Nick Clifton <nickc@redhat.com>
2334
2335 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
2336 $idata5 in case bfd_coff_final_link is not called.
2337
3e1d7f19
JJ
23382003-03-19 Jakub Jelinek <jakub@redhat.com>
2339
2340 * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
2341 field.
2342 (canon_reloc_count): Define.
2343 (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
2344 sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
2345 reloc_count.
2346 (sparc64_elf_canonicalize_reloc): New routine.
2347 (bfd_elf64_canonicalize_reloc): Define.
2348
3fa1d917
JJ
23492003-03-18 Jakub Jelinek <jakub@redhat.com>
2350
2351 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
2352 againt mergeable sections. Take r_addend into account when caching
2353 trampolines.
2354
f86b235a
RH
23552003-03-18 Richard Henderson <rth@redhat.com>
2356
8c29f035
AM
2357 * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
2358 local symbols that have no dyninfo.
f86b235a 2359
49ae03bf
NC
23602003-03-14 Gene Smith <gene.smith@siemens.com>
2361
2362 * ieee.c (ieee_write_expression): Handle the case where symbol is
2363 NULL.
2364 General formatting improvements.
2365
6a457e5c
NC
23662003-03-13 Nick Clifton <nickc@redhat.com>
2367
2368 * configure.in (LINGUAS): Add zh_CN.
2369 * configure: Regenerate.
2370 * po/zh_CN.po: New file.
2371
93516ec3
NC
23722003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
2373
2374 * aout-cris.c (BYTES_IN_WORD): Don't define.
2375 aout-encap.c: Likewise.
2376 aout-ns32k.c: Likewise.
2377 aout-tic30.c: Likewise.
2378 hp300bsd.c: Likewise.
2379 i386aout.c: Likewise.
2380 i386dynix.c: Likewise.
2381 i386linux.c: Likewise.
2382 i386lynx.c: Likewise.
2383 i386mach3.c: Likewise.
2384 m68k4knetbsd.c: Likewise.
2385 m68klinux.c: Likewise.
2386 m68klynx.c: Likewise.
2387 m68knetbsd.c: Likewise.
2388 m88kmach3.c: Likewise.
2389 mipsbsd.c: Likewise.
2390 newsos3.c: Likewise.
2391 sparclinux.c: Likewise.
2392 sparclynx.c: Likewise.
2393 sparcnetbsd.c: Likewise.
2394 vaxbsd.c: Likewise. Fix comment formatting.
2395
fee24f1c
AO
23962003-03-12 Alexandre Oliva <aoliva@redhat.com>
2397
0b25d3e6
AO
2398 * Reverted 2003-03-02's patch.
2399
fee24f1c
AO
2400 * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
2401 overridable.
2402 * elf64-mips.c (mips_elf64_canonicalize_reloc,
2403 mips_elf64_get_dynamic_reloc_upper_bound,
2404 mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
2405 (bfd_elf64_get_canonicalize_reloc,
2406 bfd_elf64_get_dynamic_reloc_upper_bound,
2407 bfd_elf64_canonicalize_dynamic_reloc): Define.
2408 (mips_elf64_slurp_reloc_table): Support dynamic.
2409 (mips_elf64_slurp_one_reloc_table): Adjust.
2410
64fb1839
NC
24112003-03-12 Nick Clifton <nickc@redhat.com>
2412
2413 * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
2414 'index' to 'offset' in test for zero value.
2415
908488f1
AO
24162003-03-11 Alexandre Oliva <aoliva@redhat.com>
2417
2418 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
2419 dynamic relocations pointing to local or section symbols, use the
2420 NULL symbol instead. Document the choice to not emit an
2421 additional R_MIPS_64 relocation.
2422
e515b051
AM
24232003-03-11 Alan Modra <amodra@bigpond.net.au>
2424
2425 * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
2426 zero index dynamic tls relocs generated for the GOT. Tidy code.
2427 Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
2428 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2429
a23b6845
AM
24302003-03-07 Alan Modra <amodra@bigpond.net.au>
2431
87d243f1
AM
2432 * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
2433 a tls_get_addr call.
2434
a23b6845
AM
2435 * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
2436 (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
2437 ELF_LINK_NON_GOT_REF from weakdef.
2438 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
2439 (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
2440 ELF_LINK_NON_GOT_REF from weakdef.
2441 * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
2442 (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
2443 ELF_LINK_NON_GOT_REF from weakdef.
2444
2d36fe5f
AH
24452003-03-06 Jakub Jelinek <jakub@redhat.com>
2446 Andrew Haley <aph@redhat.com>
2447
2448 * elflink.h (elf_bfd_discard_info): Don't process eh frames if
2449 output is relocateable.
2450
34f304a7
NC
24512003-03-06 Steven Konopa <skonopa@kgo.csc.com>
2452
2453 * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
2454 R_COMMENT.
2455
7b609f53
AM
24562003-03-06 Alan Modra <amodra@bigpond.net.au>
2457
2458 * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
2459 error messages.
2460 (ELIMINATE_COPY_RELOCS): Define to zero.
2461 (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
2462 TLSLD relocs. Report reloc types on a number of errors. Optimize
2463 LOCAL24PC check for non-local syms. Don't capitalize error messages.
2464 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
2465 (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
2466 calculating TLSLD relocs. Report reloc types on a number of errors.
2467 Don't capitalize error messages.
2468
6a0fb186
L
24692003-03-03 H.J. Lu <hjl@gnu.org>
2470
2471 * elfxx-ia64.c (USE_BRL): Removed.
2472 (oor_ip): Removed.
2473
34f304a7 24742003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
bdfaef52
JR
2475
2476 * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
2477 relocation (no special function), and make it non-partial_inplace.
2478 (sh_elf_relax_section): When creating a bsr, use a consistent value
2479 no matter if the symbol is extern or not; set addend to -4.
2480 Don't swap load / non-load instructions for SH4.
2481 (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
2482 rather than if the symbol is external to determine if adjusting the
2483 offset makes sense. Adjust the addend too if appropriate.
2484 (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
2485 relocation.
2486
a9d68a1e
NC
24872003-03-03 Nick Clifton <nickc@redhat.com>
2488
2489 * po/da.po: Installed latest translation.
2490
7c2be35c
TS
24912003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2492
2493 * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
2494 R_MIPS_PC16 to rightshift 2.
2495 (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
2496 (bfd_elf32_bfd_reloc_type_lookup): Support
2497 BFD_RELOC_MIPSEMB_16_PCREL_S2.
2498 * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
2499 R_MIPS_PC16 to rightshift 2.
2500 (mips_elf64_howto_table_rela): Likewise.
2501 (mips_reloc_map): Map to rightshifted BFD reloc.
2502 * elfn32-mips.c: The same as in elf64-mips.c.
2503 * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
2504 (mips_elf_calculate_relocation): Handle rightshifted addends for
2505 R_MIPS_PC16.
2506 * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
2507 MIPS Embedded PIC. Remove superfluous empty COMMENT.
2508 * libbfd.h: Regenerate.
2509 * bfd-in2.h: Regenerate.
2510
484a4f9c
RH
25112003-02-28 Richard Henderson <rth@redhat.com>
2512
2513 * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
2514 for ltoff22x relaxation.
2515
2ce40c65
AM
25162003-03-01 Alan Modra <amodra@bigpond.net.au>
2517
2518 * bfd-in.h (_bfd): Don't define.
2519 * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
2520 * syms.c: Likewise.
2521 * bfd-in2.h: Regenerate.
2522
2c4c2bc0
RH
25232003-02-27 Richard Henderson <rth@redhat.com>
2524
2525 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
2526 (elfNN_ia64_check_relocs): Set it.
2527 (allocate_global_data_got): Check it.
2528 (allocate_local_got): Likewise.
2529 (allocate_dynrel_entries): Likewise.
2530 (elfNN_ia64_relax_ldxmov): New.
2531 (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
2532 (elfNN_ia64_choose_gp): Split out from ...
2533 (elfNN_ia64_final_link): ... here.
8c29f035 2534
c2852e88
AC
25352003-02-27 Andrew Cagney <cagney@redhat.com>
2536
2537 * bfd.c (struct bfd): Rename "struct _bfd".
2538 * bfd-in.h: Update copyright.
2539 (struct bfd): Rename "struct _bfd".
2540 (_bfd): Define for backward compatibility.
2541 * bfd-in2.h: Regenerate.
2542
3f87cb70
AM
25432003-02-25 Alan Modra <amodra@bigpond.net.au>
2544
3f9a32bd
AM
2545 * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
2546 and rel_hdr2 when initially counting input relocs rather than after
2547 creating output reloc sections.
4fabe71e
AM
2548 (elf_link_read_relocs_from_section): Don't abort with wrong reloc
2549 sizes.
3f9a32bd 2550
3f87cb70
AM
2551 * Makefile.am: Run "make dep-am".
2552 * Makefile.in: Regenerate.
2553
07c6e936
NC
25542003-02-24 Kris Warkentin <kewarken@qnx.com>
2555
2556 * elf.c (elfcore_read_notes): Add check for QNX style core file.
2557 (elfcore_grog_nto_note): New function.
2558 (elfcore_grog_nto_gregs): New function.
2559 (elfcore_grog_nto_status): New function.
2560
aad5d350
AM
25612003-02-24 Alan Modra <amodra@bigpond.net.au>
2562
2563 * elflink.c (_bfd_elf_create_got_section): Check existing .got
2564 section flags before concluding that we've already been called.
2565 Don't use register keyword.
2566 (_bfd_elf_create_dynamic_sections): Don't use register keyword.
2567 (_bfd_elf_create_linker_section): Formatting.
2568
2ab1486e
NC
25692003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
2570
2571 * coff-h8300.c: Fix typo: intial -> initial.
2572 * coff-ppc.c: Likewise.
2573
70bccea4
AM
25742003-02-20 Alan Modra <amodra@bigpond.net.au>
2575
2576 * elf32-ppc.c: Formatting.
2577 (allocate_dynrelocs): LD and GD relocs against the same sym need
2578 separate GOT entries.
2579 (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
2580 entries per symbol.
2581
ee05f2fe
AM
25822003-02-19 Alan Modra <amodra@bigpond.net.au>
2583
26e41594
AM
2584 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
2585 removal. Localize vars. Remove unnecessary dynobj test.
2586 * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
2587 of INFO.
2588 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
2589 and optimize.
2590 (elf_i386_relocate_section): Likewise.
2591 (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
2592 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
2593 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
2594 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
2595 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
2596 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
2597 local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
2598 or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
2599 Formatting.
2600
f4656909
AM
2601 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
2602 (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
2603 test.
2604 (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
2605 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2606 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
2607 and optimize. Use ELIMINATE_COPY_RELOCS.
2608 (ppc64_elf_relocate_section): Likewise.
2609
ee05f2fe
AM
2610 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
2611 (ppc_elf_copy_indirect_symbol): Copy pc_count field.
2612 (ELIMINATE_COPY_RELOCS): Define.
2613 (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
2614 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2615 (MUST_BE_DYN_RELOC): Define.
2616 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
2617 and optimize. Trim dyn_relocs.
2618 (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
2619 not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
2620 track of pc_rel dyn relocs.
2621 (ppc_elf_relocate_section): Remove "will_become_local". Adjust
2622 WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
2623 allocate_dynrelocs. Don't recalculate "sec".
2624
7619e7c7
AM
26252003-02-18 Alan Modra <amodra@bigpond.net.au>
2626
d881513a
AM
2627 * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
2628 * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
2629 on invalid LD relocs.
2630 (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
2631 (ppc64_elf_relocate_section): Unify new handling of LD relocs and
2632 tlsld_got entry. Use IS_PPC64_TLS_RELOC.
2633
7619e7c7
AM
2634 * elf32-ppc.h: New file.
2635 * elf32-ppc.c: Include elf32-ppc.h.
2636 (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
2637 (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
2638 Add "tls_mask" field.
2639 (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
2640 (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
2641 Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
2642 sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
2643 Make use of htab shortcuts throughout file.
2644 (ppc_elf_link_hash_newfunc): Init tls_mask field.
2645 (ppc_elf_link_hash_table_create): Init new fields.
2646 (ppc_elf_copy_indirect_symbol): Copy tls_mask.
2647 (ppc_elf_howto_raw): Add tls relocs.
2648 (ppc_elf_reloc_type_lookup): Handle them.
2649 (ppc_elf_unhandled_reloc): New function.
2650 (ppc_elf_create_got): Stash got section pointer in hash table,
2651 return status. Make .rela.got too.
2652 (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
2653 (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
2654 NON_GOT_REF set. Don't allocate space in .plt here..
2655 (allocate_dynrelocs): ..do so here instead, properly ref-counting and
2656 not allocating plt entries unnecessarily. Allocate got entries here.
2657 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
2658 (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
2659 "info" during allocate_dynrelocs hash traversal. Use htab section
2660 shortcuts rather than searching for named sections. Get rid of
2661 "plt" and "strip" booleans.
2662 (update_local_sym_info, bad_shared_reloc): New functions.
2663 (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
2664 ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
2665 in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
2666 Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
2667 R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
2668 in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
2669 relocs that might use a plt entry. Set NON_GOT_REF too.
2670 Enumerate all do-nothing relocs.
2671 (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
2672 tls relocs and all plt relocs.
2673 (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
2674 (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
2675 (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
2676 shortcuts.
2677 (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
2678 bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
2679 entries and got relocs here. Warn on non-zero got reloc addend.
2680 Split out branch taken/not taken reloc code into a separate switch
2681 and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
2682 Split out HA reloc adjustments to separate switch statement. Don't
2683 warn on reloc overflow if we've already warned about undefined.
2684 Don't rebuild sym name when reporting errors. Report all possible
2685 errors from _bfd_final_link_relocate.
2686 (bfd_elf32_bfd_final_link): Don't define.
2687
cd27b276
AM
26882003-02-18 Alan Modra <amodra@bigpond.net.au>
2689
2690 * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
2691 rebuild sym name when reporting errors.
2692
ae9a127f
NC
26932003-02-17 Nick Clifton <nickc@redhat.com>
2694
3f9a32bd 2695 * elflink.h (elf_link_output_extsym): Only check
ae9a127f
NC
2696 allow_shlib_undefined for shared libraries.
2697 * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
2698 of allow_shlib_undefined.
2699 * elf32-cris.c (cris_elf_relocate_section): Likewise.
2700 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
2701 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2702 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2703 * elf32-s390.c (elf_s390_relocate_section): Likewise.
2704 * elf32-sh.c (sh_elf_relocate_section): Likewise.
2705 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2706 * elf32-vax.c (elf_vax_relocate_section): Likewise.
2707 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2708 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
2709 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2710 * elf64-s390.c (elf_s390_relocate_section): Likewise.
2711 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2712 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2713 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2714 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
2715
b5f852ea
NC
27162003-02-17 Nick Clifton <nickc@redhat.com>
2717
2718 * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
2719 address field to use in the comparison.
3f9a32bd 2720 (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
b5f852ea 2721
3193e234
NC
27222003-02-14 Bob Wilson <bob.wilson@acm.org>
2723
2724 * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
2725 backends when checking if the generic ELF target should be used.
2726
21efdc8d
NC
2727 * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
2728 outside of functions, treat values as absolute addresses.
2729
ed781d5d
NC
2730 * bfd.c: Change embedded documentation to use consistent indentation
2731 and to split up long lines. Change informal style of description
2732 for functions lacking real documentation.
2733 * coffcode.h: Break up long lines in embedded documentation.
2734 * format.c: Likewise.
2735 * targets.c: Likewise.
2736 * libcoff.h: Regenerate.
2737 * bfd-in2.h: Regenerate.
2738
58ac9f71
AM
27392003-02-14 Alan Modra <amodra@bigpond.net.au>
2740
2741 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
2742 (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
2743 (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
2744 (allocate_dynrelocs): Don't treat undefined and undefweak specially.
2745 (ppc_size_one_stub): Fix warning, and tighten plt entry check.
2746 (group_sections): Don't share a stub section if stubs are for a large
2747 section. Adjust comment.
2748 (ppc64_elf_size_stubs): Roughly double the size left for stubs if
2749 !stubs_always_before_branch.
2750 (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
2751 treat undefined and undefweak specially when processing dyn relocs.
2752
9147e853
JJ
27532003-02-13 Jakub Jelinek <jakub@redhat.com>
2754
2755 * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
2756
427bfd90
NC
27572003-02-13 Nick Clifton <nickc@redhat.com>
2758
2759 * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
2760 in computation of offset to insert into BL instruction.
2761
42b5d0ea
NC
27622003-02-11 Uwe Stieber <uwe@wwws.de>
2763
2764 * config.bfd: Add support for kaOS as cross build target system.
2765
a48ebf4d
AM
27662003-02-11 Alan Modra <amodra@bigpond.net.au>
2767
2768 * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
2769 .__tls_get_addr too.
2770 (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
2771
c95b8a7a
KK
27722003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
2773
2774 * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
2775 (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
2776 (sh_elf_link_hash_newfunc): Remove the initialization of
2777 tls_tpoff32 field.
2778 (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
2779 for which tls_tpoff32 flag is set.
2780 (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
2781 of the symbol includes the entry matched with the input_section
2782 and having tls_tpoff32 flag on. When linking statically, set
2783 symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
2784 is defined in this executable.
2785 (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
2786
a779acda
JJ
27872003-02-10 Jakub Jelinek <jakub@redhat.com>
2788
2789 * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
2790 even if there is just non-empty .rela.plt.
2791
fde78edd
NC
27922003-02-10 Nick Clifton <nickc@redhat.com>
2793
2794 * archures.c (bfd_mach_arm_ep9312): Define.
2795 * bfd-in2.h: Regenerate.
2796 * cpu-arm.c (processors[]): Add ep9312.
2797 (bfd_arm_arch): Add ep9312.
2798 * elf32-arm.h (elf32_arm_merge_private_data): Update error
2799 messages and add test for Maverick floating point support.
2800 (elf32_arm_print_private_bfd_data): Handle
2801 EF_ARM_MAVERICK_FLOAT flag.
c178919b
NC
2802 (elf32_arm_object_p): New function.
2803 (elf_backend_object_p): Define.
fde78edd 2804
e7b938ca
AM
28052003-02-10 Alan Modra <amodra@bigpond.net.au>
2806
2807 * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
2808 variables, structure fields or function params to tls_mask or
2809 similar to better reflect usage.
2810 (struct got_entry): Comment.
9b5ecbd0 2811 (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
e7b938ca
AM
2812 (get_tls_mask): Rename from get_tls_type.
2813
951fd09b
AM
28142003-02-09 Alan Modra <amodra@bigpond.net.au>
2815
2816 * elf64-ppc.c (TLS_GD_LD): Don't define..
2817 (TLS_GD): ..define this instead and update all uses.
2818 (TLS_TPRELGD): Define.
2819 (ppc64_elf_link_hash_table_create): Tweak initialization of
2820 init_refcount and init_offset.
2821 (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
2822 Mark second slot of GD or LD toc entries.
2823 (get_tls_type): Return an int. Distinguish toc GD and LD entries
2824 from other tls types.
2825 (ppc64_elf_tls_setup): New function, split out from..
2826 (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
2827 defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
2828 on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
2829 return value to properly decide whether toc GD and LD entries can
2830 optimize away __tls_get_addr call. Check next reloc after DTPMOD64
2831 to determine GD or LD rather than looking at TLS_LD flag. Don't
2832 attempt to adjust got entry tls_type here..
2833 (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
2834 look for possible merges.
2835 (ppc64_elf_size_dynamic_sections): Adjust local got entries for
2836 optimization.
2837 (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
2838 (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
2839 Make use of return value from get_tls_type to properly detect GD and
2840 LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
2841 handle tls_get_addr removal when looking at REL24 relocs, do it when
2842 looking at the previous reloc. Check reloc after DTPMOD64 to determine
2843 GD or LD.
2844 * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
2845
acc990f2
AM
28462003-02-08 Alan Modra <amodra@bigpond.net.au>
2847
00b28bb0
AM
2848 * elf32-hppa.c (group_sections): Don't share a stub section if
2849 stubs are for a large section.
2850
acc990f2
AM
2851 * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
2852 stubs if !stubs_always_before_branch.
2853
589e6347
NC
28542003-02-07 Nick Clifton <nickc@redhat.com>
2855
2856 * elf.c (swap_out_syms): Generate an error message if an
2857 equivalent output section cannot be found for a symbol.
2858
c328dc3f
JJ
28592003-02-07 Jakub Jelinek <jakub@redhat.com>
2860
2861 * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
2862 local_got_entries is NULL.
2863
84f97cb6
AS
28642003-02-06 Andreas Schwab <schwab@suse.de>
2865
2866 * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
2867 (read_value): Add parameter is_signed, use signed extraction if
2868 the value is signed.
2869 (_bfd_elf_write_section_eh_frame): Pass signed flag of the
2870 encoding to read_value.
2871
6349e628
AM
28722003-02-06 Alan Modra <amodra@bigpond.net.au>
2873
2874 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
2875 plt info when called to transfer weak sym info.
2876
411e1bfb
AM
28772003-02-05 Alan Modra <amodra@bigpond.net.au>
2878
2879 * reloc.c: Add PPC and PPC64 TLS relocs.
2880 * libbfd.h: Regenerate.
2881 * bfd-in2.h: Regenerate.
2882 * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
2883 (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
2884 against a 32 bit field.
2885 (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
2886 (_ppc64_elf_section_data): Add t_symndx and comments.
2887 (ppc64_elf_section_data): Use elf_section_data macro.
2888 (ppc64_elf_new_section_hook): American spelling.
2889 (struct got_entry, struct plt_entry): New.
2890 (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
2891 (struct ppc_stub_hash_entry): Add "addend" field.
2892 (struct ppc_link_hash_entry): Add "tls_type".
2893 (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
2894 TLS_EXPLICIT): Define.
2895 (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
2896 (link_hash_newfunc): Init new fields.
58ac9f71 2897 (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
411e1bfb
AM
2898 init_offset to NULL.
2899 (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
2900 _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
2901 there.
2902 (update_local_sym_info, update_plt_info): New functions.
2903 (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
2904 handling to use got.glist rather than got.refcount. Likewise for PLT.
2905 (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
2906 (func_desc_adjust): Adjust for new PLT list.
2907 (ppc64_elf_adjust_dynamic_symbol): Likewise.
2908 (get_sym_h, get_tls_type): New functions.
2909 (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
2910 (ppc64_elf_tls_optimize): New function.
2911 (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
2912 TLS relocs.
2913 (ppc64_elf_size_dynamic_sections): Likewise.
2914 (ppc_type_of_stub): Adjust for new PLT list.
2915 (ppc_build_one_stub): Likewise.
2916 (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
2917 calls specially.
2918 (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
2919 TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
2920 init GOT entries that have a reloc. Generate GOT relocs here..
2921 (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
2922 * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
2923
0cca5f05
AS
29242003-02-04 Andreas Schwab <schwab@suse.de>
2925
2926 * elf32-m68k.c (elf_m68k_hash_entry): Define.
2927 (elf_m68k_link_hash_traverse): Remove.
2928 (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
2929 elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
2930 reduce casting.
2931 (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
2932 casting.
2933 (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
2934 instead of elf_m68k_link_hash_traverse.
2935 (elf_m68k_discard_copies): Change first parameter to pointer to
2936 struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
2937 elf_m68k_link_hash_entry is needed.
2938
5cab59f6
AM
29392003-02-04 Alan Modra <amodra@bigpond.net.au>
2940
2941 * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
2942 (struct elf_link_hash_entry): Add "glist" and "plist" fields to
2943 "got" union, and declare as gotplt_union. Use gotplt_uinion for
2944 "plt" field.
2945 (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
2946 Add "init_offset" field.
2947 (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
2948 (elf_local_got_ents): Declare.
2949 * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
2950 and "plt".
2951 (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
2952 (_bfd_elf_link_hash_table_init): Set "init_offset".
2953 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
2954 from init_offset.
2955 (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
2956
2957 * elf.c (bfd_elf_local_sym_name): Split out from..
2958 (group_signature): ..here.
2959 * elf-bfd.h (bfd_elf_local_sym_name): Declare.
2960
68bfbfcc
AM
29612003-02-04 Alan Modra <amodra@bigpond.net.au>
2962
2963 * elf-bfd.h (enum elf_link_info_type): Remove.
2964 (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
2965 to struct sec. Remove linkonce_p field.
2966 (elf_linkonce_p): Delete.
2967 (elf_discarded_section): Update for sec_info_type change.
2968 * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
2969 flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
2970 (ELF_INFO_TYPE_NONE): Define.
2971 (ELF_INFO_TYPE_STABS): Define.
2972 (ELF_INFO_TYPE_MERGE): Define.
2973 (ELF_INFO_TYPE_EH_FRAME): Define.
2974 (ELF_INFO_TYPE_JUST_SYMS): Define.
2975 (STD_SECTION): Update struct sec initializer.
2976 * ecoff.c (bfd_debug_section): Likewise.
2977 * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
2978 * elflink.h: Likewise.
2979 * elf-eh-frame.c: Likewise.
2980 * elf64-alpha.c: Likewise.
2981 * elfxx-ia64.c: Likewise.
2982 * elfxx-mips.c: Likewise.
2983 * bfd-in2.h: Regenerate.
2984
2985 * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
2986 referring to used_by_bfd.
2987 * elf64-sparc.c (sec_do_relax): Likewise.
2988 * elf64-mmix.c (mmix_elf_section_data): Likewise.
2989 * elfxx-mips.c (mips_elf_section_data): Likewise.
2990 * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
2991 (ieee_get_section_contents): Likewise.
2992 (ieee_new_section_hook): Formatting.
2993 (ieee_canonicalize_reloc): Remove commented out code.
2994 * mmo.c (mmo_section_data): Define. Use throughout file.
2995 * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
2996
31f7ba04
NC
29972003-01-31 Graydon Hoare <graydon@redhat.com>
2998
2999 * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
3000 * Makefile.in: Regenerate.
3001 * opncls.c (calc_crc32, get_debug_link_info,
3002 seperate_debug_file_exists, find_seperate_debug_file): New
3003 internal functions.
3004 (bfd_follow_gnu_debuglink): New function. Follow the pointer
3005 contained inside a .gnu_debuglink section.
3006 * bfd-in2.h: Regenerate.
3007
38985a1c
AO
30082003-01-29 Alexandre Oliva <aoliva@redhat.com>
3009
3010 * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
3011 entry->abfd when it's NULL.
3012
4bb9a95f
AO
30132003-01-27 Alexandre Oliva <aoliva@redhat.com>
3014
3015 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
3016 _bfd_elf_section_offset returning -2 the same way as -1.
3017
f4416af6
AO
3018 * elfxx-mips.c (mips_elf_multi_got): New function.
3019 (struct mips_got_entry): Make symndx and gotidx signed. Moved
3020 addend into union along with address and link hash entry.
3021 (struct mips_got_info): Added bfd2got and next.
3022 (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
3023 (mips_elf_got_section, mips_elf_create_got_section): Use
3024 SEC_EXCLUDE bit to tell whether we really need the got
3025 section. Take boolean arguments to disregard an excluded
3026 section, or to create it as excluded. Adjust all callers.
3027 Use mips_elf_got_section all over.
3028 (mips_elf_local_got_index, mips_elf_got_page,
3029 mips_elf_got16_entry): Take input bfd as argument, and pass it
3030 on to mips_elf_create_local_got_entry.
3031 (mips_elf_global_got_index, mips_elf_create_local_got_entry):
3032 Take input bfd as argument, and manage entries in the
3033 appropriate GOT.
3034 (mips_elf_got_offset_from_index): Take input bfd as argument,
3035 and use it to adjust the GP offset of the bfd.
3036 (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
3037 unreferenced GOT entries of global symbols to the end.
3038 (mips_elf_record_global_got_symbol): Take input bfd as
3039 argument. Add entries to the master GOT hash table.
3040 (struct mips_elf_bfd2got_hash): New.
3041 (struct mips_elf_got_per_bfd_arg): New.
3042 (struct mips_elf_set_global_got_offset_arg): New.
3043 (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
3044 mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
3045 mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
3046 mips_elf_merge_gots, mips_elf_set_global_got_offset,
3047 mips_elf_resolve_final_got_entry,
3048 mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
3049 mips_elf_got_for_ibfd): New functions.
3050 (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
3051 (MIPS_ELF_GOT_MAX_SIZE): New macro.
3052 (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
3053 (mips_elf_got_entry_hash): Take new fields into account. Use
3054 mips_elf_hash_bfd_vma.
3055 (mips_elf_got_entry_eq): Take new fields into account.
3056 (mips_elf_create_got_section): Initialize new fields.
3057 (mips_elf_calculate_relocation): Pass input_bfd to functions
3058 that now take it. Adjust gp for the input_bfd.
3059 (mips_elf_allocate_dynamic_relocation,
3060 mips_elf_create_dynamic_relocation,
3061 _bfd_mips_elf_create_dynamic_sections): Use...
3062 (mips_elf_rel_dyn_section): New function. Borrow code from...
3063 (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
3064 now take it. Create the got section if needed, even if
3065 excluded, before recording a global got symbol. Move some
3066 code to...
3067 (mips_elf_record_local_got_symbol): New fn.
3068 (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
3069 Compute multi-got global entries offsets. Move GOT code to...
3070 (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
3071 if the GOT is too big.
3072 (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
3073 undefweak symbol to zero. Generate dynamic relocations for
3074 non-primary GOT entries for global symbols.
3075 (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
3076 case. Generate dynamic relocations for local got entries.
3077 Sort dynamic relocations on N64 too, using...
3078 (sort_dynamic_relocs_64): New fns.
3079 (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
3080 (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
3081
52b69c9e
AO
30822003-01-27 Alexandre Oliva <aoliva@redhat.com>
3083
3084 * bfd.c (struct _bfd): Added id field.
3085 * opncls.c (_bfd_id_counter): New static variable.
3086 (_bfd_new_bfd): Use it.
3087 * bfd-in2.h: Rebuilt.
3088
71e5db1c
AM
30892003-01-25 Alan Modra <amodra@bigpond.net.au>
3090
3091 * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
3092
b9734f35
JJ
30932003-01-25 Jakub Jelinek <jakub@redhat.com>
3094
3095 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
3096 (elf32_sparc_rev32_howto): New variable.
3097 (sparc_reloc_map): Add TLS relocs.
3098 (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
3099 Handle REV32.
3100 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
3101 New functions.
3102 (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
3103 struct elf32_sparc_link_hash_table):
3104 New structures.
3105 (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
3106 elf32_sparc_hash_table): Define.
3107 (link_hash_newfunc, elf32_sparc_link_hash_table_create,
3108 create_got_section, elf32_sparc_create_dynamic_sections,
3109 elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
3110 functions.
3111 (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
3112 reference counting.
3113 (elf32_sparc_gc_sweep_hook): Likewise.
3114 (elf32_sparc_adjust_dynamic_symbol): Likewise.
3115 (elf32_sparc_size_dynamic_sections): Likewise.
3116 (elf32_sparc_relocate_section): Likewise.
3117 (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
3118 New functions.
3119 (elf32_sparc_object_p): Allocate backend private object data.
3120 (bfd_elf32_bfd_link_hash_table_create,
3121 elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
3122 elf_backend_can_refcount): Define.
3123 (elf_backend_create_dynamic_sections): Define to
3124 elf32_sparc_create_dynamic_sections.
3125 * reloc.c: Add SPARC TLS relocs.
3126 * bfd-in2.h, libbfd.h: Rebuilt.
3127 * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
3128 (sparc_reloc_map): Likewise.
3129
69fc87f1
MS
31302003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
3131
3132 * bfd-in2.h: Regenerate.
3133 * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
3134 s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
3135 (elf_howto_table): Add TLS relocs.
3136 (elf_s390_reloc_type_lookup): Likewise.
3137 (elf_s390_link_hash_entry): Add tls_type.
3138 (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
3139 New macros.
3140 (elf_s390_link_hash_table): Add tls_ldm_got.
3141 (link_hash_newfunc): Initialize tls_type.
3142 (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
3143 (elf_s390_copy_indirect_symbol): Copy tls_type information.
3144 (elf_s390_check_relocs): Support TLS relocs.
3145 (elf_s390_gc_sweep_hook): Likewise.
3146 (allocate_dynrelocs): Likewise.
3147 (elf_s390_size_dynamic_sections): Likewise.
3148 (elf_s390_relocate_section): Likewise.
3149 (elf_s390_finish_dynamic_symbol): Likewise.
3150 (bfd_elf32_mkobject): Define for TLS.
3151 * elf64-s390.c: Same changes as for elf32-s390.c.
3152 * libbfd.h: Regenerate.
3153 * reloc.c: Add s390 TLS relocations.
3154
c5d1701e 31552003-01-24 Charles Lepple <clepple@ghz.cc>
9aa4e505
NC
3156
3157 * aclocal.m4: Fix name of --enable-install-libbfd switch.
3158
5177500f
NC
31592003-01-23 Nick Clifton <nickc@redhat.com>
3160
3161 * Add sh2e support:
5177500f 3162 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
9b5ecbd0
AM
3163 * archures.c (bfd_mach_sh2e): Added.
3164 * bfd-in2.h: Rebuilt.
3165 * cpu-sh.c (arch_info_struct): Added SH2e.
3166 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
5177500f 3167
f0abc2a1
AM
31682003-01-23 Alan Modra <amodra@bigpond.net.au>
3169
3170 * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
3171 dynindx to an int. Rearrange for better packing.
3172 * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
3173 * elf32-mips.c (bfd_elf32_new_section_hook): Define.
3174 * elf32-sh64.h: New. Split out from include/elf/sh.h.
3175 (struct _sh64_elf_section_data): New struct.
3176 (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
3177 * elf32-sh64-com.c: Include elf32-sh64.h.
3178 * elf32-sh64.c: Likewise.
3179 (sh64_elf_new_section_hook): New function.
3180 (bfd_elf32_new_section_hook): Define.
3181 (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
3182 (sh64_bfd_elf_copy_private_section_data): Likewise.
3183 (sh64_elf_final_write_processing): Likewise.
3184 * elf32-sparc.c (struct elf32_sparc_section_data): New.
3185 (elf32_sparc_new_section_hook): New function.
3186 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
3187 (sec_do_relax): Define.
3188 (elf32_sparc_relax_section): Adjust to use sec_do_relax.
3189 (elf32_sparc_relocate_section): Likewise.
3190 * elf64-mips.c (bfd_elf64_new_section_hook): Define.
3191 * elf64-mmix.c (struct _mmix_elf_section_data): New.
3192 (mmix_elf_section_data): Define. Use throughout file.
3193 (mmix_elf_new_section_hook): New function.
3194 (bfd_elf64_new_section_hook): Define.
3195 * elf64-ppc.c (struct _ppc64_elf_section_data): New.
3196 (ppc64_elf_section_data): Define. Use throughout.
3197 (ppc64_elf_new_section_hook): New function.
3198 (bfd_elf64_new_section_hook): Define.
3199 * elf64-sparc.c (struct sparc64_elf_section_data): New.
3200 (sparc64_elf_new_section_hook): New function.
3201 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
3202 (sec_do_relax): Define.
3203 (sparc64_elf_relax_section): Adjust to use sec_do_relax.
3204 (sparc64_elf_relocate_section): Likewise.
3205 (bfd_elf64_new_section_hook): Define.
3206 * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
3207 * elfxx-mips.c (struct _mips_elf_section_data): New.
3208 (mips_elf_section_data): Define. Use throughout.
3209 (_bfd_mips_elf_new_section_hook): New function.
3210 (mips_elf_create_got_section): Don't alloc used_by_bfd.
3211 * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
3212 * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
3213 * Makefile.am: Run "make dep-am".
3214 * Makefile.in: Regenerate.
3215
cc03ec80
RH
32162003-01-21 Richard Henderson <rth@redhat.com>
3217
3218 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
3219 (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
3220 (elf64_alpha_adjust_dynamic_symbol): Set them.
3221 (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
3222 (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
3223 symbol index when relaxing LDM to TPREL.
3224 (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
3225 relocs, even if the target isn't locally defined.
3226 (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
3227 (elf64_alpha_relocate_section): Likewise. Force TP-relative
3228 relocs vs symndx 0 to the tp base.
3229
da896d3f
NC
32302003-01-21 Fabio Alemagna <falemagn@aros.org>
3231
3232 * config.bfd: Handle i[3456]86-*-aros*.
3233
7fce784e
AS
32342003-01-21 Andreas Schwab <schwab@suse.de>
3235
3236 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
3237 (struct ppc_elf_link_hash_entry): Define.
3238 (ppc_elf_hash_entry): New function.
3239 (struct ppc_elf_link_hash_table): Define.
3240 (ppc_elf_hash_table): New function.
3241 (ppc_elf_link_hash_newfunc): New function.
3242 (ppc_elf_link_hash_table_create): New function.
3243 (ppc_elf_copy_indirect_symbol): New function.
3244 (allocate_dynrelocs): New function.
3245 (readonly_dynrelocs): New function.
3246 (ppc_elf_size_dynamic_sections): Allocate space for dynamic
3247 relocs and determine DT_TEXTREL.
3248 (ppc_elf_check_relocs): Don't do that here, just count the
3249 dynamic relocs.
3250 (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
3251 removed section.
3252 (bfd_elf32_bfd_link_hash_table_create): Define.
3253 (elf_backend_copy_indirect_symbol): Define.
3254
1bbc9cec
RH
32552003-01-21 Richard Henderson <rth@redhat.com>
3256
3257 * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
3258 TPREL also get a reloc if shared. Remove SREL support.
3259 (elf64_alpha_emit_dynrel): New.
acc990f2 3260 (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
1bbc9cec
RH
3261 and GOTTPREL relocs to local symbols against the tp base.
3262 (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
3263
3264 * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
3265 use count before clobbering r_type.
3266 (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
3267 ordering would mean dataflow inspection is necessary.
3268
0da35f8b
SS
32692003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
3270
3271 * coffcode.h (coff_set_flags): Added get/set arch hooks.
acc990f2 3272
571fe01f
NC
32732003-01-20 Fabio Alemagna <falemagn@aros.org>
3274
3275 * elf32-sh.c: Treat elfNN_bed like other macros defined in
3276 elfxx-target.h and #undef it before #define'ing it.
3277 * elf32-i386.c: Likewise.
acc990f2
AM
3278 * elf32-sh64.c: Likewise.
3279 * elf64-alpha.c: Likewise.
3280 * elf64-sh64.c: Likewise.
571fe01f 3281
5236c819
MS
32822003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
3283
3284 * bfd-in2.h: Regenerate.
3285 * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
3286 (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
3287 R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
3288 R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
3289 R_390_PLTOFF32 and R_390_PLTOFF64.
3290 (elf_s390_reloc_type_lookup): Likewise.
3291 (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
3292 of GOTPLT references to a function.
3293 (link_hash_newfunc): Initialize gotplt_refcount.
3294 (elf_s390_check_relocs): Move allocation of local_got_refcounts array
3295 and creation of the got section out of the main switch. Add support
3296 for the gotoff, gotplt and pltoff relocations.
3297 (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
3298 and pltoff.
3299 (elf_s390_adjust_gotplt): New function.
3300 (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
3301 plt entries.
3302 (allocate_dynrelocs): Add comment.
3303 (elf_s390_relocate_section): Change r_type to unsigned. Add support
3304 for gotoff, gotplt and pltoff relocations.
3305 * elf64-s390.c: Same changes as for elf32-s390.c.
3306 * libbfd.h: Regenerate.
3307 * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
3308 BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
3309 BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
3310 and BFD_RELOC_390_PLTOFF64.
3311
a823975a
JJ
33122003-01-18 Jakub Jelinek <jakub@redhat.com>
3313
3314 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
3315 R_IA64_TPREL64[LM]SB against non-global symbol properly.
3316
b3dfd7fe
JJ
33172003-01-16 Jakub Jelinek <jakub@redhat.com>
3318
3319 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
3320 self_dtpmod_done and self_dtpmod_offset.
3321 (allocate_global_data_got): Only use one got entry for all
3322 dtpmod relocs against local symbols.
3323 (allocate_dynrel_entries): Only need .rela.got entry for
3324 dtpmod against global symbol.
3325 (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
3326 Reserve space in .rela.got for the local dtpmod entry.
3327 (set_got_entry): Initialize the common local dtpmod .got entry.
3328 (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
3329 and R_IA_64_DTPREL64MSB.
3330
04c9666a
AM
33312003-01-16 Alan Modra <amodra@bigpond.net.au>
3332
3333 * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
3334 (R_PPC_*): Rename all occurrences to R_PPC64_*.
3335 (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
3336 (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
3337 (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
3338 relative relocs, not with absolute ones.
3339 * Makefile.am: Run "make dep-am".
3340 * Makefile.in: Regenerate.
3341 * po/SRC-POTFILES.in: Regenerate.
3342
c87f1ff7
AS
33432003-01-15 Andreas Schwab <schwab@suse.de>
3344
3345 * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
3346 relocation against a non-allocated readonly section.
3347
86bbe32f
AM
33482003-01-10 Alan Modra <amodra@bigpond.net.au>
3349
3350 * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
3351 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
3352
32d95f29
KD
33532002-01-08 Klee Dienes <kdienes@apple.com>
3354
3355 * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
3356 (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
3357 * Makefile.in: Regenerate.
acc990f2 3358
ab7d0aa0
AO
33592003-01-08 Alexandre Oliva <aoliva@redhat.com>
3360
3361 * elfn32-mips.c (prev_reloc_section): New.
3362 (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
3363 (SET_RELOC_ADDEND): Parenthesize macro argument.
3364
95d0f04a
DA
33652003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
3366
3367 * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
3368 adjust addil instructions if the symbol has no section.
3369
5c9e189c
DD
33702003-01-07 DJ Delorie <dj@redhat.com>
3371
3372 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
3373 partial_inplace.
3374
3e829b4a
AS
33752003-01-07 Andreas Schwab <schwab@suse.de>
3376
3377 * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
3378 PC relative relocations.
3379 (elf_m68k_discard_copies): Set it here instead.
3380
a75473eb
SC
33812002-01-02 Ben Elliston <bje@redhat.com>
3382 Jeff Johnston <jjohnstn@redhat.com>
3383
3384 * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
3385 (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
3386 (BFD32_BACKENDS): Add elf32-iq2000.lo.
3387 (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
3388 (cpu-iq2000.lo): New target.
3389 * Makefile.in: Regenerate.
3390 * config.bfd: Handle iq2000-*-elf.
3391 * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
3392 (bfd_archures_list): Add bfd_iq2000_arch.
3393 * configure.in: Handle bfd_elf32_iq2000_vec.
3394 * configure: Regenerate.
acc990f2 3395 * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
a75473eb
SC
3396 and BFD_RELOC_IQ2000_UHI16.
3397 * targets.c (bfd_elf32_iq2000_vec): Declare.
3398 (bfd_target_vector): Add bfd_elf32_iq2000_vec.
3399 * elf.c (prep_headers): Set e_machine to EM_IQ2000.
3400 * cpu-iq2000.c: New file.
3401 * elf32-iq2000.c: Likewise.
3402 * libbfd.h: Regenerate.
3403 * bfd-in2.h: Likewise.
3404
64543e1a
RS
34052003-01-02 Richard Sandiford <rsandifo@redhat.com>
3406
3407 * elfxx-mips.c: Include libiberty.h.
3408 (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
3409 (mips_set_isa_flags): New function, split out from...
3410 (_bfd_mips_elf_final_write_processing): ...here. Only call
3411 mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
3412 (mips_mach_extensions): New array.
3413 (mips_32bit_flags_p): New function.
3414 (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
3415 Use mips_32bit_flags_p to check if one binary is 32-bit and the
3416 other is 64-bit. When adopting IBFD's architecture, adopt the
3417 bfd_mach as well as the flags.
3418
4852a44e
NC
34192003-01-02 Nick Kelsey <nickk@ubicom.com>
3420
3421 * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
3422 fix internal errors, fix bad code generation, fix incorrect stabs
3423 information, and improve ability to eliminate redundant page
3424 instructions. Added code to ip2k_final_link_relocate to self-verify
3425 the linker relaxation. Fix formatting problems.
3426
af7ee8bf
CD
34272002-12-30 Chris Demetriou <cgd@broadcom.com>
3428
3429 * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
3430 * archures.c (bfd_mach_mipsisa32r2): New define.
3431 * bfd-in2.h: Regenerate.
3432 * cpu-mips.c (I_mipsisa32r2): New enum value.
3433 (arch_info_struct): Add entry for I_mipsisa32r2.
3434 * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
3435 (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
3436 (_bfd_mips_elf_final_write_processing): Add
3437 bfd_mach_mipsisa32r2 case.
3438 (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
3439 binaries marked as using MIPS32 Release 2.
3440
2469cfa2
NC
34412002-12-30 Dmitry Diky <diwil@mail.ru>
3442
3443 * Makefile.am: Add msp430 target.
3444 * configure.in: Likewise.
3445 * Makefile.in: Regenerate.
3446 * configure: Regenerate.
3447 * archures.c: Add msp430 architecture vector.
3448 * config.bfd: Likewise.
3449 * reloc.c: Add msp430 relocs.
3450 * targets.c: Add msp320 target.
3451 * cpu-msp430.c: New file: msp430 cpu detection.
3452 * elf32-msp430.c: New file: msp430 reloc processing.
3453 * bfd-in2.h: Regenerate.
3454 * libbfd.h: Regenerate.
3455
eecdbe52
JJ
34562002-12-28 Jakub Jelinek <jakub@redhat.com>
3457
3458 * elf.c (elf_sort_sections): Don't reorder .tbss.
3459 (assign_file_positions_for_segments): Only adjust off/voff
3460 for increased alignment in PT_LOAD or PT_NOTE segment,
3461 but adjust p_filesz for .tbss too. in PT_LOAD consider
3462 .tbss to have zero memory size.
3463 (copy_private_bfd_data) [SECTION_SIZE]: Define.
3464 [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
3465 [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
3466 into PT_TLS segment. Never put SHF_TLS sections in
3467 segments other than PT_TLS or PT_LOAD.
3468
3469 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
3470 sh_entsize.
3471
213e90f4
DD
34722002-12-23 DJ Delorie <dj@redhat.com>
3473
3474 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
3475
75828352
AM
34762002-12-23 Alan Modra <amodra@bigpond.net.au>
3477
3478 * elflink.h (elf_link_output_extsym): Heed strip_discarded.
3479
312b768e
NC
34802002-12-23 Nick Clifton <nickc@redhat.com>
3481
3482 * archures.c (bfd_arch_get_compatible): Add third parameter
3483 'accept_unknowns'. Only accept unknown format BFDs if
3484 accept_unknowns is true, or if the format is "binary".
acc990f2 3485 * bfd-in2.h: Regenerate.
312b768e 3486
63222ec9
NC
34872002-12-21 Nick Clifton <nickc@redhat.com>
3488
3489 * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
3490 that subtracted 8 from pc relative relocations.
3491
19852a2a
KH
34922002-12-20 Kazu Hirata <kazu@cs.umass.edu>
3493
3494 * coff-h8300.c: Fix comment typos.
3495 * coffcode.h: Likewise.
3496 * cpu-cris.c: Likewise.
3497 * elf32-vax.c: Likewise.
3498 * genlink.h: Likewise.
3499 * linker.c: Likewise.
3500 * som.c: Likewise.
3501 * tekhex.c: Likewise.
3502 * vms-misc.c: Likewise.
3503
5fd63999
DD
35042002-12-20 DJ Delorie <dj@redhat.com>
3505
3506 * reloc.c: Add BFD_RELOC_XSTORMY16_12.
3507 * libbfd.h: Regenerate.
3508 * bfd-in2.h: Regenerate.
3509 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
3510 (xstormy16_reloc_map): Add R_XSTORMY16_12.
acc990f2 3511
4ee79850
KH
35122002-12-19 Kazu Hirata <kazu@cs.umass.edu>
3513
3514 * doc/bfdint.texi: Fix typos.
3515
66e25bab
AM
35162002-12-20 Paul Eggert <eggert@twinsun.com>
3517
3518 Port to POSIX 1003.1-2001.
3519 * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
3520 * configure.in (build-warnings): Likewise.
3521 (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
3522 * aclocal.m4: Regenerate.
3523 * config.in: Regenerate.
3524 * configure: Regenerate.
3525
7dc77aaa
AM
35262002-12-19 Alan Modra <amodra@bigpond.net.au>
3527
0171ee92
AM
3528 * coff-h8300.c: Include libiberty.h.
3529 (h8300_reloc16_extra_cases): Check the hash table creator before
3530 referencing h8300 specific fields. Stash the hash table pointer
3531 in a local var. Comment typo fixes.
3532 (h8300_bfd_link_add_symbols): Likewise.
3533
1049f94e 3534 * reloc.c (struct reloc_howto_struct): Revise src_mask and
7dc77aaa
AM
3535 dst_mask comments.
3536 * bfd-in2.h: Regenerate.
3537
47388f4c
AM
35382002-12-18 Alan Modra <amodra@bigpond.net.au>
3539
3540 * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
3541 code a little. Comment on dynamic relocs against section symbols.
3542
1b3e3744
AM
35432002-12-17 Roger Sayle <roger@eyesopen.com>
3544
3545 * configure.host (ia64-*-hpux*): Support 64 bit targets using
3546 the HP compiler's "long long".
3547
46f2b541
DD
35482002-12-16 Andrew MacLeod <amacleod@redhat.com>
3549
3550 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
3551 and R_XSTORMY16_HI16) howto entries.
3552 (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
1b3e3744 3553 (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
46f2b541
DD
3554 determine the start of the second reloc table.
3555
af738ea7
NC
35562002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
3557
3558 * ecofflink.c: Fix the reading of the debugging information
3559 of Tru64/Alpha binaries that are produced by recent Compaq
3560 compilers.
3561 (mk_fdrtab): Fix error in creating the FDR (file descriptor)
3562 table.
3563 (lookup_line): Because of the strange information sometimes
3564 generated by Compaq's recent compilers, change how the FDR
3565 table is searched so that PDRs (procedure descriptors) are
3566 correctly found. Note that this change is really more of a hack;
3567 however, I have included extensive documentation as to why
3568 this is the best solution short of an extensive rewrite or
3569 another hack.
3570 (fdrtab_lookup): Add comments to explain the algorithm.
3571
5354b572
AO
35722002-12-12 Alexandre Oliva <aoliva@redhat.com>
3573
3574 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
3575 initializers to match struct declaration.
3576
ab3acfbe
AM
35772002-12-12 Alan Modra <amodra@bigpond.net.au>
3578
3579 * dwarf2.c (comp_unit_contains_address): Comment typo fix.
3580 * elf.c (get_program_header_size): Likewise.
3581 * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
3582 (m32r_elf_generic_reloc): Likewise.
3583 * elf32-ppc.c (ppc_elf_howto_init): Likewise.
3584 * elflink.h (elf_bfd_discard_info): Likewise.
3585
6348e046
AM
35862002-12-12 Alan Modra <amodra@bigpond.net.au>
3587
3588 * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
3589 to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
3590 DT_RELSZ adjustment, not output section. Avoid writing tags when
3591 unchanged. Don't assume linker script is sane, adjust DT_REL too.
3592 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
3593 size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
3594 DT_RELASZ adjustment, not output section. Avoid writing tags when
3595 unchanged. Adjust DT_RELA.
3596 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
3597 formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
3598
2e7a68a8
AO
35992002-12-12 Alexandre Oliva <aoliva@redhat.com>
3600
3601 * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
3602 addend by 4.
3603
b15e6682
AO
36042002-12-12 Alexandre Oliva <aoliva@redhat.com>
3605
3606 * elfxx-mips.c (struct mips_got_entry): New.
3607 (struct mips_got_info): Added got_entries field.
3608 (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
3609 (mips_elf_local_got_index, mips_elf_got_page,
3610 mips_elf_got16_entry): Re-implement in terms of new...
3611 (mips_elf_create_local_got_entry): Rewrite to use got_entries.
3612 Change return type.
3613 (mips_elf_highest): Warning clean-up.
3614 (mips_elf_create_got_section): Initialize got_entries.
3615 (_bfd_mips_elf_check_relocs): Use got_entries to estimate
3616 local got size.
3617 (_bfd_mips_elf_size_dynamic_sections): Do not account for
3618 GOT_PAGE entries, since we now reuse GOT16 entries.
3619
e6af3a53
NC
36202002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
3621
3622 * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
3623 read-only section that lies after .text and before .data to be
3624 written into the output file and included in a_text.
3625 (translate_to_native_sym_flags): If an otherwise unrepresentable
3626 section was merged with .text, convert its symbols to N_TEXT
3627 symbols.
3628 * libaout.h (aout_section_merge_with_text_p): New macro.
3629
cf3d882d
AM
36302002-12-08 Alan Modra <amodra@bigpond.net.au>
3631
3632 * bfd-in.h: Comment typo fix. Formatting.
3633 * bfd-in2.h: Regenerate.
3634 * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
3635 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
3636 * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
3637
2f9bd3f6
RH
36382002-12-05 Richard Henderson <rth@redhat.com>
3639
3640 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
3641 Only send PCREL21B though the plt. Fix installed reloc type.
3642 (elfNN_ia64_relocate_section): Give error for dynamic reloc
3643 against PCREL22 or PCREL64I; clean up error messages for
3644 branch relocs.
3645
d0112f73
KB
36462002-12-04 Kevin Buettner <kevinb@redhat.com>
3647
3648 * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
3649 New functions.
3650 (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
3651
c10d9d8f
JW
36522002-12-04 David Mosberger <davidm@hpl.hp.com>
3653
3654 * cpu-ia64-opc.c: Add operand constant "ar.csd".
3655
d48770d4
L
36562002-12-04 H.J. Lu <hjl@gnu.org>
3657
3658 * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
3659 BFD address when constructing local name.
3660
b6152c34
AS
36612002-12-04 Andreas Schwab <schwab@suse.de>
3662
3663 * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
3664 member.
3665 (elf_m68k_link_hash_table_create): Initialize it.
3666 (elf_m68k_check_relocs): Handle symbols that are forced to be
3667 local due to visibility changes.
3668 (elf_m68k_adjust_dynamic_symbol): Likewise.
3669 (elf_m68k_size_dynamic_sections): Likewise.
3670 (elf_m68k_discard_copies): Likewise.
3671 (elf_m68k_relocate_section): Likewise.
3672
73374ef1
AM
36732002-12-04 Alan Modra <amodra@bigpond.net.au>
3674
3675 * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
3676
c5c1944d
AM
36772002-12-04 Alan Modra <amodra@bigpond.net.au>
3678
3679 * srec.c (srec_write_symbols): Restore '$' prefix to address
3680 accidentally removed in 2002-04-04 change.
3681 (srec_get_symtab): Use 0 instead of `(long) FALSE'.
3682
e1a9cb8e
NC
36832002-12-03 Nick Clifton <nickc@redhat.com>
3684
3685 * elf32-ppc.c (apuinfo_list_init): New function.
73374ef1
AM
3686 (apuinfo_list_add): New function: Add a value to the list.
3687 (apuinfo_list_length): New function: Return the number of
3688 values on the list.
3689 (apuinfo_list_element): New function: Return a value on the
3690 list.
3691 (apuinfo_list_finish): New function: Free the resources used
3692 by the list.
3693 (ppc_elf_begin_write_processing): New function. Scan the
3694 input bfds for apuinfo sections.
3695 (ppc_elf_write_section): New function: Delay the creation of
3696 the contents of an apuinfo section in an output bfd.
3697 (ppc_elf_final_write_processing): New function. Create the
3698 contents of an apuinfo section in an output bfd.
3699 (elf_backend_begin_write_processing): Define.
3700 (elf_backend_final_write_processing): Define.
3701 (elf_backend_write_section): Define.
e1a9cb8e 3702
a823923b
RH
37032002-12-03 Richard Henderson <rth@redhat.com>
3704
3705 * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
3706
30491647
SC
37072002-12-01 Stephane Carrez <stcarrez@nerim.fr>
3708
3709 Fix PR savannah/1417:
3710 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
3711 branch if it goes to the start of the deleted region.
3712
bc7c6a90
SC
37132002-12-01 Stephane Carrez <stcarrez@nerim.fr>
3714
3715 * bfd-in2.h (bfd_mach_m6812): Rebuild.
3716 * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
3717 bfd_mach_m6812s): Declare.
3718
3719 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
3720 (_bfd_m68hc12_elf_set_private_flags): Call it.
3721 (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
3722 (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
3723 report microcontroller incompatibilities (HC12 vs HCS12).
3724 (elf_backend_object_p): Update.
3725
b34976b6
AM
37262002-11-30 Alan Modra <amodra@bigpond.net.au>
3727
3728 * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
3729 (enum bfd_boolean, boolean): Delete.
3730 (bfd_boolean): Typedef to an int.
3731 (FALSE, TRUE): Define.
3732 * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
3733 aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
3734 aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
3735 binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
3736 coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
3737 coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
3738 coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
3739 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
3740 coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
3741 coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
3742 corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
3743 cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
3744 cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
3745 cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
3746 cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
3747 cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
3748 cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
3749 cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
3750 cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
3751 cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
3752 dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
3753 elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
3754 elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
3755 elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
3756 elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
3757 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
3758 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
3759 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
3760 elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
3761 elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
3762 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
3763 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
3764 elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
3765 elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
3766 elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
3767 elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
3768 hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
3769 i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
3770 libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
3771 libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
3772 m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
3773 mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
3774 nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
3775 pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
3776 pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
3777 pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
3778 reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
3779 som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
73374ef1 3780 syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
b34976b6
AM
3781 vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
3782 xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
3783 bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
3784 of bfd_boolean vars with TRUE/FALSE. Formatting.
3785 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
3786
947216bf
AM
37872002-11-28 Alan Modra <amodra@bigpond.net.au>
3788
3789 * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
3790 Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
3791 with Elf_Internal_Rela.
3792 * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
3793 elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
3794 elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
3795 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
3796 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
3797 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
3798 elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
3799 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
3800 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
3801 elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
3802 elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
3803 * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
3804 throughout instead.
3805 * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
3806 * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
3807 Remove INLINE keyword.
3808 (elf_swap_reloc_in): Likewise. Also clear r_addend.
3809 (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
3810 as a bfd_byte *.
3811 (elf_write_relocs): Consolidate REL and RELA code.
3812 (elf_slurp_reloc_table_from_section): Simplify REL code.
3813 (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
3814 * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
3815 * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
3816 RELA code.
3817 (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
3818 reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
3819 (elf_link_output_relocs): Likewise.
3820 (elf_reloc_link_order): Likewise.
3821 (elf_finish_pointer_linker_section): Likewise.
3822 (struct elf_link_sort_rela): Remove union.
3823 (elf_link_sort_cmp1): Update to suit.
3824 (elf_link_sort_cmp2): Here too.
3825 (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
3826 over-allocation for int_rels_per_ext_rel != 1 case.
3827 * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
3828 * elf32-i386.c: Likewise.
3829 * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
3830 * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
3831 elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
3832 * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
3833 * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
3834 elf64-sparc.c, elf64-x86-64.c: Likewise.
3835 * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
3836 * elfxx-mips.c (sort_dynamic_relocs): Likewise for
3837 bfd_elf32_swap_reloc_in.
3838
3839 * elf32-arm.h: Update elf32_arm_info_to_howto calls.
3840 * elf32-mips.c: Likewise for mips_info_to_howto_rel.
3841 (mips_elf64_swap_reloc_in): Zero r_addend.
3842 (mips_elf64_be_swap_reloc_in): Likewise.
3843 (mips_elf64_slurp_one_reloc_table): Simplify.
3844
3845 * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
3846 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
3847 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
3848
1448fa32
KK
38492002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3850
3851 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
73374ef1 3852 unresolved debugging relocs in dynamic applications.
1448fa32
KK
3853 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
3854
73722af0
AM
38552002-11-26 Alan Modra <amodra@bigpond.net.au>
3856
3857 * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
3858 (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
3859 on a relocatable link. Comment typos.
3860 * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
3861 in the order they are declared. Clear elf_hash_value too.
3862 (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
3863 eh_info and tls_segment.
3864 * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
3865 sorted when discarding relocs by turning them into R_*_NONE.
3866
3867 * libbfd.c (warn_deprecated): Comment spelling.
3868 * po/SRC-POTFILES.in: Regenerate.
3869
7c25b72c
RH
38702002-11-21 Richard Henderson <rth@redhat.com>
3871
3872 * elflink.h (elf_link_add_object_symbols): Don't overwrite the
3873 arch's st_other bits when merging visibilities.
3874 (elf_link_output_extsym): Tidy clearing of visibility field.
3875
dc12c51f
AM
38762002-11-21 Alan Modra <amodra@bigpond.net.au>
3877
3878 * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
3879 (SWAP_OUT_RELOC_OFFSET): Define.
3880
963f13ec
AO
38812002-11-20 Alexandre Oliva <aoliva@redhat.com>
3882
3883 * elf.c (_bfd_elf_link_hash_table_init): Make sure
3884 can_refcount is properly extended to the type of
3885 init_refcount.
3886
ee6423ed
AO
38872002-11-19 Alexandre Oliva <aoliva@redhat.com>
3888
4ffba85c
AO
3889 * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
3890 (_bfd_mips_elf_relocate_section): Use it.
3891
ee6423ed
AO
3892 * elfxx-mips.c (MNAME): New macro.
3893 (_bfd_mips_elf_check_relocs): Use it.
3894 (_bfd_mips_elf_discard_info): Likewise.
3895 (_bfd_mips_elf_final_link): Likewise.
3896
cdcf6e38
AM
38972002-11-19 Alan Modra <amodra@bigpond.net.au>
3898
3899 * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
3900 rel_hdr.sh_size too.
3901
93509525
KD
39022002-11-18 Klee Dienes <kdienes@apple.com>
3903
3904 * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
3905 (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
3906 (BFD_H_FILES): Add bfdwin.c, bfdio.c.
3907 (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
3908 Add dependencies for bfdwin.c, bfdio.c.
3909 * bfd.c: Remove bfd_get_mtime, bfd_get_size.
3910 * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
3911 bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
3912 bfd_tell, bfd_flush, bfd_stat, bfd_seek.
3913 * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
3914 bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
3915 bfd_get_size (moved from libbfd.c and bfd.c).
3916 * bfdwin.c New file. Contains _bfd_window_internal,
3917 bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
3918 libbfd.c and bfd.c).
3919 * po/SRC-POTFILES.in: Regenerate.
3920 * po/bfd.pot: Regenerate.
3921 * libbfd.h: Regenerate.
3922 * bfd-in2.h: Regenerate.
3923 * aclocal.m4: Regenerate.
3924 * Makefile.in: Regenerate.
3925 * configure: Regenerate.
3926
3ae41454
AM
39272002-11-18 Klee Dienes <kdienes@apple.com>
3928
3929 * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
3930
e514ac71
NC
39312002-11-15 Kazu Hirata <kazu@cs.umass.edu>
3932
3933 * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
3934 jsr after a short jump.
3935 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
3936
eddc4f81
KD
39372002-11-15 Klee Dienes <kdienes@apple.com>
3938
3939 * pef.c (bfd_pef_convert_architecture): Move declaration of
3940 ARCH_POWERPC and ARCH_M68K to the start of the function.
3941
51908eee
SS
39422002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
3943
3944 * coff-tic4x.c (tic4x_howto_table): Formatting fixup
3945
3416d2e7
HPN
39462002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
3947
3948 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
3949 For bpo_gregs_section->contents, allocate _raw_size, not
3950 _cooked_size.
3951
b1c58715
AM
39522002-11-13 Klee Dienes <kdienes@apple.com>
3953
3954 * config.bfd: Add entries for powerpc-*-darwin and cousins.
3955
077ca68b
L
39562002-11-13 H.J. Lu <hjl@gnu.org>
3957
3958 * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
3959
e84d6fca
AM
39602002-11-13 Klee Dienes <kdienes@apple.com>
3961 Alan Modra <amodra@bigpond.net.au>
3962
3963 * bfd.c (struct bfd_preserve): New.
3964 (bfd_preserve_save): New function.
3965 (bfd_preserve_restore): Ditto.
3966 (bfd_preserve_finish): Ditto.
3967 * bfd-in2.h: Regenerate.
3968 * mach-o.c: Formatting.
3969 (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
3970 (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
3971 (bfd_mach_o_core_p): Ditto.
3972 (bfd_mach_o_scan): Pass in mdata.
3973 * mach-o.h (bfd_mach_o_scan): Update prototype.
3974 * pef.c: Formatting.
3975 (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
3976 (bfd_pef_xlib_object_p): Ditto.
3977 (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
3978 * pef.h (bfd_pef_scan): Update prototype.
3979 * xsym.c: Formatting, K&R fixes.
3980 (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
3981 (bfd_sym_scan): New function split out from bfd_sym_object_p.
3982 * xsym.h (bfd_sym_scan): Declare.
3983 * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
a7f84125 3984 * elfcore.h (elf_core_file_p): Likewise.
e84d6fca
AM
3985 * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
3986
cd24c222
NC
39872002-11-12 Nick Clifton <nickc@redhat.com>
3988
3989 * po/da.po: Updated Danish translation.
3990
99eb2ac8
AM
39912002-11-12 Alan Modra <amodra@bigpond.net.au>
3992
d6fe2dc1
AM
3993 * elflink.h (elf_link_add_object_symbols): Optimize stabs for
3994 relocatable link too.
3995 (elf_link_input_bfd): When emitting relocs, adjust offsets for
3996 eh_frame and stab sections. Zap deleted relocs.
3997 (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
3998 (elf_bfd_discard_info): Run for relocatable link too.
3999 * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
4000 Handle ld -r case.
4001 (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
4002 * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
4003
126495ed
AM
4004 * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
4005 (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
4006 (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
4007 (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
4008 (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
4009 (struct elf_link_hash_table): Add eh_info.
4010 (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
4011 (_bfd_elf_discard_section_eh_frame): Update prototype.
4012 (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
4013 (_bfd_elf_write_section_eh_frame): Likewise.
4014 (_bfd_elf_write_section_eh_frame_hdr): Likewise.
4015 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
4016 param. Get "hdr_info" from link hash table.
4017 (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
4018 header section from link hash table. Save header section to elf_tdata.
4019 (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
4020 header section from link hash table. Don't alloc hdr_info. Clear
4021 hdr_sec instead of setting "strip".
4022 (_bfd_elf_eh_frame_section_offset): Formatting.
4023 (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
4024 Get header section from link hash table.
4025 (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
4026 Get header section from link hash table.
4027 * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
4028 (get_program_header_size): Likewise.
4029 (_bfd_elf_section_offset): Formatting.
4030 * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
4031 section pointer in link hash table.
4032 (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
4033 and _bfd_elf_write_section_eh_frame calls. Update comment about
4034 eh_frame entries.
4035 (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
4036 _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
4037
4038 * po/SRC-POTFILES.in: Regenerate.
4039
99eb2ac8
AM
4040 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
4041 relocs for discarded FDEs. Remove dead code.
4042 (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
4043 * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
4044 Tidy conditions under which stabs are edited. Formatting.
4045 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
4046 from discarded relocs.
4047 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
4048 section adjustments after testing magic values.
4049
7c319a27
AM
40502002-11-12 Thomas Moestl <tmm@FreeBSD.org>
4051
4052 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
4053 references to large plt symbols.
4054
a95a4550
AM
40552002-11-12 Klee Dienes <kdienes@apple.com>
4056
4057 * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
4058 looking for an unused section name.
4059
bc7eab72
KH
40602002-11-11 Kazu Hirata <kazu@cs.umass.edu>
4061
4062 * coff-h8300.c: Fix formatting.
4063 * elf32-h8300.c: Likewise.
4064 * reloc16.c: Likewise.
4065
52585bb8
AM
40662002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4067
4068 * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
4069 section when dynamic section unused; _bfd_strip_section_from_output
4070 instead.
4071
9f632188
AM
40722002-11-08 Alan Modra <amodra@bigpond.net.au>
4073
207b304b
AM
4074 * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
4075 and sym_vec.
3b029f65 4076
9f632188
AM
4077 * dwarf2.c: Revert last change.
4078
ec4530b5
NC
40792002-11-07 Michal Ludvig <mludvig@suse.cz>
4080
9b5ecbd0 4081 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
ec4530b5
NC
4082 _bfd_dwarf2_find_nearest_line): Use
4083 bfd_simple_get_relocated_section_contents() instead of
4084 bfd_get_section_contents().
4085 * reloc.c (bfd_perform_relocation): Add sanity check.
4086 * simple.c (simple_get_relocated_section_contents): If the section
4087 does not have any relocs associated with it, just return the
4088 unadjusted contents.
4089
205cfeb0
HPN
40902002-11-07 Hans-Peter Nilsson <hp@axis.com>
4091
4092 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
4093 case R_CRIS_32_GOT>: Correct test for filling in constant .got
4094 contents, enabling for a non-DSO, for symbols defined in the
4095 program with --export-dynamic.
4096
87e226ce
AM
40972002-11-07 Alan Modra <amodra@bigpond.net.au>
4098
4099 * elf64-ppc.c: Comment typo fixes.
4100 (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
4101
235c4794
NC
41022002-11-07 Nick Clifton <nickc@redhat.com>
4103
4104 * po/da.po: Updated Danish translation.
4105
49179469
AO
41062002-11-06 Alexandre Oliva <aoliva@redhat.com>
4107
4108 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
4109 exactly three internal relocs per external reloc. Set reloc_count
4110 to the external reloc count.
4111
246178f2
NC
41122002-11-06 Klee Dienes <kdienes@apple.com>
4113
3ae41454 4114 * coff-stgo32.c (stub_bytes): Mark as const.
246178f2
NC
4115 Fix comment formatting.
4116
3af9a47b
NC
41172002-11-06 Klee Dienes <kdienes@apple.com>
4118
3ae41454 4119 * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
3af9a47b
NC
4120 xsym.lo.
4121 (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
4122 (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
4123 * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
4124 * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
4125 * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
4126 sym.
3ae41454 4127 (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
3af9a47b
NC
4128 * Makefile.in: Regenerate.
4129 * doc/Makefile.in: Regenerate.
3ae41454 4130 * bfd-in2.h: Regenerate.
3af9a47b
NC
4131 * xsym.c: New file. Contains support for the Apple/Metrowerks
4132 xSYM debugging format.
4133 * xsym.h: New file.
4134 * pef.c: New file. Contains support for the Apple Code Fragment
4135 Manager Preferred Executable Format
4136 * pef.h: New file.
4137 * pef-traceback.h: New file. Contains support for parsing PowerPC
4138 traceback tables as used by PEF executables (and perhaps other
4139 systems as well).
3ae41454 4140 * mach-o.c: New file. Contains support for the Mach-O object file
3af9a47b
NC
4141 format.
4142 * mach-o.h: New file.
4143 * mach-o-target.c: New file. Declares the mach-o targets
4144 themselves. Included three times by mach-o.c; each time with a
4145 different set of macros set.
3ae41454 4146
b6821651 41472002-11-06 Graeme Peterson <gp@qnx.com>
911b232a
AM
4148
4149 * Makefile.am: Remove entries for elf32-qnx.[ch].
4150 * Makefile.in: Regenerate.
4151 * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
4152 ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
4153 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
4154 * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
4155 bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
4156 and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
4157 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
4158 * configure: Regenerate.
4159 * elf32-qnx.c: Remove.
4160 * elf32-qnx.h: Remove.
4161 * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
4162 is_contained_by_filepos, and copy_private_bfd_data_p.
ad12c1c5
AM
4163 * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
4164 is_contained_by_filepos, and copy_private_bfd_data_p.
911b232a
AM
4165 * elf32-i386.c: Remove QNX extended bfd support.
4166 * elf32-ppc.c: Remove QNX extended bfd support.
4167 * elf32-sh.c: Remove QNX extended bfd support.
4168 * elfarm-nabi.c: Remove QNX extended bfd support.
4169 * targets.c: Remove qnx vectors.
4170 * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
4171 (elf_backend_is_contained_by_filepos): Remove.
4172 (elf_backend_copy_private_bfd_data_p): Remove.
4173 * po/SRC-POTFILES.in: Regenerate.
4174
b6821651
AM
41752002-11-06 David O'Brien <obrien@FreeBSD.org>
4176 Alan Modra <amodra@bigpond.net.au>
4177
4178 * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
4179 dynamic relocs against section symbols for the output section vma.
4180
41812002-11-05 Alan Modra <amodra@bigpond.net.au>
4182
4183 * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
4184 t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
4185
08f74004
AM
41862002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4187 Alan Modra <amodra@bigpond.net.au>
4188
4189 * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
4190 vectors in target_selvecs.
4191 (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
4192 in target_selvecs.
4193 (sh-*-netbsdelf*): Likewise.
4194 * configure.in (assocvecs): New variable. Handle assocvecs like
4195 selvecs.
4196 * configure: Regenerate.
4197 * format.c (bfd_check_format_matches): Store bfd_target pointers
4198 in matching_vector instead of target names. Select first target
4199 from bfd_associated_vector that matches a list of ambiguous targets.
4200 * targets.c (_bfd_associated_vector): New array.
4201 (bfd_associated_vector): New variable.
4202 (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
4203 * libbfd-in.h (bfd_associated_vector): Declare.
4204 * libbfd.h: Regenerate.
4205
89117aab
AM
42062002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
4207
4208 * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
4209 non-NULL before dereferencing.
4210
5e9aae3e
KK
42112002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4212
4213 * vms.c (vms_object_p): Restore the start address when returning
4214 NULL.
4215
c97e73dd
AM
42162002-11-04 Alan Modra <amodra@bigpond.net.au>
4217 Hans-Peter Nilsson <hp@axis.com>
4218
4219 * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
4220 (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
4221 Set up a larger symshndxbuf, and write it out. Free it on
4222 exit rather than freeing symbuf twice. Correct section index
4223 on output section symbol loop.
4224 (elf_link_output_sym): Accumulate symbol extension section
4225 indices, reallocating symshndxbuf rather than writing it out.
4226 (elf_link_flush_output_syms): Don't flush symshndxbuf.
4227 * elf.c (assign_section_numbers): Init i_shdrp to all zero.
4228 Use bfd_zalloc to clear i_shdrp[0] too.
4229
3463048e
SC
42302002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
4231
4232 * elf32-sh64-com.c (sh64_address_in_cranges): Use
4233 _raw_size of cranges section if _cooked_size not yet set.
4234
63a23799
HPN
42352002-11-03 Hans-Peter Nilsson <hp@axis.com>
4236
4237 * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
4238 for bfd_elf32_swap_symbol_out.
4239
e68cc12e
DB
42402002-10-31 David O'Brien <obrien@FreeBSD.org>
4241
4242 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
4243 signed and unsigned in comparison.
4244
db4b6d01
DJ
42452002-10-30 Daniel Jacobowitz <drow@mvista.com>
4246
4247 * coffcode.h: Remove extraneous '\'.
4248
840f0243
L
42492002-10-28 H.J. Lu <hjl@gnu.org>
4250
4251 * Makefile.am (targets.lo): Depend on Makefile instead of
4252 config.status.
4253 (archures.lo): Likewise.
4254 * Makefile.in: Regenerated.
4255
05a7e2db
JT
42562002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
4257
4258 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
4259 bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
4260 targ_selvecs.
4261
a0087177
JW
42622002-10-25 Jim Wilson <wilson@redhat.com>
4263
4264 * elf64-sh64.c (sh_elf64_relocate_section): Call
4265 _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
4266 of SHF_MERGE section.
4267
8718ac9c
HPN
42682002-10-25 Hans-Peter Nilsson <hp@axis.com>
4269
4270 * simple.c: Correct placement of ATTRIBUTE_UNUSED.
4271
d45913a0
DA
42722002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
4273
4274 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
4275 unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
4276 unsigned int.
4277 (NAME(aout,final_link)): Cast enum used in assignment.
4278 (aout_link_write_symbols): Cast enums in comparisons, int values to
4279 boolean, enums in assignments to int.
4280 (aout_link_input_section_std): Cast rel->r_index to unsigned int.
3dab13f6
AM
4281 (aout_link_input_section_ext): Likewise. Cast enums used in
4282 comparisons with unsigned ints.
d45913a0
DA
4283 (aout_link_reloc_link_order): Cast enum to int in assignment.
4284 * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
4285 calls to char *.
4286 * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
4287 assignment.
4288 * bfd-in2.h (bfd_set_section_vma): Likewise.
4289 * bfd.c (bfd_record_phdr): Cast enums in assignments.
4290 * binary.c (bfd_alloc): Cast enum to long.
4291 * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
4292 * dwarf2.c (read_abbrevs): Add casts to enum types.
4293 (read_attribute_value): Likewise.
4294 (arange_add): Cast result of bfd_zalloc call.
4295 (comp_unit_contains_address): Return true and false.
4296 (comp_unit_find_nearest_line): Cast return to boolean.
4297 * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
4298 * gen-aout.c: define macro '_' if not defined.
4299 * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
4300 (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
4301 (bfd_write_bigendian_4byte_int): Cast return to boolean.
4302 (bfd_seek): Cast bfd_realloc to bfd_byte *.
4303 (bfd_generic_is_local_label_name): Cast return to boolean.
4304 * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
4305 * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
4306 struct bfd_hash_entry *.
4307 (_bfd_generic_link_hash_newfunc): likewise.
4308 (_bfd_generic_final_link): Cast enum to unsigned int.
4309 * merge.c (sec_merge_emit): Cast return to boolean.
4310 (merge_strings): Add casts to const unsigned char *.
4311 * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
4312 (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
3dab13f6
AM
4313 * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
4314 to struct bfd_hash_entry *.
d45913a0
DA
4315 (bfd_set_section_content): Add cast to PTR in comparison.
4316 * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
4317 simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
4318 simple_dummy_unattached_reloc,
4319 bfd_simple_get_relocated_section_contents): Add K&R declarations and
4320 function definitions.
4321 * srec.c (S3Forced): Initialize to false.
4322 (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
4323 * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
4324 (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
4325 * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
4326 (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
4327 comparisons.
4328
475c2a7e
JJ
43292002-10-23 Jakub Jelinek <jakub@redhat.com>
4330
4331 * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
4332 relocs into shared lib non-allocated reloc sections.
4333
e82ce529
AM
43342002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
4335
4336 * dwarf2.c (add_line_info): Ensure that the line_info_table is
4337 sorted even when given an out-of-order line sequence.
4338 (lookup_address_in_line_info_table): When an exact VMA match is
4339 not found, return line information with the closest VMA.
4340
f2482cb2
NC
43412002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
4342
4343 * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
4344 HPUX 11.00 patch PHSS_26559.
4345
c1fd6598
AO
43462002-10-22 Alexandre Oliva <aoliva@redhat.com>
4347
4348 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
4349 the options section into a separate section unless IRIX 6
4350 compatibility is enabled.
4351
033fd5f9
AO
43522002-10-22 Alexandre Oliva <aoliva@redhat.com>
4353
4354 * elflink.h (struct elf_link_sort_rela): Turn rel and rela
4355 into arrays.
4356 (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
4357 (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
4358 into account.
4359 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
4360 R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
4361
ef485c01
AM
43622002-10-21 Graeme Peterson <gp@qnx.com>
4363
4364 * targets.c (_bfd_target_vector): Add missing qnx vectors.
4365
b50afec9
AM
43662002-10-21 Alan Modra <amodra@bigpond.net.au>
4367
4368 * targets.c (bfd_target_list): Don't return the default target twice.
4369
5fe39cae
AM
43702002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
4371
4372 * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
4373 perror with bfd_perror.
4374
5d603aa9
L
43752002-10-19 H.J. Lu <hjl@gnu.org>
4376
4377 * elflink.h (elf_link_add_object_symbols): Correctly handle
4378 DT_RPATH and DT_RUNPATH.
4379
e377ab71
MK
43802002-10-19 Mark Kettenis <kettenis@gnu.org>
4381
4382 * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
4383
0d09fec6
DC
43842002-10-17 Denis Chertykov <denisc@overta.ru>
4385
4386 * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
4387 for ip2k port.
4388
acf8aed4
AM
43892002-10-17 Alan Modra <amodra@bigpond.net.au>
4390
4391 * elfxx-target.h (USE_REL): Don't define as 1.
4392 * elf32-arm.h (USE_REL): Provide a default define of 0.
4393 Use #if rather than #ifdef when testing USE_REL.
4394 * elf32-m32r.c: Likewise.
4395
4396 * elf32-arc.c (USE_REL): Define as 1.
4397 * elf32-d10v.c (USE_REL): Likewise.
4398 * elf32-m32r.c (USE_REL): Likewise.
4399 * elf32-m68hc11.c (USE_REL): Likewise.
4400 * elf32-m68hc12.c (USE_REL): Likewise.
4401 * elf32-or32.c (USE_REL): Likewise.
4402 * elfarm-nabi.c (USE_REL): Likewise.
4403
f52d1d64
JJ
44042002-10-16 Jakub Jelinek <jakub@redhat.com>
4405
4406 * config.bfd (s390-*-linux*): Add targ64_selvecs.
4407 (s390x-*-linux*): Add targ_selvecs.
4408
2bc3c89a
AM
44092002-10-16 Alan Modra <amodra@bigpond.net.au>
4410
4411 * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
5fe39cae 4412 elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
2bc3c89a
AM
4413 elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
4414 elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
4415 (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
4416 (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
4417 (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
4418 (SOURCE_HFILES): Add elf32-qnx.h.
4419 (BUILD_HFILES): Add bfdver.h.
4420 Run "make dep-am".
4421 * Makefile.in: Regenerate.
4422 * configure.in Update bfd vector dependencies.
4423 * configure: Regenerate.
4424 * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
4425 * elf32-i386qnx.c: Likewise.
4426 * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
4427 * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
4428 * elf32-sh-lin.c: Likewise.
4429 * elf32-shqnx.c: Likewise.
4430 * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
4431 * elf32-sh64-nbsd.c: Likewise.
4432 * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
4433 * elf64-sh64-nbsd.c: Likewise.
4434 * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
4435 * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
4436 * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
4437 * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
4438 * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
4439 (elf_backend_is_contained_by_filepos): Likewise.
4440 (elf_backend_copy_private_bfd_data_p): Likewise.
4441 Globalize and move functions to..
4442 * elf32-qnx.c: ..here. New file.
4443 * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
4444 emit target vectors when INCLUDE_SHMEDIA.
4445 * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
4446 end of file.
4447 * elf64-sh64.c: Remove ELF_ARCH test.
4448 * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
4449 * po/BLD-POTFILES.in: Regenerate.
4450 * po/SRC-POTFILES.in: Regenerate.
4451
90c9df85
AM
44522002-10-16 Alan Modra <amodra@bigpond.net.au>
4453
366f2964
AM
4454 * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
4455 loaded with --just-symbols.
4456
90c9df85
AM
4457 * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
4458 * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
4459 * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
4460 * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
4461
2238051f
RH
44622002-10-15 Richard Henderson <rth@redhat.com>
4463
4464 * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
4465 (BFD64_BACKENDS_CFILES): Likewise.
4466 * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
4467 * elf64-alpha-fbsd.c: Remove file, move code ...
4468 * elf64-alpha.c: ... here.
4469 * Makefile.in, configure: Rebuild.
4470
64e04ecd
RH
44712002-10-14 Richard Henderson <rth@redhat.com>
4472
4473 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
4474 VALUE, not ADDEND.
4475
396a6083
SC
44762002-10-14 Stephen Clarke <stephen.clarke@superh.com>
4477
4478 * elf32-sh.c (elf_sh_link_hash_entry): Replace
4479 datalabel_got_offset with union of datalabel_got
4480 offset and refcount.
4481 (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
4482 (allocate_dynrelocs): Delete unnecessary code for
4483 STT_DATALABEL type. Create entry in got for
4484 datalabel version of symbol if datalabel_got.refcount > 0.
4485 (sh_elf_relocate_section): Use datalabel_got union.
4486 (sh_elf_gc_sweep_hook): Pull common code to initialize
4487 h and eh out of switch statement. Declare seen_stt_datalabel.
4488 Initialize it. Decrement datalabel_got.refcount for
4489 got relocs when seen_stt_datalabel is true.
4490 Decrement local_got_refcounts entry for datalabel got relocs
4491 of local symbols.
4492 (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
4493 (sh_elf_check_relocs): Declare seen_stt_datalabel.
4494 Initialize it. When seen_stt_datalabel is true, increment
4495 datalabel_got refcount rather than got.refcount.
4496 (sh_elf_finish_dynamic_symbol): Create relocs to
4497 initialize got entry for datalabel version of symbol.
4498
6a0735ef
AM
44992002-10-14 Alan Modra <amodra@bigpond.net.au>
4500
4501 * Makefile.am: Run "make dep-am".
4502 (BFD_H_FILES): Remove version.h.
4503 * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
4504 * version.h: ..to here.
4505 * configure.in (bfd_version_date): Remove.
4506 (AC_OUTPUT): Make bfdver.h from version.h.
4507 * bfd.c: #include "bfdver.h".
4508 * vms-hdr.c: Likewise.
4509 * Makefile.in: Regenerate.
4510 * bfd-in2.h: Regenerate.
4511 * configure: Regenerate.
4512 * po/SRC-POTFILES.in: Regenerate.
4513
686e4055
AM
45142002-10-14 Alan Modra <amodra@bigpond.net.au>
4515
4516 * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
4517 bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
4518 bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
4519 bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
4520 bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
4521 bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
4522 bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
4523 bfd_mach_ip2022, bfd_mach_ip2022ext,
4524 bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
4525 * bfd-in2.h: Regenerate.
4526
019dca2b
KK
45272002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4528
4529 * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
4530 endian vector to targ_selvecs.
4531
bce03d3d
AO
45322002-10-13 Alexandre Oliva <aoliva@redhat.com>
4533
4534 * elfxx-mips.c (mips_elf_calculate_relocation): Take
4535 save_addend argument. Don't apply the 32-bit mask to a
4536 GPREL32 value if it's to be used in another relocation. Don't
4537 use forced-check computation of local_p to decide whether to
4538 add gp0 to GPREL16 value. Don't use only the lowest 16 bits
4539 of the addend of a non-in-place GPREL16 relocation.
4540 (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
4541 mips_elf_calculate_relocation().
4542
9b691193
SC
45432002-10-12 Stephane Carrez <stcarrez@nerim.fr>
4544
4545 * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
4546 with symbols in other sections if we relaxed something; the sections
4547 output offsets must be re-computed before.
4548
1f4c5b47
SC
45492002-10-12 Stephane Carrez <stcarrez@nerim.fr>
4550
4551 * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
4552 handling to use Elf_Internal_Sym.
4553 (m68hc11_elf_relax_delete_bytes): Likewise.
4554
5dc97655
KK
45552002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4556
4557 * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
4558 sh_elf_object_p, dtpoff_base): New functions.
4559 (sh_elf_howto_table): Add TLS relocs.
4560 (sh_reloc_map): Likewise.
4561 (sh_elf_info_to_howto): Support TLS relocs.
4562 (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
4563 (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
4564 New macros.
4565 (sh_elf_obj_tdata): New.
4566 (elf_sh_link_hash_table): Add tls_ldm_got.
4567 (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
4568 (allocate_dynrelocs): Support TLS relocs.
4569 (sh_elf_size_dynamic_sections): Likewise.
4570 (sh_elf_relocate_section): Support TLS relocs. Don't try to find
4571 .rela.got section when found already. Return false after printing
4572 error about unresolvable relocation.
4573 (sh_elf_gc_sweep_hook): Support TLS relocs.
4574 (sh_elf_check_relocs): Likewise.
4575 (sh_elf_finish_dynamic_symbol): Likewise.
4576 (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
4577 * reloc.c: Add SH TLS relocs.
4578 * bfd-in2.h, libbfd.h: Regenerate.
4579
6a0735ef
AM
45802002-10-11 Daniel Jacobowitz <drow@mvista.com>
4581
4582 * Makefile.in: Regenerated.
4583
af39267e
DJ
45842002-10-11 Daniel Jacobowitz <drow@mvista.com>
4585
4586 * Makefile.am: Run dep-am.
6a0735ef 4587 (BFD_H_DEP): Add simple.c and linker.c.
af39267e
DJ
4588 (BFD32_LIBS): Add simple.lo.
4589 (BFD32_LIBS_CFILES): Add simple.c.
4590 * Makefile.in: Regenerated.
4591 * bfd-in2.h: Regenerated.
4592 * simple.c: New file.
4593
0be617ce
AM
45942002-10-11 Alan Modra <amodra@bigpond.net.au>
4595
14a793b2
AM
4596 * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
4597 (record_thumb_to_arm_glue): Likewise.
4598 * ecoff.c (ecoff_link_add_externals): Likewise.
4599 * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
4600 (record_thumb_to_arm_glue): Likewise.
4601 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
4602 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
4603 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
4604 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
4605 * elf64-ppc.c (func_desc_adjust): Likewise.
4606 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
4607 (sh64_elf64_create_dynamic_sections): Likewise.
4608 * elflink.c (_bfd_elf_create_got_section): Likewise.
4609 (_bfd_elf_create_dynamic_sections): Likewise.
4610 (_bfd_elf_create_linker_section): Likewise.
4611 * elflink.h (elf_add_default_symbol): Likewise.
4612 (elf_link_create_dynamic_sections): Likewise.
4613 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
4614 * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
4615 * elfxx-mips.c (mips_elf_create_got_section): Likewise.
4616 (_bfd_mips_elf_add_symbol_hook): Likewise.
4617 (_bfd_mips_elf_create_dynamic_sections): Likewise.
4618 * linker.c (generic_link_add_symbol_list): Likewise.
4619 * xcofflink.c (xcoff_link_add_symbols): Likewise.
4620
4621 * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
4622
0be617ce 4623 * elf64-ppc.c (edit_opd): Only zero opd syms when function is
7f6a7663 4624 completely removed. Correct local sym adjustment.
0be617ce 4625
0a4ef3f4
SC
46262002-10-10 Stephen Clarke <stephen.clarke@superh.com>
4627
4628 * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
4629 Correct mistake in calculation of address of .got.
4630 * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
4631 elf_sh64_pic_plt_entry_le): Likewise.
4632
efacd36e
SC
46332002-10-09 Richard Shann <richard.shann@superh.com>
4634 Stephen Clarke <stephen.clarke@superh.com>
4635
4636 * Makefile.am: Add entries for elf32-sh64-lin.c and
4637 elf64-sh64-lin.c. Regenerate.
4638 * Makefile.in: Regenerate.
9b5ecbd0 4639 * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
efacd36e
SC
4640 to use sh64 vectors rather than sh vectors.
4641 * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
4642 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
4643 * configure: Regenerate.
4644 * elf32-sh64-lin.c: New file.
4645 * elf64-sh64-lin.c: New file.
4646 * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5fe39cae
AM
4647 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
4648
299bf759
L
46492002-10-08 H.J. Lu <hjl@gnu.org>
4650
4651 * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
4652 IE->LE transition for R_386_TLS_IE.
4653
51020317
AM
46542002-10-08 Alan Modra <amodra@bigpond.net.au>
4655
4656 * elf64-ppc.c (edit_opd): Correct test for discarded sections.
4657
a8fcf378
NC
46582002-10-07 Mark Elbrecht <snowball3@softhome.net>
4659
51020317
AM
4660 * cofflink.c (mark_relocs): Don't mark relocations in excluded
4661 sections.
a8fcf378 4662
a16d5acb
AM
46632002-10-07 Alan Modra <amodra@bigpond.net.au>
4664
a6b511bd
AM
4665 * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
4666 code.
4667
a16d5acb
AM
4668 * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
4669
7c4a37eb
AM
46702002-10-06 Alan Modra <amodra@bigpond.net.au>
4671
4672 * opncls.c: Formatting.
4673 (_bfd_new_bfd): Use a smaller section hash table.
4674
7c4ca42d
AO
46752002-10-05 Alexandre Oliva <aoliva@redhat.com>
4676
4677 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
4678 of the other two relocations packed with a REL32 to NONE.
4679
4989d792
SC
46802002-10-02 Stephen Clarke <stephen.clarke@superh.com>
4681
4682 * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
4683 (sh_elf_link_hash_newfunc): Initialize it.
4684 (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
4685 to got.refcount for symbols that are forced local or when
4686 we have direct got refs.
4687 (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
4688 to correctly adjust got.refcount and plt.refcount.
4689 (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
4690 (sh_elf_check_relocs): Increment gotplt_refcount.
51020317 4691
7c445aa3
JJ
46922002-10-01 Jakub Jelinek <jakub@redhat.com>
4693
4694 * elf32-i386.c (elf_i386_relocate_section): Fix
4695 movl foo@indntpoff, %eax IE->LE transition.
4696
abcf1d52
JJ
46972002-10-01 Jakub Jelinek <jakub@redhat.com>
4698
4699 * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
4700 sequence and its transitions.
4701
a45bb67d
JJ
47022002-10-01 Jakub Jelinek <jakub@redhat.com>
4703
4704 * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
4705 to st_value + addend in non-code sections.
4706 * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
4707 R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
4708
00707a0e 47092002-09-30 Gavin Romig-Koch <gavin@redhat.com>
51020317
AM
4710 Ken Raeburn <raeburn@cygnus.com>
4711 Aldy Hernandez <aldyh@redhat.com>
4712 Eric Christopher <echristo@redhat.com>
4713 Richard Sandiford <rsandifo@redhat.com>
00707a0e
RS
4714
4715 * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
4716 (bfd_mach_mips5500): New.
4717 * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
4718 (arch_info_struct): Add corresponding entries here.
4719 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
4720 E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
4721 (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
4722 bfd_mach_mips5400 and bfd_mach_mips5500.
4723 (_bfd_mips_elf_mach_extends_p): New function.
4724 (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
4725 the EF_MIPS_MACH flags.
4726 * bfd-in2.h: Regenerate.
4727
624f0b25
JT
47282002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
4729
4730 * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
4731 .got sections.
4732
b89fe0ee
AM
47332002-09-28 Alan Modra <amodra@bigpond.net.au>
4734
4735 * elf.c (map_sections_to_segments): Correct test for start of
4736 writable section in the same page as end of read-only section.
4737
b29635ba
JT
47382002-09-27 Matt Thomas <matt@3am-software.com>
4739
4740 * elf32-vax.c (elf_vax_check_relocs): Remove unused
4741 local_got_refcounts usage. Remove allocation of got slot.
4742 (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
4743 Remove de-allocation of got slot.
4744 (elf_vax_size_dynamic_section): Fix some indentation. Add hash
4745 traversal for elf_vax_instantiate_got_entries. Allow empty .got
4746 sections to be GC'ed.
4747 (elf_vax_instantiate_got_entries): New function.
4748 (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
4749 tests that are now handled by elf_vax_instantiate_got_entries.
4750 Assert GOT entry falls within .got section size. Remove redundant
4751 comparisions. Fix comments.
4752
bffbf940
JJ
47532002-09-27 Jakub Jelinek <jakub@redhat.com>
4754
4755 * reloc.c: Add x86-64 TLS relocs.
4756 * bfd-in2.h, libbfd.h: Rebuilt.
4757 * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
4758 relocs. Add TLS relocs.
4759 (x86_64_reloc_map): Add TLS relocs.
4760 (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
4761 (struct elf64_x86_64_link_hash_entry): Add tls_type field.
4762 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
4763 (elf64_x86_64_hash_entry): Define.
4764 (struct elf64_x86_64_obj_tdata): New.
4765 (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
4766 (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
4767 (link_hash_newfunc): Initialize tls_type.
4768 (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
4769 (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
4770 (elf64_x86_64_mkobject): New.
4771 (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
4772 (elf64_x86_64_tls_transition): New.
4773 (elf64_x86_64_check_relocs): Add r_type variable and use it.
4774 Handle TLS relocs.
4775 (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
4776 (allocate_dynrelocs): Allocate GOT space for TLS relocs.
4777 (elf64_x86_64_size_dynamic_sections): Likewise.
4778 (dtpoff_base, tpoff): New.
4779 (elf64_x86_64_relocate_section): Handle TLS relocs.
4780 (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
4781 entries.
4782 (bfd_elf64_mkobject): Define.
4783
4784 * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
4785 DF_STATIC_TLS if shared.
4786
14366460
TS
47872002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4788
4789 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
4790 empty relocation sections.
4791
9f951329
AM
47922002-09-26 Alan Modra <amodra@bigpond.net.au>
4793
4794 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
4795 (ppc64_elf_build_stubs): Build them here instead.
4796
6b3ac709
JJ
47972002-09-24 Jakub Jelinek <jakub@redhat.com>
4798
4799 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
4800 addend into r_addend, not *r_offset.
4801 (elf32_sparc_finish_dynamic_symbol): Likewise.
4802 * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
4803 R_SPARC_RELATIVE's r_offset.
4804
e2f6d277
NC
48052002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
4806
4807 * dwarf2.c (decode_line_info): Update to correctly decode
4808 the (non-standard DWARF2) out-of-order address sequences
4809 generated by the Intel C++ 6.0 compiler for ia64-Linux.
4810
f3961b2b
DD
48112002-09-23 Mark Elbrecht <snowball3@softhome.net>
4812
4813 * config.bfd: For DJGPP targets, match with any cpu and any machine.
4814
ad34bc37
AM
48152002-09-23 Alan Modra <amodra@bigpond.net.au>
4816
4817 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
4818 for discarded FDEs. Remove redundant assignment.
4819 * elflink.h (elf_bfd_discard_info): Save edited relocs.
4820
82988bff
L
48212002-09-22 H.J. Lu <hjl@gnu.org>
4822
4823 * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
4824 the relocation count between different .reloc sections.
4825
5ad8645c
AM
48262002-09-21 Alan Modra <amodra@bigpond.net.au>
4827
5f819128
AM
4828 * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
4829 ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
4830 R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
4831 R_PPC_EMB_RELSDA.
4832
5ad8645c
AM
4833 * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
4834 unsigned. Move "symcount" assignment out of loop.
4835 * Makefile.am: Run "make dep-am".
4836 * Makefile.in: Regenerate.
4837 * configure: Regenerate.
4838 * po/SRC-POTFILES.in: Regnerate.
4839
75936555
NC
48402002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
4841
4842 * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
4843 zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
4844 (e.g. IRIX64).
4845
2243deae
L
48462002-09-19 Jakub Jelinek <jakub@redhat.com>
4847
4848 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
4849 even if generating R_PPC_RELATIVE reloc.
4850 (ppc_elf_relocate_section): Make sure relocation is performed
4851 if skip == -2. Clear memory at r_offset when creating dynamic
4852 relocation.
4853
37e55690
JJ
48542002-09-19 Jakub Jelinek <jakub@redhat.com>
4855
4856 * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
4857 BFD_RELOC_386_TLS_GOTIE): Add.
4858 * bfd-in2.h, libbfd.h: Rebuilt.
4859 * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
4860 and R_386_TLS_GOTIE.
4861 (elf_i386_reloc_type_lookup): Handle it.
4862 (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
4863 char instead of enum, change GOT_* into defines.
4864 (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
4865 (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
4866 (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
4867 accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
4868 R_386_PLT32 cases so that R_386_TLS_IE can fall through.
4869 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
4870 (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
4871 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
4872 (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
4873 tls_type is GOT_TLS_IE_BOTH.
4874 (elf_i386_size_dynamic_sections): Likewise.
4875 (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
4876 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
4877 (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
4878 all 4 GOT_TLS_* TLS types.
4879
8e67855b
NC
48802002-09-19 Nick Clifton <nickc@redhat.com>
4881
4882 * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
4883 follow indirect links.
4884
1c59ba3f
NC
48852002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
4886
4887 * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
4888 correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
4889 on 64 bit machines.
4890 (ecoff_swap_sym_in) <iss>: Likewise.
0e327d91
NC
4891 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
4892 ECOFF information: 'ioptMax' refers to the actual *size*
4893 of the optimization symtab, not the number of entries.
1c59ba3f 4894
9d7404b7
NC
48952002-09-19 Daniel Jacobowitz <drow@mvista.com>
4896
4897 * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
4898 ELF_LINK_HASH_NEEDS_PLT logic.
4899
05a487dc
DJ
49002002-09-18 Daniel Jacobowitz <drow@mvista.com>
4901
4902 * elfcode.h (elf_slurp_reloc_table_from_section): Check
4903 correct relocation count.
4904
1f70368c
DJ
49052002-09-17 Daniel Jacobowitz <drow@mvista.com>
4906
4907 * bfd-in.h (bfd_get_dynamic_symcount): Define.
4908 * bfd.c (struct _bfd): Add dynsymcount.
4909 * bfd-in2.h: Regenerated.
4910 * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
4911 abfd->dynsymcount.
4912 * elfcode.h (elf_slurp_reloc_table_from_section): Check
4913 for overflow.
4914
51020317 49152002-09-17 Stan Cox <scox@redhat.com>
a902ee94
SC
4916
4917 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
4918 (mips_elf64_final_gp): Don't make up gp value.
4919 * elfn32-mips.c (mips_elf_final_gp): Likewise.
4920 * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
4921 .MIPS.options/.options section.
4922
290062cc
DB
49232002-09-17 David O'Brien <obrien@FreeBSD.org>
4924
4925 * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
4926 It is benign for FreeBSD < 4.1. Minor reformatting.
4927 * elf64-alpha-fbsd.c: Likewise.
4928
c5c1f40c
JJ
49292002-09-17 Jakub Jelinek <jakub@redhat.com>
4930
ca1eb0ba
JJ
4931 * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
4932 addend.
c5c1f40c 4933
562ace6b
AM
49342002-09-17 Alan Modra <amodra@bigpond.net.au>
4935
4936 * elf64-alpha.c (alpha_elf_size_info): Make static.
4937
5af6ead6
AM
49382002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
4939
4940 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
4941 * cpu-tic4x.c: Ditto.
4942
cb9512fc
TS
49432002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4944
4945 * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
4946 duplicate define.
4947
4ada7262
DB
49482002-09-16 Bruno Haible <bruno@clisp.org>
4949
4950 * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
4951 by a target variant implementation.
4952 * elf64-alpha.c: Likewise.
4953 * elf32-i386-fbsd.c: New file.
4954 * elf64-alpha-fbsd.c: New file.
4955 * targets.c: Support bfd_elf32_i386_freebsd_vec and
4956 bfd_elf64_alpha_freebsd_vec.
4957 * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
4958 bfd_elf64_alpha_freebsd_vec.
4959 * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
4960 (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
4961 (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
4962 (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
4963 (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
4964 * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
4965 specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
4966
6a30718d
JJ
49672002-09-12 Jakub Jelinek <jakub@redhat.com>
4968
4969 * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
4970 NULL.
4971 (elf_i386_relocate_section): Return false after printing error about
4972 unresolvable relocation.
4973
6cf9e9fe
NC
49742002-09-12 Nick Clifton <nickc@redhat.com>
4975
4976 * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
4977 R_ARM_THM_PC11.
4978
10f469bf
DJ
49792002-09-11 Jeffrey Law <law@redhat.com>
4980
4981 * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
4982
dc43ada5
NC
49832002-09-11 Andrew Haley <aph@cambridge.redhat.com>
4984
4985 * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
4986 line_ptr before deciding we've found a symbol.
4987
e09f4395
NC
49882002-09-11 Nick Clifton <nickc@redhat.com>
4989
4990 * po/da.po: New Danish translation file.
4991 * configure.in (LINGUAS): Add 'da'.
4992 * configure: Regenerate.
4993
b3018b5f
NC
49942002-09-10 Michael Snyder <msnyder@redhat.com>
4995
4996 * irix-core.c (do_sections, do_sections64): New functions.
51020317 4997 (irix_core_core_file_p): Call new functions do_sections,
b3018b5f
NC
4998 do_sections64, depending on corefile (32-bit or 64-bit).
4999
2f21f25e
RH
50002002-09-09 Richard Henderson <rth@redhat.com>
5001
5002 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
5003 and PCREL21F like PCREL21B.
5004
28b94e7c
KB
50052002-09-04 Kevin Buettner <kevinb@redhat.com>
5006
51020317
AM
5007 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
5008 vector.
28b94e7c 5009
5cec6941
NC
50102002-09-02 Nick Clifton <nickc@redhat.com>
5011
5012 * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
5013 names instead of cryptically overloaded bfd_reloc error
5014 codes.
5015 (v850_elf_relocate_section): Likewise.
5016 (v850_elf_relax_section): Replace caching of external symbols
5017 with caching of internal symbols obtained from calling
5018 bfd_elf_get_elf_syms().
51020317 5019 Fixup problems with freeing cached allocated memory blocks.
5cec6941 5020
3b77b1d5
AM
50212002-09-02 Alan Modra <amodra@bigpond.net.au>
5022
638524b5
AM
5023 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
5024 (bfd_pj_arch): Use bfd_default_scan.
5025 * cpu-v850.c (scan): Remove.
5026 (N): Use bfd_default_scan.
5027 * cpu-z8k.c (scan_mach): Remove.
5028 (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
5029 first. Use bfd_default_scan.
5030
250d94fd
AM
5031 * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
5032 bfd_mach constants.
5033 (ecoff_get_magic): Likewise.
5034 * elf32-v850.c (v850_elf_object_p): Likewise.
5035 (v850_elf_final_write_processing): Likewise.
5036 * mipsbsd.c (MY(set_arch_mach)): Likewise.
5037 (MY(write_object_contents)): Likewise.
5038 * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
5039 * coffcode.h (coff_write_object_contents): Likewise.
5040 (coff_set_arch_mach_hook): Add comment describing machine == 0.
5041 Remove unnecessary "machine" assignments.
5042 (coff_write_relocs): Test for the absolute section sym by testing
5043 section and flags.
5044
3b77b1d5
AM
5045 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
5046 and bfd_mach_i386_i386_intel_syntax.
250d94fd 5047 * pdp11.c (NAME(aout,machine_type)): Likewise.
3b77b1d5 5048
e5b45b83
DA
50492002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
5050
5051 * bfd-in.h (align_power): Cast constants to bfd_vma type.
5052 * bfd-in2.h (align_power): Likewise.
5053
37f45cf8
AM
50542002-08-30 Alan Modra <amodra@bigpond.net.au>
5055
5056 * Makefile.am: Run "make dep-am".
5057 * Makefile.in: Regenerate.
5058
5059 * cpu-avr.c (compatible): Don't use hard-coded mach constants.
5060 * cpu-powerpc.c (powerpc_compatible): Likewise.
5061 * cpu-rs6000.c (rs6000_compatible): Likewise.
5062
86aba9db
NC
50632002-08-28 Catherine Moore <clm@redhat.com>
5064
9b5ecbd0 5065 * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
86aba9db
NC
5066 (v850-elf-reloc): Don't resolve pc relative relocs.
5067 (v850_elf_ignore_reloc): New routine.
5068 (v850_elf_final_link_relocate): Handle new relocs.
5069 (v850_elf_relax_delete_bytes ): New routine.
5070 (v850_elf_relax_section): New routine.
5071 (bfd_elf32_bfd_relax_section): Define.
5072 (HOWTO): New entries for new relocs.
5073 * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
5074 (BFD_RELOC_V850_LONGJUMP): New reloc.
5075 (BFD_RELOC_V850_ALIGN): New reloc.
5076 * archures.c: Remove redundant v850ea architecture.
5077 * cpu-v850.c: Remove redundant v850ea support.
5078 * libbfd.h: Regenerate.
5079 * bfd-in2.h: Regenerated.
5080
026df7c5
NC
50812002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
5082
5083 * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
5084 * configure.in: Add tic4x_coff vector files.
5085 * configure: Regenerate.
5086 * Makefile.am: Add tic4x target.
5087 * Makefile.in: Regenerate.
5088
50892002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5090
5091 * archures.c: Add the BFD arch type tic4x.
5092 * bfd-in.h: Add BFD_IN_MEMORY flag.
5093 * coff-tic4x.c: New file.
5094 * coffswap.h (coff_swap_sym_out): Add preadjuster.
5095 * cpu-tic4x.c: New file.
5096 * targets.c: Added tic4x- in list of xvecs.
5097 * ticoff.h: New file.
5098 * bfd-in2.h: Regenerate.
5099
88f7bcd5
NC
51002002-08-27 Adam Nemet <anemet@lnxw.com>
5101
5102 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
5103 bit of DT_INIT and DT_FINI for Thumb functions.
5104
c8e48751
AM
51052002-08-26 Alan Modra <amodra@bigpond.net.au>
5106
5107 * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
5108
2846975a
AM
51092002-08-26 Alan Modra <amodra@bigpond.net.au>
5110
5111 * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
5112
067653c5
AM
51132002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5114
5115 * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
5116 (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
5117 Likewise.
5118 (struct elf_sh_pcrel_relocs_copied): Removed.
5119 (struct elf_sh_dyn_relocs): New.
5120 (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
5121 field with dyn_relocs.
5122 (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
5123 sections and sym_sec.
5124 (sh_elf_link_hash_newfunc): Clear dyn_relocs.
5125 (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
5126 (sh_elf_create_dynamic_sections): Use create_got_section instead
5127 of _bfd_elf_create_got_section.
5128 (sh_elf_check_relocs): Likewise.
5129 (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
5130 sections.
5131 (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
5132 sh_elf_relocate_section, sh_elf_check_relocs,
5133 sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
5134 Likewise.
5135 (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
5136 dynamic relocations and avoiding the copy relocation when we
5137 didn't find any dynamic relocations in the section which has
5138 contents or is read-only.
5139 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
5140 (sh_elf_size_dynamic_sections): Don't reset the size of
5141 .rela.got section even if dynamic_sections_created flag is off.
5142 Don't use sh_elf_discard_copies. Scan all input bfd and use
5143 allocate_dynrelocs. Call readonly_dynrelocs to determine
5144 whether we need DT_TEXTREL.
5145 (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
5146 whether the symbol was never referred to.
5147 (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
5148 (sh_elf_gc_sweep_hook): Fill with the real sweep function.
5149 (sh_elf_check_relocs): Call create_got_section if the short-cut
5150 to .got is null. Increment reference counters only instead of
5151 allocating space on dynamic sections here. Don't conditionalize
5152 uninitialized got.offset value when marking the symbol as a
5153 global offset table entry. Keep relocations for symbols satisfied
5154 by a dynamic library to avoid copy relocations for the symbol.
5155 Set dynobj field of an elf hash table if needed.
5156 (sh_elf_finish_dynamic_sections): Handle null section pointer
5157 correctly.
5158 (elf_backend_copy_indirect_symbol): Defined.
5159 (elf_backend_can_refcount): Defined.
5160
7e326afc
NC
51612002-08-23 Nick Clifton <nickc@redhat.com>
5162
5163 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
5164 previous change. Add comment explaining why.
5165
c8614e8e
AM
51662002-08-23 Stephen Clarke <stephen.clarke@superh.com>
5167
5168 * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
5169 contents of .got.plt[2] to tr0, not address of .got.plt.
5170 (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
5171 patching absolute plt entry. For shmedia plt entry, set bottom bit
5172 of branch to plt0 as this is a branch to an shmedia instruction.
5173 * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
5174 Copy contents of .got.plt[2] to tr0, not address of .got.plt.
5175 (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
5176 branch to plt0.
5177 (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
5178 patching absolute plt entry. For shmedia plt entry, branch to
5179 plt0 is now ptrel, so use relative offset. Set bottom bit of
5180 branch target as it is a branch to an shmedia instruction.
5181
3b587c71
AM
51822002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
5183 Richard Shann <richard.shann@superh.com>
5184
5185 * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
5186 value if .init is an SHmedia function. Similarly for DT_FINI.
5187 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
51020317 5188
957dcaa8
AM
51892002-08-23 Stephen Clarke <stephen.clarke@superh.com>
5190
3b587c71 5191 * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
957dcaa8 5192 dynamic section.
3b587c71 5193 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
957dcaa8 5194
a4263c47
NC
51952002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5196
5197 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
51020317 5198 byte read when reading the return address register column.
a4263c47 5199
db4ed121
NC
52002002-08-22 Nick Clifton <nickc@redhat.com>
5201
5202 * config.bfd: Add powepc64-*-*bsd* target.
5203
ed71e111
NC
52042002-08-22 Graeme Peterson <gp@qnx.com>
5205
5206 * Makefile.am: Add entries for elf32-shqnx.c
5207 * Makefile.in: Regenerate.
5208 * config.bfd: Add support sh-*-nto* target.
5209 * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
5210 * configure: Regenerate.
5211 * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
5212 * elf32-sh.c: Do not include elf32-target.h if
5213 ELF32_SH_C_INCLUDED is defined.
5214 * elf32-shqnx.c: New file: Support for QNX.
5215 * targets.c: Add bfd_elf32_sh{l}qnx_vec.
5216
0ab72ee2
NC
52172002-08-22 Nick Clifton <nickc@redhat.com>
5218
75c83283
NC
5219 * po/tr.po: Updated Turkish translation.
5220
0ab72ee2
NC
5221 * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
5222 symbols are not read.
5223
56780f18
AM
52242002-08-22 Alan Modra <amodra@bigpond.net.au>
5225
5226 * elf32-m68hc11.c: Formatting fixes.
5227 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
5228 * elf32-m68hc12.c: Formatting fixes.
5229 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
5230
b48fa14c
AM
52312002-08-22 Alan Modra <amodra@bigpond.net.au>
5232
a7c71b0c
AM
5233 * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
5234 SEC_DATA.
5235 (pmac_xcoff_vec): Likewise.
5236 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
5237 (aix5coff64_vec): Likewise.
5238
56780f18
AM
52392002-08-22 Alan Modra <amodra@bigpond.net.au>
5240
b48fa14c
AM
5241 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
5242 param to elf_backend_copy_indirect_symbol.
5243 (_bfd_elf_link_hash_copy_indirect): Likewise.
5244 * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
5245 calls to copy_indirect_symbol.
5246 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
5247 * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
5248 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
5249 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
5250 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
5251 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
5252 * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
5253 * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
5254 * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
5255 * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
5256 test refcounts for "used" values.
5257
8c2ab17d
AM
52582002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
5259
5260 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
5261 argument declaration.
5262
d62b1198 52632002-08-19 Elena Zannoni <ezannoni@redhat.com>
51020317
AM
5264
5265 * archures.c (bfd_mach_ppc_e500): Added.
5266 * bfd-in2.h: Rebuilt.
d62b1198
EZ
5267 * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
5268
9f88ba09
AM
52692002-08-19 Alan Modra <amodra@bigpond.net.au>
5270
5271 * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
5272
df622259
AC
52732002-08-17 Andrew Cagney <ac131313@redhat.com>
5274
5275 * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
51020317 5276 `bfd_byte'.
df622259 5277
44c410de
SC
52782002-08-17 Stan Cox <scox@redhat.com>
5279
5280 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
5281 IRIX 6 segment layout for NEWABI.
5282
4972a8e9
SC
52832002-08-16 Stephen Clarke <stephen.clarke@superh.com>
5284
1049f94e 5285 * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
4972a8e9 5286 symbols when looking for section referred to by a relocation.
1049f94e 5287 * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
51020317 5288
c5cd6d62
AM
52892002-08-15 Alan Modra <amodra@bigpond.net.au>
5290
5291 * elf32-i370.c: Move reloc enum to include/elf/i370.h.
5292
0741c7be
HPN
52932002-08-15 Hans-Peter Nilsson <hp@axis.com>
5294
5295 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
5296 missing check for whether the symbol is referenced by DSO before
5297 unexporting it as an unneeded dynamic symbol.
5298
e8d5d179
L
52992002-08-14 H.J. Lu <hjl@gnu.org>
5300
5301 * libbfd.h: Regenerate.
5302
e9229007
L
53032002-08-14 H.J. Lu <hjl@gnu.org>
5304
5305 * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
5306
1fd03b5a
SC
53072002-08-14 Stephane Carrez <stcarrez@nerim.fr>
5308
5309 * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
5310 instructions.
5311 (m68hc11_direct_relax): New to define table of relaxable instructions.
5312 (find_relaxable_insn): New, find a relaxable insn.
5313 (compare_reloc): New to compare two relocs.
5314 (m68hc11_elf_relax_section): New, relax text sections.
5315 (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
5316 (elf32_m68hc11_check_relocs): New function for GC support.
5317 (elf32_m68hc11_relocate_section): New function for GC support.
5318 (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
5319 (elf_backend_check_relocs): Likewise.
5320 (elf_backend_relocate_section): Likewise.
5321
c828c771
L
53222002-08-13 H.J. Lu <hjl@gnu.org>
5323
5324 * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
5325 definitions in shared objects when checking symbol with
5326 undefined version.
5327
9b701e44
SC
53282002-08-13 Stephane Carrez <stcarrez@nerim.fr>
5329
5330 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
5331 (elf32_m68hc11_gc_sweep_hook): Likewise.
5332 (elf_backend_gc_mark_hook): Define for GC section support.
5333 (elf_backend_gc_sweep_hook): Likewise.
5334 (elf_backend_can_gc_sections): Likewise.
5335
5336 * elf32-m68hc12.c: Likewise.
5337
96405e3c
SC
53382002-08-13 Stephane Carrez <stcarrez@nerim.fr>
5339
5340 * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
5341 (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
5342 (_bfd_m68hc11_elf_set_private_flags): New function.
5343 Use them to set/check/print ELF flags specific to 68HC11.
5344
5345 * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
5346 (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
5347 (_bfd_m68hc12_elf_set_private_flags): New function.
5348 Use them to set/check/print ELF flags specific to 68HC12.
5349
dae78fb0
SC
53502002-08-13 Stephane Carrez <stcarrez@nerim.fr>
5351
5352 * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
5353 fix masks for PC-rel relocs.
5354 (m68hc11_elf_ignore_reloc): New function.
5355
5356 * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
5357 68HC12 banked addressing relocs.
5358 (m68hc12_phys_addr): New to compute physical address of banked memory.
5359 (m68hc12_phys_page): Likewise for page.
5360 (m68hc12_addr_is_banked): New to see if address is in banked area.
5361 (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
5362
3dbfec86
SC
53632002-08-13 Stephane Carrez <stcarrez@nerim.fr>
5364
5365 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
5366 BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
5367 BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
5368 * bfd-in2.h: Regenerate.
5369
871da94f
L
53702002-08-12 H.J. Lu <hjl@gnu.org>
5371
5372 * elflink.h (elf_add_default_symbol): Preserve section across
5373 elf_merge_symbol.
5374
59bc061d
NC
53752002-08-09 Graeme Peterson <gp@qnx.com>
5376
51020317 5377 * Makefile.am: Add entries for elf32-ppcqnx.c, and add
59bc061d
NC
5378 elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
5379 * Makefile.in: Regenerate.
5380 * config.bfd: Add support for powerpc{le}-*-nto targets.
5381 * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
5382 * configure: Regenerate.
5383 * elf32-i386qnx.c: Moved backend functions into a QNX specific
5384 common file "elf32-qnx.h", and now include that file.
5385 * elf32-qnx.h: New file: QNX specific common elf backend.
5386 * elf32-ppc.c: Do not include elf32-target.h if
5387 ELF32_PPC_C_INCLUDED is defined.
5388 * elf32-ppcqnx.c: New file: Support for QNX.
5389 * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
5390 * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
5391
2b692c59
NC
53922002-08-09 Nick Clifton <nickc@redhat.com>
5393
5394 * po/sv.po: Updated Swedish translation.
5395
d0c7ff07
TS
53962002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5397
5398 * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
5399 g->global_gotsym is NULL.
5400
d8bbe778
L
54012002-08-08 H.J. Lu <hjl@gnu.org>
5402
c5cd6d62 5403 * elflink.h (elf_add_default_symbol): Don't warn if a definition
d8bbe778
L
5404 overrides an indirect versioned symbol.
5405
c366c25e
JJ
54062002-08-08 Jakub Jelinek <jakub@redhat.com>
5407
5408 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
5409 for R_386_TLS_TPOFF32 relocs against symndx 0.
5410
31941635
L
54112002-08-07 H.J. Lu <hjl@gnu.org>
5412
5413 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
5414 with undefined version if needed.
5415 (elf_link_assign_sym_version): Match a default symbol with a
5416 version without definition. No need to hide the default
5417 definition separately.
5418
0f3bd64f
AM
54192002-08-08 Alan Modra <amodra@bigpond.net.au>
5420
7330fb86
AM
5421 * elflink.h (elf_link_output_extsym): Don't output symbols from
5422 SEC_EXCLUDE sections.
5423
0f3bd64f
AM
5424 * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
5425
a4aa0fb7
AM
54262002-08-07 Alan Modra <amodra@bigpond.net.au>
5427
5428 * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
5429 entries.
5430
34ea4a36
TS
54312002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5432
5433 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
5434 mismatch.
5435
141ff970
TS
54362002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5437
5438 * elfxx-mips.c (ABI_64_P): Remove superfluous check.
5439
28458e7e
TS
54402002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5441
5442 * elf32-mips.c (mips_reloc_map): Fix typo.
5443
0121a3da
AM
54442002-08-06 Alan Modra <amodra@bigpond.net.au>
5445
5446 * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
5447
d006db6c
AM
54482002-08-06 Alan Modra <amodra@bigpond.net.au>
5449
5450 * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
5451
8ea80f08
AM
54522002-08-06 Alan Modra <amodra@bigpond.net.au>
5453
2a52da53
AM
5454 * libxcoff.h: Use PARAMS on function declarations.
5455 * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
5456 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
5457
8ea80f08
AM
5458 * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
5459 addend.
5460 * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
5461
cf9ab45b
AM
54622002-08-06 Alan Modra <amodra@bigpond.net.au>
5463
5464 * coff-rs6000.c: Formatting fixes.
5465 (xcoff_calculate_relocation): Use PARAMS in declaration.
5466 (xcoff_complain_overflow): Likewise.
5467 (xcoff_ppc_relocate_section): Use old-style function pointer call.
5468 (bfd_xcoff_backend_data): Remove useless comments.
5469 (rs6000coff_vec): Likewise.
5470 (bfd_pmac_xcoff_backend_data): Likewise.
5471 (pmac_xcoff_vec): Likewise.
8ea80f08 5472
cf9ab45b
AM
5473 * coff64-rs6000.c: Formatting fixes.
5474 (xcoff64_calculate_relocation): Use PARAMS in declaration.
5475 (xcoff64_ppc_relocate_section): Use old-style function pointer call.
5476 (bfd_xcoff_backend_data): Remove useless comments.
5477 (rs6000coff64_vec): Likewise.
5478 (bfd_xcoff_aix5_backend_data): Likewise.
5479 (aix5coff64_vec): Likewise.
5480
48bfecdd
AM
54812002-08-06 Alan Modra <amodra@bigpond.net.au>
5482
a78eab4e
AM
5483 * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
5484 mask entries. Use complain_overflow_dont for R_REF.
5485 (xcoff_reloc_type_ba): Revert last change.
5486 (xcoff_reloc_type_br): Likewise.
5487 (xcoff_reloc_type_crel): Likewise.
5488 (xcoff_ppc_relocate_section): Likewise.
5489 * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
5490 (xcoff64_ppc_relocate_section): Likewise.
5491 (xcoff64_howto_table): Revert some of last change to mask entries.
5492 Use complain_overflow_dont for R_REF.
5493
48bfecdd
AM
5494 * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
5495 relocs with bitsize == 16 have size = 1.
5496 (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
5497 (xcoff_reloc_type_br): Likewise.
5498 (xcoff_reloc_type_crel): Likewise.
5499 (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
5500 * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
5501 dst_mask adjustment.
5502 (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
5503 (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
5504 bitsize == 16 have size = 1.
5505
fd13ed0c
DC
55062002-08-01 Denis Chertykov <denisc@overta.ru>
5507
5508 * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
5509 (struct misc): New field isymbuf. All free_* fields removed.
5510 (symbol_value): Pass in internal syms. No need to swap syms in.
5511 (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
5512 possibly cached info.
5513 (tidyup_after_error): Removed.
5514 (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
5515 misc. Use new field.
5516 (adjust_all_relocations): Use internal syms. No need to swap syms
5517 in and out.
5518 (add_page_insn): Don't use removed fields of struct misc.
5519
24a1ba0f
NC
55202002-08-01 Nick Clifton <nickc@redhat.com>
5521
5522 * elf32-arm.h: Revert previous delta.
5523
a6903459
NC
55242002-08-01 Nick Clifton <nickc@redhat.com>
5525
5526 * configure.in (AM_INIT_AUTOMAKE): Bump version number.
5527 * configure: Regenerate.
5528
39a2a3eb
L
55292002-07-31 H.J. Lu <hjl@gnu.org>
5530
5531 * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
5532 selected.
5533
a0dfa6a8
L
55342002-07-31 H.J. Lu <hjl@gnu.org>
5535
5536 * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
5537 is selected.
5538
cd67d266
JJ
55392002-07-31 Jakub Jelinek <jakub@redhat.com>
5540
5541 * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
5542 if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
5543
4eb6b71c
NC
55442002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
5545
5546 * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
5547 There is no 8 byte relocation type for this architecture.
5548 (do_ns32k_reloc): Use bfd_vma instead of native types.
5549 (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
5550 returns void.
5551 (_bfd_ns32k_put_displacement): Don't check for overflow. We can
5552 rely on generic code to do that.
5553 * aout-ns32k.c (howto_table): Add appropriate overflow detection
5554 to all table entries.
5555 (_bfd_ns32k_relocate_contents): put_data returns void.
5556 * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
5557 (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
5558 return void.
5559
f7c33884
NC
55602002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
5561
5562 * aoutx.h (aout_link_check_ar_symbols): Whether to include an
5563 archive object is target dependant.
5564
8f64befb
NC
55652002-07-31 Adam Nemet <anemet@lnxw.com>
5566
5567 * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
5568 (THUMB_PLT_ENTRY_SIZE): New macro.
5569 (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
5570 (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
5571 ARM_PLT_ENTRY_SIZE.
5572 (elf32_arm_plt_entry): Likewise.
5573 (elf_backend_plt_header_size): Likewise.
5574 (elf32_thumb_plt0_entry): New global.
5575 (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
5576 into .plt.thumb.
5577 (elf32_thumb_plt_entry): New global.
5578 (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
5579 Thumb entries. Set the bottom bit of the corresponding GOT entry
5580 for a Thumb PLT entry.
5581 (struct elf32_arm_plt_entry_info): New structure.
5582 (struct elf32_arm_link_hash_entry, plt_info): New member of this
5583 type.
5584 (elf32_arm_link_hash_newfunc): Initialize new member.
5585 (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
5586 relocations against the PLT.
5587 (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
5588 first_rel_type if this is the first time we encounter the symbol.
5589 (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
5590 Determine if relocation needs a PLT entry. Set first_rel_type if
5591 this is the first time we encounter the symbol
5592 (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
5593 functions as well.
5594 (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
5595 (elf32_arm_create_dynamic_sections): New function. Create the
5596 .plt.thumb section.
5597 (elf_backend_create_dynamic_sections): Call it.
5598
47badb7b
NC
55992002-07-31 Nick Clifton <nickc@redhat.com>
5600
5601 * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
5602 'alternative' in order to avoid shadowing global symbol of the
5603 same name.
5604 * bfd-in2.h: Regenerate.
5605 * libbfd.h: Regenerate.
5606 * libcoff.h: Regenerate.
5607
8a397dad
TS
56082002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5609
5610 * Makefile.am: Add n32 ABI support.
5611 * Makefile.in: Regenerate.
5612 * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
5613 bit vectors for mips*-*-linux targets as optional.
5614 * configure.in: Add n32 ABI vectors.
5615 * configure: Regenerate.
5616 * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
5617 * elfn32-mips.c: New file, n32 ABI support.
5618 * targets.c: Add n32 ABI vectors.
5619
7e392df6 56202002-07-30 Graeme Peterson <gp@qnx.com>
83e1617e 5621
7e392df6
NC
5622 * elfarmqnx-nabi.c: New file: Support for QNX.
5623 * config.bfd: Add support for arm-*-nto target.
5624 * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
5625 * configure: Regenerate.
5626 * Makefile.am: Add entries for elfarmqnx-nabi.c.
5627 * Makefile.in: Regenerate.
5628 * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
5629 Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
5630 * elfarm-nabi.c: Do not include elf32-arm.h if
5631 ELFARM_NABI_C_INCLUDED is defined.
5632 * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7330fb86 5633
7e392df6 56342002-07-30 Nick Clifton <nickc@redhat.com>
7330fb86 5635
83e1617e
NC
5636 * po/sv.po: Updated Swedish translation.
5637
704afa60
JJ
56382002-07-30 Jakub Jelinek <jakub@redhat.com>
5639
5640 * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
5641
487e54f2
AM
56422002-07-30 Alan Modra <amodra@bigpond.net.au>
5643
5644 * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
5645 * archive.c (bfd_generic_archive_p): Likewise.
5646 * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
5647 (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
5648 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
5649 (xcoff64_archive_p): Likewise.
5650 (xcoff64_openr_next_archived_file): Likewise.
5651 (xcoff64_archive_p): Clean up tdata properly on error.
5652 * coffgen.c (coff_real_object_p): Likewise.
5653 (coff_object_p): Release filehdr and opthdr.
5654 * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
5655 * ieee.c (ieee_archive_p): Likewise.
5656 * ihex.c (ihex_object_p): Likewise.
5657 (ihex_mkobject): Always allocate tdata.
5658 * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
5659 * srec.c (srec_mkobject): Always allocate tdata.
5660 (srec_object_p): Clean up tdata properly on error.
5661 (symbolsrec_object_p): Likewise.
5662 * versados.c (versados_object_p): Likewise.
5663 * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
5664 and bfd_realloc instead of realloc.
5665 (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
5666 * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
5667 place of bfd_malloc, simplifying error freeing. Free hash table too.
5668 (vms_object_p): Clean up tdata on error.
5669 (vms_mkobject): Don't complain on stderr if vms_initialize fails.
5670 (vms_close_and_cleanup): Adjust for bfd_alloc use.
5671
9d46020e
AM
56722002-07-30 Alan Modra <amodra@bigpond.net.au>
5673
5674 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
5675
fb39dac1
RS
56762002-07-26 Chris Demetriou <cgd@broadcom.com>
5677
5678 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
5679 flags into resulting BFD.
5680
7a624474
AM
56812002-07-26 Alan Modra <amodra@bigpond.net.au>
5682
5683 From John Reiser <jreiser@BitWagon.com>
5684 * elf32-i386.c (elf_i386_link_hash_table_create): Clear
5685 tls_ldm_got.refcount.
5686
a4382ec6
TS
56872002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5688
5689 * elf64-mips.c: Update TODO comment.
5690 (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
5691 mips_elf64_gprel16_reloca): Remove prototypes.
5692 (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
5693 (UNUSED_RELOC): Replace by EMPTY_RELOC.
5694 (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
5695 wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
5696 R_MIPS_HIGHEST.
5697 (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
5698 R_MIPS_GOT16. Remove wrong comments.
5699 (elf_mips16_jump_howto,elf_mips16_gprel_howto,
5700 elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
5701 from elf32-mips.c.
5702 (mips_elf64_hi16_reloc): Fix formatting.
5703 (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
5704 (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
5705 Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
5706 (mips_elf64_gprel16_reloc): Make static. Add check for
5707 partial_inplace.
5708 (mips_elf64_gprel16_reloca): Remove.
5709 (mips_elf64_literal_reloc): New function.
5710 (mips_elf64_gprel32_reloc): Fix formatting.
5711 (mips_elf64_shift6_reloc): Fix comment. Make static.
5712 (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
5713 elf32-mips.c.
5714 (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
5715 elf32-mips.c
5716 (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
5717 specific relocations.
5718 (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
5719 (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
5720 (ELF_MAXPAGESIZE): Add comment.
5721
219576a4
NC
57222002-07-25 Nick Clifton <nickc@redhat.com>
5723
5724 * po/sv.po: Updated Swedish translation.
5725 * po/es.po: Updated Spanish translation.
5726 * po/fr.po: Updated French translation.
5727
8c58d23b
AM
57282002-07-25 Alan Modra <amodra@bigpond.net.au>
5729
5730 * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
5731 as elf_link_record_local_dynamic_symbol.
5732 (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
5733 (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
5734 * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
5735 * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
5736 attempt is made to record a symbol in a discarded section, and
5737 return `2' in that case.
5738
ff3063f5
NC
57392002-07-24 Nick Clifton <nickc@redhat.com>
5740
5741 * po/sv.po: Updated Swedish translation.
5742 * po/es.po: Updated Spanish translation.
5743
f0fe0e16
AM
57442002-07-23 Alan Modra <amodra@bigpond.net.au>
5745
c1fb5f8a
AM
5746 * po/SRC-POTFILES.in: Regenerate.
5747
f0fe0e16
AM
5748 * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
5749 immediately. Remove code handling relocatable linking.
5750 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
5751 * elf32-cris.c (cris_elf_relocate_section): Likewise.
5752 * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
de2d743e 5753 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
5754 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
5755 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
5756 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
5757 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5758 * elf32-v850.c (v850_elf_relocate_section): Likewise.
5759 * elf32-vax.c (elf_vax_relocate_section): Likewise.
5760 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5761 * elf32-avr.c (elf_backend_rela_normal): Define.
5762 * elf32-cris.c: Likewise.
5763 * elf32-fr30.c: Likewise.
de2d743e 5764 * elf32-frv.c: Likewise.
f0fe0e16
AM
5765 * elf32-h8300.c: Likewise.
5766 * elf32-hppa.c: Likewise.
5767 * elf32-ip2k.c: Likewise.
5768 * elf32-sparc.c: Likewise.
5769 * elf32-v850.c: Likewise.
5770 * elf32-vax.c: Likewise.
5771 * elf64-hppa.c: Likewise.
5772 * elf64-sparc.c: Likewise.
5773 * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
de2d743e 5774 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
5775 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
5776 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
5777 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
5778 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
5779 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
5780 * elf-m10200.c (USE_RELA): Don't define.
5781 * elf-m10300.c: Likewise.
de2d743e 5782 * elfarm-oabi.c: Likewise.
f0fe0e16
AM
5783 * elf32-i370.c: Likewise.
5784 * elf32-ip2k.c: Likewise.
5785 * elf32-m68k.c: Likewise.
5786 * elf32-mcore.c: Likewise.
5787 * elf32-ppc.c: Likewise.
5788 * elf32-s390.c: Likewise.
5789 * elf32-vax.c: Likewise.
5790 * elf64-ppc.c: Likewise.
5791 * elf64-s390.c: Likewise.
5792 * elf64-x86-64.c: Likewise.
5793 * elfxx-ia64.c: Likewise.
5794 * elf32-avr.c (USE_REL): Don't undef.
5795 * elf32-ip2k.c: Likewise.
5796
5e8d7549
NC
57972002-07-23 Nick Clifton <nickc@redhat.com>
5798
5799 * elf-bfd.h (struct elf_backend_data): Add new bitfield
5800 'want_p_paddr_set_to_zero'.
5801 * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
5802 to false;
5803 * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
5804 * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
5805
9e12c7db
NC
58062002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
5807
5808 * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
5809 the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
5810 show the Copyright string.
5811 Minor formatting tidy ups.
5812
0461a601
NC
58132002-07-23 Nick Clifton <nickc@redhat.com>
5814
ff3063f5
NC
5815 * po/fr.po: Updated French translation.
5816 * po/sv.po: Updated Swedish translation.
0461a601 5817
fad2542d
AM
58182002-07-23 Alan Modra <amodra@bigpond.net.au>
5819
5820 * elflink.h (elf_link_input_bfd): Don't change internal symbols
5821 when outputting relocs.
5822
c0647bfc
JT
58232002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
5824
5825 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
5826 DT_PLTGOT into the dynamic section if there is a PLT.
5827
d01414a5
TS
58282002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5829
5830 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
5831 elf32-mips.c.
5832 (_bfd_mips_elf_write_section): Likewise.
5833 * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
5834 (_bfd_mips_elf_write_section): Likewise.
5835 * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
5836 (elf32_mips_write_section): Likewise.
5837 * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
5838 (_bfd_mips_elf_write_section): Likewise.
5839
40c97fc6
AM
58402002-07-19 Alan Modra <amodra@bigpond.net.au>
5841
5842 * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
5843 PT_IA_64_UNWIND segments for a given section.
5844
58378160
L
58452002-07-17 H.J. Lu <hjl@gnu.org>
5846
5847 * Makefile.am: Fix a typo.
5848 * Makefile.in: Regenerate.
5849
cf88bb9f
NC
58502002-07-15 Denis Chertykov <denisc@overta.ru>
5851 Frank Ch. Eigler <fche@redhat.com>
5852 Ben Elliston <bje@redhat.com>
5853 Alan Lehotsky <alehotsky@cygnus.com>
5854 John Healy <jhealy@redhat.com>
5855 Graham Stott <grahams@redhat.com>
5856 Jeff Johnston <jjohnstn@redhat.com>
5857
5858 * Makefile.am: Add support for ip2k.
5859 * Makefile.in: Regenerate.
5860 * doc/Makefile.in: Regenerate.
5861 * archures.c: Add support for ip2k.
5862 * config.bfd: Add support for ip2k.
5863 * configure.in: Add support for ip2k.
5864 * configure: Regenerate.
5865 * reloc.c: Add support for ip2k.
5866 * targets.c: Add support for ip2k.
5867 * bfd-in2.h: Regenerate.
5868 * libbfd.h: Regenerate.
5869 * cpu-ip2k.c: New file.
5870 * elf32-ip2k.c: New file.
5871
0dafd5f6
RE
58722002-07-17 Ian Rickards <irickard@arm.com>
5873
40c97fc6 5874 * dwarf2.c (concat_filename): If we can't establish the directory
0dafd5f6
RE
5875 just return the filename.
5876
36b08f12
AM
58772002-07-16 Moritz Jodeit <moritz@jodeit.org>
5878
5879 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
5880
58821868
AM
58812002-07-16 Alan Modra <amodra@bigpond.net.au>
5882
5883 * elflink.h: Formatting fixes, tidy prototypes.
5884 (elf_link_assign_sym_version): Move common code out of loop.
5885
c89583f8
AM
58862002-07-16 Alan Modra <amodra@bigpond.net.au>
5887
5888 * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
5889 reloc section size is zero. Correct reloc output location.
5890
ba94744e
AM
58912002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5892
5893 * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
5894 the final type for the e_fsel selector when generating PA2.0W code.
5895 (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
5896 relocations.
5897
96a94295
L
58982002-07-14 H.J. Lu <hjl@gnu.org>
5899
5900 * elflink.h (elf_link_assign_sym_version): Hide the default
5901 definition if there is a hidden versioned definition.
5902
6849c52f
HPN
59032002-07-12 Hans-Peter Nilsson <hp@axis.com>
5904
5905 * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
5906 dynamic reference test in assertion when initializing GOT with
5907 static contents. Just assert that there are either no dynamic
5908 sections, the symbol is defined in the regular objects or that the
5909 symbol is undef weak. Tweak comment.
5910 (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
5911 only if the symbol isn't defined in the program and isn't undef
5912 weak.
5913 (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
5914 rid of PLT entry: only do it if the symbol isn't defined in a DSO.
5915 When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
5916 (elf_cris_discard_excess_program_dynamics): Don't consider
5917 ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
5918
239e1f3a
AM
59192002-07-11 Alan Modra <amodra@bigpond.net.au>
5920
5921 * elf32-i386.c (elf_i386_relocate_section): Don't complain about
5922 unresolved debugging relocs in dynamic applications.
5923 * elf32-s390.c (elf_s390_relocate_section): Likewise.
5924 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5925 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
5926 * elf64-s390.c (elf_s390_relocate_section): Likewise.
5927 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5928 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
5929
2f6d9989
AM
59302002-07-10 Alan Modra <amodra@bigpond.net.au>
5931
f5e87a1d
AM
5932 * elf64-ppc.c (ONES): Define.
5933 (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
5934 missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
5935 in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
5936
2f6d9989
AM
5937 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
5938 (ppc64_elf_set_private_flags): Delete.
5939 (ppc64_elf_section_from_shdr): Delete.
5940 (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
5941 (ppc64_elf_fake_sections): Delete.
5942 (bfd_elf64_bfd_set_private_flags): Don't define.
5943 (bfd_elf64_get_symbol_info): Likewise.
5944 (elf_backend_section_from_shdr): Likewise.
5945 (elf_backend_fake_sections): Likewise.
5946
0594c12d
AM
59472002-07-10 Marco Walther <Marco.Walther@sun.com>
5948
5949 * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
5950 when not already set.
5951 * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
5952 (elf_backend_fake_sections): Define.
5953
699cb9b8
AM
59542002-07-10 Alan Modra <amodra@bigpond.net.au>
5955
5956 * merge.c (_bfd_merge_section): Remove redundant output_section check.
5957 Formatting.
5958 (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
5959
0a4787a0
HPN
59602002-07-09 Hans-Peter Nilsson <hp@axis.com>
5961
5962 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
5963 NULL sym_hashes to just before use.
5964 <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
5965 symbol with non-default visibility.
5966 <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
5967 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
5968 Ditto.
5969 (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
5970 symbol with non-default visibility.
5971 (cris_elf_check_relocs): At tests for local symbol before
5972 increasing h->plt.refcount, also check for non-default
5973 visibility. Ditto when checking for local symbol to eliminate
5974 pc-relative runtime relocs.
5975
aecc8f8a
AM
59762002-07-08 Alan Modra <amodra@bigpond.net.au>
5977
5978 * elf.c: Formatting.
5979 (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
5980 (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
5981 (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
5982 segments.
5983
e9168c1e
MM
59842002-07-07 Mark Mitchell <mark@codesourcery.com>
5985 Alan Modra <amodra@bigpond.net.au>
5986
5987 * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
5988 account the impact of relocation count overflow when computing
5989 section offsets.
5990 * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
5991 or not to apply the PE COFF reloc overflow handling. Fix a
5992 fencepost error in deciding whether or not to use that technique.
5993
6cdc0ccc
AM
59942002-07-07 Alan Modra <amodra@bigpond.net.au>
5995
5996 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
5997 change type of locsyms.
5998 (bfd_elf_get_elf_syms): Declare.
5999 * elf.c (bfd_elf_get_elf_syms): New function.
6000 (group_signature): Use bfd_elf_get_elf_syms.
6001 (bfd_section_from_r_symndx): Likewise.
6002 * elfcode.h (elf_slurp_symbol_table): Likewise.
6003 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
6004 (elf_link_add_object_symbols): Likewise. Reorganise to increase
6005 locality of various data structures. Properly free internal relocs.
6006 (elf_bfd_final_link): Properly free internal relocs.
6007 (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
6008 (elf_link_input_bfd): Likewise.
6009 (elf_gc_mark): Likewise. Properly free internal relocs.
6010 (elf_gc_sweep): Properly free internal relocs.
6011 (elf_reloc_symbol_deleted_p): No need to swap syms in.
6012 (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
6013 internal relocs.
6014 * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
6015 Properly free possibly cached info.
6016 (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
6017 (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
6018 symbol swapping code.
6019 (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
6020 Properly free possibly cached info.
6021 * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
6022 (mn10300_elf_relax_delete_bytes): Likewise.
6023 (mn10300_elf_symbol_address_p): Likewise.
6024 (mn10300_elf_get_relocated_section_contents): Likewise.
6025 * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
6026 (elf32_h8_relax_delete_bytes): Likewise.
6027 (elf32_h8_symbol_address_p): Likewise.
6028 (elf32_h8_get_relocated_section_contents): Likewise.
6029 * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
6030 (m32r_elf_relax_delete_bytes): Likewise.
6031 (m32r_elf_get_relocated_section_contents): Likewise.
6032 * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
6033 elf_section_data to determine whether cached.
6034 (sh_elf_relax_section): As above for elf-m10200.c.
6035 (sh_elf_relax_delete_bytes): Likewise.
6036 (sh_elf_get_relocated_section_contents): Likewise.
6037 * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
6038 * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
6039 reading of local syms.
6040 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
6041 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
6042 * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
6043 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
6044 relocs.
6045 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
6046 free internal relocs and section contents. Don't read symbols.
6047 * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
6048 (elf32_hppa_size_stubs): Don't free local syms.
6049 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
6050 reading of local syms. Use bfd_elf_get_elf_syms. Properly free
6051 possibly cached info.
6052 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
6053 * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
6054 * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
6055 all_local_syms.
6056 (get_local_syms): Delete function.
6057 (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
6058 on exit.
6059 (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
6060
b3212001
JW
60612002-07-05 Jim Wilson <wilson@redhat.com>
6062
6063 * syms.c (decode_section_type): New.
6064 (bfd_decode_symclass): Call decode_section_type.
6065
894bb1ee
JJ
60662002-07-04 Jakub Jelinek <jakub@redhat.com>
6067
6068 * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
6069 section content start.
6070 Reported by Michael Schumacher <mike@hightec-rt.com>.
6071
bc0ba537
AM
60722002-07-04 Alan Modra <amodra@bigpond.net.au>
6073
9b5ecbd0 6074 * section.c (_bfd_strip_section_from_output): Remove unnecessary
bc0ba537
AM
6075 link order code. Don't actually remove the output section here;
6076 Just set a flag for the linker to do so.
6077 * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
6078 sections when setting up output section dynsyms.
6079
797fc050
AM
60802002-07-04 Alan Modra <amodra@bigpond.net.au>
6081
6082 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
6083 fudge.
6084 * elf.c (bfd_section_from_shdr): Work around broken hpux shared
6085 libs here instead.
6086
99881371
MS
60872002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
6088
6089 * elf64-s390.c (create_got_section): Set .got section alignment to
6090 8 bytes.
6091 (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
6092
47d9a591
AM
60932002-07-02 Alan Modra <amodra@bigpond.net.au>
6094
6095 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
6096
179d3252
JT
60972002-07-01 Matt Thomas <matt@3am-software.com>
6098
6099 * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
6100 to EF_VAX_*.
6101
4a14403c
TS
61022002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6103
6104 * elfxx-mips.c (ABI_64_P): Fix comment.
6105 (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
6106 new section names for N64 ABI.
6107 (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
6108 (mips_elf_calculate_relocation): Code formatting.
6109 (mips_elf_create_dynamic_relocation): Likewise.
6110 (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
6111 (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
6112 (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
6113 in any NewABI.
6114 (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
6115 for NewABI.
6116 (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
6117 (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
6118 here, too.
6119
607c0e09
AS
61202002-07-01 Andreas Schwab <schwab@suse.de>
6121
6122 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
6123 R_X86_64_64 to R_X86_64_RELATIVE.
6124
ba26fd96
AM
61252002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
6126
6127 * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
6128 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
6129 Run "make dep-am".
6130 * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
6131 host_aout_vec.
6132 * configure.in (vaxbsd_vec): Add.
6133 * targets.c (vaxbsd_vec): Add.
6134 * Makefile.in: Rebuild.
6135 * configure: Rebuild.
6136 * po/SRC-POTFILES.in: Rebuild.
6137
1e2f5b6e
AM
61382002-07-01 Alan Modra <amodra@bigpond.net.au>
6139
6140 * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
6141 examining to gc_mark_hook, rather than the bfd.
6142 (elf_gc_sections): Adjust.
6143 * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
6144 * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
6145 * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
6146 * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
6147 * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
6148 * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
6149 * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
6150 * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
6151 * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
6152 * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
6153 * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
6154 * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
6155 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
6156 * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
6157 * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
6158 * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
6159 * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
6160 * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
6161 * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
6162 * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
6163 * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
6164 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
6165 * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
6166 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
6167 * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
6168 * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
6169 * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
6170 * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
6171 redundant local sym tests.
6172 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
6173 (link_hash_newfunc): Init is_entry.
6174 (ppc64_elf_copy_indirect_symbol): Copy is_entry.
6175 (ppc64_elf_link_hash_table_create): Init all_local_syms.
6176 (create_linkage_sections): Use bfd_make_section_anyway rather than
6177 bfd_make_section.
6178 (ppc64_elf_mark_entry_syms): New function.
6179 (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
6180 up opd entry to function section map.
6181 (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
6182 relocs that reference the opd section.
6183 (edit_opd): New function.
6184 (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
6185 (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
6186 (get_local_syms): Do so here. Exit if we already have local syms.
6187 Remove bogus comment imported from elf32-hppa.c. Don't attempt to
6188 read local syms on non-ELF input.
6189 (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
6190 than duplicating it's function here. Adjust free of internal
6191 relocs to suit.
6192 (ppc64_elf_relocate_section): Adjust local syms in opd section.
6193 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
6194 * elf32-hppa.c (elf32_hppa_size_stubs): Call
6195 _bfd_elf32_link_read_relocs rather than duplicating it's function
6196 here. Adjust free of internal relocs to suit.
6197
1b71fb54
AJ
61982002-07-01 Andreas Jaeger <aj@suse.de>
6199
6200 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
6201 are not allowed in shared libs code, enforce -fPIC.
6202
8d28f606
HPN
62032002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
6204
6205 * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
6206 trailing zero-sequences when there's previous left-over data.
6207
5ac81c74
JL
62082002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
6209
6210 * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
6211 (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
6212 and opd_rel_sec in order for starting rela section. Check _raw_size.
6213 (elf_backend_reloc_type_class): Define.
6214
91a4d569
AM
62152002-06-27 Kevin Buettner <kevinb@redhat.com>
6216
6217 * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
6218 DWARF2 formats.
6219
feee612b
AM
62202002-06-27 Alan Modra <amodra@bigpond.net.au>
6221
6222 * cpu-powerpc.c: Comment on ordering of arch_info.
6223 * elf32-ppc.c (ppc_elf_object_p): New function.
6224 (elf_backend_object_p): Define.
6225 * elf64-ppc.c (ppc64_elf_object_p): New function.
6226 (elf_backend_object_p): Define.
6227
a4e6cefc
JT
62282002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
6229
6230 * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
6231 * configure: Regenerate.
6232
dae2dd0d
NC
62332002-06-25 Jason Eckhardt <jle@rice.edu>
6234
6235 * dwarf2.c (decode_line_info): Check unit->addr_size
6236 to read in the proper number of prologue bytes.
6237
680f9d5c
NC
62382002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
6239
6240 * config.bfd (powerpc-*-aix5*): Only create a selvecs for
6241 aix5coff64_vec if 64-bit bfd support has been enabled.
91a4d569
AM
6242 (powerpc64-*-aix5*): Only define if 64-bit bfd support has
6243 been enabled.
dae2dd0d 6244
680f9d5c
NC
6245 * targets.c (_bfd_target_vector[]): Only include
6246 aix5coff64_vec if 64-bit bfd support has been enabled.
6247
d4c88bbb
AM
62482002-06-25 Alan Modra <amodra@bigpond.net.au>
6249
6250 * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
6251 * elf32-hppa.c (hppa_add_stub): Likewise.
6252 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
6253 * elflink.h (elf_add_default_symbol): Fix comment typo.
6254 (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
6255 (elf_link_add_object_symbols): Likewise.
6256 (elf_link_assign_sym_version): Likewise.
6257 * hash.c (bfd_hash_lookup): Likewise.
6258 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
6259 * section.c (bfd_get_unique_section_name): Likewise.
6260 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
6261 * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
6262 (assign_section_numbers): Likewise.
6263 (_bfd_elfcore_make_pseudosection): Likewise.
6264 (elfcore_grok_lwpstatus): Likewise.
6265 (elfcore_grok_win32pstatus): Likewise.
6266 (elfcore_write_note): Constify input params. Use PTR instead of
6267 void *. Include terminating NUL in namesz. Correct padding.
6268 Support NULL "name" param. Use memcpy instead of strcpy.
6269 (elfcore_write_prpsinfo): Constify input params.
6270 (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
6271 (elfcore_write_lwpstatus): Likewise.
6272 (elfcore_write_pstatus): Likewise.
6273 (elfcore_write_prfpreg): Likewise.
6274 (elfcore_write_prxfpreg): Likewise.
6275 * elf-bfd.h (elfcore_write_note): Update declaration.
6276 (elfcore_write_prpsinfo): Likewise.
6277 (elfcore_write_prstatus): Likewise.
6278 (elfcore_write_pstatus): Likewise.
6279 (elfcore_write_prfpreg): Likewise.
6280 (elfcore_write_prxfpreg): Likewise.
6281 (elfcore_write_lwpstatus): Likewise.
6282
b0ac09d2
NC
62832002-06-25 Jason Eckhardt <jle@rice.edu>
6284
6285 * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
6286 symbols of type stProc and stStaticProc.
6287
62882002-06-25 Nick Clifton <nickc@redhat.com>
6289
6290 * ecoff.c: VArious formatting fixes.
6291
021d6096
AM
62922002-06-25 Alan Modra <amodra@bigpond.net.au>
6293
6294 * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
6295
82e51918
AM
62962002-06-25 Alan Modra <amodra@bigpond.net.au>
6297
6298 * aout-adobe.c: Don't compare against "true" or "false.
6299 * aout-target.h: Likewise.
6300 * aoutx.h: Likewise.
6301 * archive.c: Likewise.
6302 * bout.c: Likewise.
6303 * cache.c: Likewise.
6304 * coff-a29k.c: Likewise.
6305 * coff-alpha.c: Likewise.
6306 * coff-i386.c: Likewise.
6307 * coff-mips.c: Likewise.
6308 * coff-or32.c: Likewise.
6309 * coff64-rs6000.c: Likewise.
6310 * coffcode.h: Likewise.
6311 * coffgen.c: Likewise.
6312 * cpu-ns32k.c: Likewise.
6313 * ecoff.c: Likewise.
6314 * ecofflink.c: Likewise.
6315 * elf.c: Likewise.
6316 * elf32-arm.h: Likewise.
6317 * elf32-cris.c: Likewise.
6318 * elf32-d30v.c: Likewise.
6319 * elf32-i386.c: Likewise.
6320 * elf32-mcore.c: Likewise.
6321 * elf32-ppc.c: Likewise.
6322 * elf32-sh.c: Likewise.
6323 * elf32-sh64.c: Likewise.
6324 * elf32-v850.c: Likewise.
6325 * elf64-alpha.c: Likewise.
6326 * elf64-sh64.c: Likewise.
6327 * elfcode.h: Likewise.
6328 * elfcore.h: Likewise.
6329 * elflink.h: Likewise.
6330 * elfxx-mips.c: Likewise.
6331 * i386os9k.c: Likewise.
6332 * ieee.c: Likewise.
6333 * libbfd.c: Likewise.
6334 * linker.c: Likewise.
6335 * mmo.c: Likewise.
6336 * nlm32-alpha.c: Likewise.
6337 * nlm32-i386.c: Likewise.
6338 * nlm32-ppc.c: Likewise.
6339 * nlm32-sparc.c: Likewise.
6340 * nlmcode.h: Likewise.
6341 * oasys.c: Likewise.
6342 * pdp11.c: Likewise.
6343 * peicode.h: Likewise.
6344 * reloc.c: Likewise.
6345 * som.c: Likewise.
6346 * srec.c: Likewise.
6347 * tekhex.c: Likewise.
6348 * vms.c: Likewise.
6349 * xcofflink.c: Likewise.
6350 * elf64-sparc.c: Edit comment to not use "== false".
6351
6352 * aoutf1.h: Don't use "? true : false".
6353 * ecoff.c: Likewise.
6354 * format.c: Likewise.
6355 * ieee.c: Likewise.
6356 * linker.c: Likewise.
6357 * mmo.c: Likewise.
6358 * oasys.c: Likewise.
6359
48fc70a2
AM
63602002-06-23 H.J. Lu <hjl@gnu.org>
6361
6362 * elflink.h (elf_link_add_archive_symbols): For the default
6363 version, check references with only one `@' first.
6364
47b7c2db
AM
63652002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
6366
6367 * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
6368 function.
9b5ecbd0 6369 (allocate_global_data_dlt): Don't add millicode symbols to dynamic
47b7c2db
AM
6370 symbol table.
6371 (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
6372 (elf64_hppa_size_dynamic_sections): Revise to use
6373 elf64_hppa_mark_milli_and_exported_functions.
6374 (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
6375 symbols out of dynamic symbol table.
6376
f5d44ba0
AM
63772002-06-23 Alan Modra <amodra@bigpond.net.au>
6378
bb3fff1e
AM
6379 * Makefile.in: Regenerate.
6380 * libbfd.h: Regenerate.
6381 * bfd-in2.h: Regenerate.
6382 * configure: Regenerate.
6383 * po/SRC-POTFILES.in: Regenerate.
6384
f5d44ba0
AM
6385 * elflink.h: Comment typo fixes.
6386
63872002-06-23 H.J. Lu <hjl@gnu.org>
6388
6389 * elf-bfd.h (elf_link_loaded_list): New structure.
6390 (elf_link_hash_table): Add "loaded".
6391 * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
6392 * elflink.h (elf_link_check_versioned_symbol): New function.
6393 (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
6394
cc36acdf
NC
63952002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
6396
6397 * elflink.h (size_dynamic_sections): If the target does not
f5d44ba0 6398 support an ELF style hash table, return true, indicating that
cc36acdf
NC
6399 nothing needed to be done, rather than false, indicating that the
6400 section's size could not be computed.
6401
4e5ba5b7
DB
64022002-06-18 Dave Brolley <brolley@redhat.com>
6403
6404 From Catherine Moore, Michael Meissner, Dave Brolley:
6405 * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
6406 * targets.c: Support bfd_elf32_frv_vec.
6407 * reloc.c: Add FRV relocs.
6408 * configure.in: Add support for bfd-elf32-frv-vec.
6409 * config.bfd (targ_cpu): Add support for frv-*-elf.
6410 * archures.c: Add frv arch and machines.
6411 * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
6412 (ALL_MACHINES_CFILES): Add cpu-frv.c.
6413 (BFD32_BACKENDS): Add elf32-frv.lo.
6414 (BFD32_BACKENDS_CFILES): Add elf32-frv.c
6415 (cpu-frv.lo): New target.
6416 (elf32-frv.lo): New target.
6417 * cpu-frv.c: New file.
6418 * elf32-frv.c: New file.
6419
7ece0d85
JJ
64202002-06-18 Jakub Jelinek <jakub@redhat.com>
6421
6422 * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
6423 e_shnum == 0.
6424 Only read the first section header if e_shoff is non-zero.
6425 Don't consider e_shstrndx if there are no sections.
6426
57fb03ac
TR
64272002-06-17 Tom Rix <trix@redhat.com>
6428
6429 * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
f5d44ba0 6430 R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
57fb03ac
TR
6431 complain_overflow_bitfield.
6432
341ca622
AM
64332002-06-17 Alan Modra <amodra@bigpond.net.au>
6434
767e34d1
AM
6435 * opncls.c (bfd_openr): Remove redundant bfd_set_error.
6436 (bfd_fdopenr): Likewise.
6437 (bfd_openstreamr): Likewise.
6438 (bfd_openw): Likewise.
6439
341ca622
AM
6440 * targets.c: Sort target vecs.
6441 (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
6442 bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
6443 bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
6444 bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
6445 * configure.in: Sort target vecs. Add m88kmach3_vec.
6446 * configure: Regenerate.
6447
dfbbae4c
HPN
64482002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
6449
6450 * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
6451 bpo_reloc_no to break sort order ties, not address of items.
6452
d663e1cd
JL
64532002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6454
6455 * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
6456 Skip excluded sections in determing __gp value.
6457 (elf_hppa_final_link_relocate): Use the symbol's address in
6458 R_PARISC_FPTR64 relocations that don't need an opd entry.
6459 * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
6460 (elf64_hppa_finalize_dynreloc): Likewise.
6461 (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
6462 (elf64_hppa_finish_dynamic_symbol): Break up assert.
6463
a8295218
NC
64642002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
6465
6466 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
6467 alignment for .bss, .data and .text sections so that sse and sse2
6468 code will work.
6469 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
6470
64712002-06013 J"orn Rennecke <joern.rennecke@superh.com>
5d9b5481
JR
6472
6473 config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
6474 sh[1234]*-elf*.
6475
3db4b612
JL
64762002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
6477
2cb69dd3
JL
6478 * elflink.h (elf_bfd_final_link): Improve error handling for missing
6479 dynamic sections.
6480
3db4b612
JL
6481 * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
6482 for a symbol that has no output section.
6483 (allocate_dynrel_entries): Correct comment.
6484 (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
6485 unless we want one.
6486 (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
6487 (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
6488 with no section. Remove unnecessary parentheses.
6489
f3813499
TR
64902002-06-11 Tom Rix <trix@redhat.com>
6491
6492 * coffcode.h (coff_compute_section_file_positions): Add data
6493 section to AIX loader alignment check.
6494
f5d44ba0 6495 * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
f3813499
TR
6496 alignment to 4 bytes.
6497 (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
6498 power accessor macro.
6499 (do_shared_object_padding): Remove invalid assertion.
6500
0ebaf185
RS
65012002-06-10 Richard Sandiford <rsandifo@redhat.com>
6502
6503 * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
6504 for removed output sections.
6505
ebe3e2d1
NC
65062002-06-10 Geoffrey Keating <geoffk@redhat.com>
6507
6508 * merge.c (merge_strings): Use htab_create_alloc with calloc, not
6509 htab_alloc.
6510 * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
6511
0b14c2aa
L
65122002-06-08 H.J. Lu <hjl@gnu.org>
6513
6514 * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
6515 work around a long long bug in gcc 2.96 on mips.
6516
3c2bfad6
JT
65172002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6518
6519 * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
6520 (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
6521 Regenerate dependency lists.
6522 * Makefile.in: Regenerate.
6523 * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
6524 vax1knetbsd_vec to targ_selvecs.
6525 * configure.in: Add vax1knetbsd_vec.
6526 * configure: Regenerate.
6527 * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
6528 * vax1knetbsd.c: New file.
6529 * vaxnetbsd.c: Update copyright years.
6530 (TARGET_PAGE_SIZE): Set to 0x1000.
6531 (DEFAULT_MID): Set to M_VAX4K_NETBSD.
6532
91149be3
JT
65332002-06-08 Matt Thomas <matt@3am-software.com>
6534
6535 * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
6536
21e15248
AM
65372002-06-08 Alan Modra <amodra@bigpond.net.au>
6538
6539 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
6540
986b7daa
AM
65412002-06-08 Alan Modra <amodra@bigpond.net.au>
6542
e90b95f6
AM
6543 * Makefile.am: Run "make dep-am".
6544 * Makefile.in: Regenerate.
6545
3f9c735e
AM
6546 * armnetbsd.c: Replace CONST with const.
6547 * corefile.c: Likewise.
6548 * elf32-dlx.c: Likewise.
6549 * elf64-mips.c: Likewise.
6550 * mmo.c: Likewise.
6551 * ns32knetbsd.c: Likewise.
6552
986b7daa
AM
6553 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
6554 table is elf64-sparc.
6555
5a659663
TS
65562002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6557
6558 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
6559 Fix RELA addends to get not shifted in the result. Don't do special
6560 handling of R_MIPS_64 for NewABI.
6561
9bab7074
AM
65622002-06-07 Alan Modra <amodra@bigpond.net.au>
6563
6564 * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
6565 (NAME(aout,slurp_reloc_table)): Likewise.
6566 * coff-mips.c (mips_relax_section): Use bfd_zalloc.
6567 * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
6568 (xcoff_write_archive_contents_big): Likewise.
6569 (xcoff_generate_rtinit): Likewise.
6570 (xcoff_generate_rtinit): Likewise, and check error return.
6571 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
6572 * coffgen.c (coff_section_symbol): Use bfd_zalloc.
6573 (coff_get_normalized_symtab): Likewise.
6574 (coff_make_empty_symbol): Likewise.
6575 (bfd_coff_set_symbol_class): Likewise.
6576 * cofflink.c (coff_link_add_symbols): Likewise.
6577 * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
6578 * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
6579 (bfd_ecoff_write_accumulated_debug): Likewise.
6580 * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
6581 * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
6582 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
6583 * ieee.c (do_with_relocs): Use bfd_zalloc.
6584 * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
6585 * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
6586 (NAME(aout,slurp_reloc_table)): Likewise.
6587 (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
6588 * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
6589 * som.c (som_build_and_write_symbol_table): Likewise.
6590 (som_slurp_string_table): Likewise.
6591 (som_slurp_symbol_table): Likewise.
6592 (som_bfd_ar_write_symbol_stuff): Likewise.
6593 * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
6594 * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
6595 * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
6596 * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
6597 * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
6598
1126897b
AM
65992002-06-07 Alan Modra <amodra@bigpond.net.au>
6600
6601 * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
6602 "group" union.
6603 (elf_group_name): Update.
6604 (elf_group_id): Define.
6605 (bfd_elf_set_group_contents): Declare.
6606 * elf.c (elf_fake_sections): Qualify use of elf_group_name.
6607 (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
6608 ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
6609 that sym for the signature.
6610 (_bfd_elf_compute_section_file_positions): Don't call
6611 set_group_contents for "ld -r" case.
6612 (swap_out_syms): Use bfd_zalloc.
6613 * elflink.h (elf_link_add_archive_symbols): Likewise.
6614 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
6615 (elf_bfd_final_link): Call bfd_elf_set_group_contents.
6616
3fad3c7c
AM
66172002-06-07 Alan Modra <amodra@bigpond.net.au>
6618
6619 * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
6620 relocs in opd for non-shared too.
6621
10f469bf 66222002-06-06 Jeffrey Law <law@redhat.com>
76f99c63
JL
6623
6624 * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
6625 relocations.
6626
7217313c
NC
66272002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
6628
6629 * merge.c: Include libiberty.h.
6630 * elf-strtab.c: Include libiberty.h.
6631
6cb22815
AM
66322002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
6633
6634 * peXXigen.c (pe_print_idata): Remove unused variable.
6635
1ed89aa9
NC
66362002-06-06 David Heine <dlheine@tensilica.com>
6637
6638 * elf.c (assign_file_positions_for_segments): Remove unallocated
6639 sections from the section to segment mapping for PT_LOAD segments.
6640 Update comment about empty loadable segments.
6641
644c4c80
RS
66422002-06-06 Richard Sandiford <rsandifo@redhat.com>
6643
6644 * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
6645 is within the .stabstr section.
6646
f8ecb12b
AM
66472002-06-06 Alan Modra <amodra@bigpond.net.au>
6648
6649 * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
6650 are "const PTR", not "const PTR *".
6651 (bfd_elf32_swap_symbol_in): Likewise.
6652 (bfd_elf64_swap_symbol_in): Likewise.
6653 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
6654 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
6655 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
6656 (elf_link_add_object_symbols): Likewise.
6657 (elf_link_record_local_dynamic_symbol): Likewise.
6658 (elf_link_input_bfd): Likewise.
6659 (elf_gc_mark): Likewise.
6660 (elf_reloc_symbol_deleted_p): Likewise.
6661 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
6662 (mn10200_elf_relax_delete_bytes): Likewise.
6663 (mn10200_elf_symbol_address_p): Likewise.
6664 (mn10200_elf_get_relocated_section_contents): Likewise.
6665 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
6666 (mn10300_elf_relax_section): Likewise.
6667 (mn10300_elf_relax_delete_bytes): Likewise.
6668 (mn10300_elf_symbol_address_p): Likewise.
6669 (mn10300_elf_get_relocated_section_contents): Likewise.
6670 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
6671 (elf32_h8_relax_delete_bytes): Likewise.
6672 (elf32_h8_symbol_address_p): Likewise.
6673 (elf32_h8_get_relocated_section_contents): Likewise.
6674 * elf32-hppa.c (get_local_syms): Likewise.
6675 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
6676 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
6677 * elf32-sh.c (sh_elf_relax_section): Likewise.
6678 (sh_elf_relax_delete_bytes): Likewise.
6679 (sh_elf_get_relocated_section_contents): Likewise.
6680 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
6681 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
6682 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
6683 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
6684 * elf64-ppc.c (get_local_syms): Likewise.
6685 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
6686 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
6687
1ed89aa9 66882002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
7a33bc10
JR
6689
6690 * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
6691
73ff0d56
AM
66922002-06-05 Alan Modra <amodra@bigpond.net.au>
6693
9dce4196
AM
6694 * elf.c (group_signature): Swap in the whole symbol, and handle
6695 extracting section symbol names.
6696 (setup_group): Add comment.
6697 (set_group_contents): When called from objcopy or ld, arrange for
6698 section contents to be written. Write group member output section
6699 indices to allow objcopy to reorganize sections.
6700 (_bfd_elf_copy_private_section_data): Copy group info.
6701
73ff0d56
AM
6702 * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
6703 (bfd_elf32_swap_symbol_in): Update prototype.
6704 (bfd_elf64_swap_symbol_in): Likewise.
6705 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
6706 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
6707 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
6708 (elf_link_add_object_symbols): Likewise.
6709 (elf_link_record_local_dynamic_symbol): Likewise.
6710 (elf_link_input_bfd): Likewise.
6711 (elf_gc_mark): Likewise.
6712 (elf_reloc_symbol_deleted_p): Likewise.
6713 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
6714 (mn10200_elf_relax_delete_bytes): Likewise.
6715 (mn10200_elf_symbol_address_p): Likewise.
6716 (mn10200_elf_get_relocated_section_contents): Likewise.
6717 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
6718 (mn10300_elf_relax_section): Likewise.
6719 (mn10300_elf_relax_delete_bytes): Likewise.
6720 (mn10300_elf_symbol_address_p): Likewise.
6721 (mn10300_elf_get_relocated_section_contents): Likewise.
6722 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
6723 (elf32_h8_relax_delete_bytes): Likewise.
6724 (elf32_h8_symbol_address_p): Likewise.
6725 (elf32_h8_get_relocated_section_contents): Likewise.
6726 * elf32-hppa.c (get_local_syms): Likewise.
6727 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
6728 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
6729 * elf32-sh.c (sh_elf_relax_section): Likewise.
6730 (sh_elf_relax_delete_bytes): Likewise.
6731 (sh_elf_get_relocated_section_contents): Likewise.
6732 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
6733 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
6734 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
6735 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
6736 * elf64-ppc.c (get_local_syms): Likewise.
6737 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
6738 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
6739 * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
6740 * elf64-alpha.c (alpha_elf_size_info): Likewise.
6741 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
6742 * elf64-mips.c (mips_elf64_size_info): Likewise.
6743 * elf64-s390.c (s390_elf64_size_info): Likewise.
6744 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
6745
53bfd6b4
MR
67462002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6747
6748 * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
6749 elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
6750 elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
6751 _bfd_mips_elf_ignore_discarded_relocs.
6752 elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
6753
d4df96e6
L
67542002-06-05 H.J. Lu <hjl@gnu.org>
6755
6756 * elfxx-mips.c (mips_elf_calculate_relocation): Call
6757 _bfd_elf_rel_local_sym for STT_SECTION relocations against
6758 the SEC_MERGE section.
6759
e61463e1
AM
67602002-06-05 Alan Modra <amodra@bigpond.net.au>
6761
3cac74d0
AM
6762 * coff-alpha.c: Update copyright date.
6763 * coff-mips.c: Likewise.
6764 * xcoff-target.h: Likewise.
6765
e61463e1
AM
6766 * bfd-in.h: Remove "taken from the source" comment.
6767 * libbfd-in.h: Likewise.
6768 * libcoff-in.h: Likewise.
6769 * bfd-in2.h: Regenerate.
6770 * libbfd.h: Regenerate.
6771 * libcoff.h: Regenerate.
6772
6773 * elf.c (bfd_elf_discard_group): Return true.
6774 * elf-bfd.h (bfd_elf_discard_group): Declare.
6775 * bfd-in.h (bfd_elf_discard_group): Don't declare here.
6776 * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
6777 * bfd.c (bfd_discard_group): Define.
6778 * targets.c (struct bfd_target): Add _bfd_discard_group.
6779 (BFD_JUMP_TABLE_LINK): Here too.
6780 * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
6781 * aout-adobe.c (aout_32_bfd_discard_group): Define.
6782 * aout-target.h (MY_bfd_discard_group): Define.
6783 * aout-tic30.c (MY_bfd_discard_group): Define.
6784 * binary.c (binary_bfd_discard_group): Define.
6785 * bout.c (b_out_bfd_discard_group): Define.
6786 * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
6787 * coffcode.h (coff_bfd_discard_group): Define.
6788 * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
6789 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
6790 * i386msdos.c (msdos_bfd_discard_group): Define.
6791 * i386os9k.c (os9k_bfd_discard_group): Define.
6792 * ieee.c (ieee_bfd_discard_group): Define.
6793 * ihex.c (ihex_bfd_discard_group): Define.
6794 * mmo.c (mmo_bfd_discard_group): Define.
6795 * nlm-target.h (nlm_bfd_discard_group): Define.
6796 * oasys.c (oasys_bfd_discard_group): Define.
6797 * ppcboot.c (ppcboot_bfd_discard_group): Define.
6798 * som.c (som_bfd_discard_group): Define.
6799 * srec.c (srec_bfd_discard_group): Define.
6800 * tekhex.c (tekhex_bfd_discard_group): Define.
6801 * versados.c (versados_bfd_discard_group): Define.
6802 * vms.c (vms_bfd_discard_group): Define.
6803 * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
6804 * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
6805 (aix5coff64_vec): Likewise.
6806 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
6807
9cba27b2
JT
68082002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
6809
6810 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
6811 (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
6812 (elf32-sh64-com.lo): New dependency list.
6813 * Makefile.in: Regenerate.
6814 * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
6815 (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
6816 elf32-sh64-com.lo.
6817 * configure: Regenerate.
6818 * elf32-sh64.c (sh64_address_in_cranges)
6819 (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
6820 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
6821 (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
6822 * elf32-sh64-com.c: ...here. New file.
6823
8d2c33be
AM
68242002-06-04 Alan Modra <amodra@bigpond.net.au>
6825
6826 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
6827 ATTRIBUTE_UNUSED on used params.
6828 * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
6829 before calling bfd_section_from_elf_index on local syms.
6830 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
6831
5b0e55b6
JT
68322002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
6833
6834 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
6835 (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
6836 (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
6837 (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
6838 (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
6839 * Makefile.in: Regenerate.
6840 * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
6841 (sh64-*-netbsd*): New targets.
6842 * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
6843 bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
6844 * configure: Regenerate.
6845 * elf32-sh64-nbsd.c: New file.
6846 * elf64-sh64-nbsd.c: New file.
6847 * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
6848 bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
6849 bfd_elf64_sh64lnbsd_vec.
6850
b885599b
AM
68512002-06-04 Alan Modra <amodra@bigpond.net.au>
6852
6853 * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
6854 (bfd_section_from_shdr): Likewise. Set section name of group
6855 sections from signature.
6856 (group_signature): Split out from setup_group. Ensure symbol table
6857 is available.
6858 (bfd_elf_discard_group): New function.
6859 (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
6860 .gnu.linkonce* sections if they are members of a group.
6861 (set_group_contents): Set GRP_COMDAT flag.
6862 * section.c (bfd_discard_group): New function.
6863 * bfd-in.h (bfd_elf_discard_group): Declare.
6864 * bfd-in2.h: Regenerate.
6865 * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
6866 (elf_linkonce_p): Define.
6867
90937f86
AM
68682002-06-04 Alan Modra <amodra@bigpond.net.au>
6869
6870 * elf.c (bfd_section_from_shdr): Make "name" const.
6871 * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
6872 * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
6873 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
6874 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
6875 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
6876 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
6877 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
6878 * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
6879 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
6880 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
6881 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
6882
cf6fb9ce
MR
68832002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6884
6885 * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
6886 ABI.
6887
cedb70c5
KH
68882002-06-02 Kazu Hirata <kazu@cs.umass.edu>
6889
6890 * elf32-arc.c: Fix formatting.
6891 * elf32-arm.h: Likewise.
6892 * elf32-cris.c: Likewise.
6893 * elf32-dlx.c: Likewise.
6894 * elf32-hppa.c: Likewise.
6895 * elf32-i386.c: Likewise.
6896 * elf32-i386qnx.c: Likewise.
6897 * elf32-or32.c: Likewise.
6898 * elf32-s390.c: Likewise.
6899 * elf32-sh64.c: Likewise.
6900 * elf32-vax.c: Likewise.
6901 * elf32-xstormy16.c: Likewise.
6902 * elf64-alpha.c: Likewise.
6903 * elf64-mmix.c: Likewise.
6904 * elf64-ppc.c: Likewise.
6905 * elf64-s390.c: Likewise.
6906 * elf64-sh64.c: Likewise.
6907 * elf64-x86-64.c: Likewise.
6908
048d873d
RH
69092002-06-02 Richard Henderson <rth@redhat.com>
6910
6911 * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
6912 null when there are no got entries for a symbol.
6913 (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
6914 uninitialized variable warning.
6915
4a67a098
RH
69162002-06-01 Richard Henderson <rth@redhat.com>
6917
6918 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
6919 undefined symbols here.
6920 (elf64_alpha_relax_section): Do it here. Also test for not
6921 defined in the current module.
6922 (elf64_alpha_relocate_section_r): Split out of ...
6923 (elf64_alpha_relocate_section): ... here. Don't dereference
6924 NULL when looking up local got entries.
6925
f44f99a5
RH
69262002-06-01 Richard Henderson <rth@redhat.com>
6927
6928 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
6929 symbols from JSR relaxation.
6930 (elf64_alpha_size_plt_section_1): New.
6931 (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
6932 (elf64_alpha_size_rela_got_1): ... here.
6933 (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
6934 (elf64_alpha_size_rela_got_section): ... here.
6935 (elf64_alpha_size_plt_section): New.
6936 (elf64_alpha_relax_section): Call them.
6937 (elf64_alpha_size_got_sections): Remove output_bfd arg.
6938 (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
6939
9e756d64
RH
69402002-06-01 Richard Henderson <rth@redhat.com>
6941
6942 * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
6943 (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
6944 in shared libraries. Fix DTPRELHI and TPRELHI value.
6945 (INSN_ADDQ, INSN_RDUNIQ): New.
6946 (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
6947 (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
6948 argument. Reject dynamic symbols. Use LITUSE symbolic constants.
6949 (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
6950 Handle GOTDTPREL and GOTTPREL relocations.
6951 (elf64_alpha_relax_gprelhilo): New.
6952 (elf64_alpha_relax_tls_get_addr): New.
6953 (elf64_alpha_relax_find_tls_segment): New.
6954 (elf64_alpha_relax_section): Handle TLS relocations.
6955 (ALPHA_ELF_LINK_HASH_TLS_IE): New.
6956 (elf64_alpha_check_relocs): Set it.
6957
c853d7f6
RH
69582002-06-01 Richard Henderson <rth@redhat.com>
6959
b646261c
RH
6960 * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
6961
c853d7f6
RH
6962 * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
6963 check; don't suppress dynamic relocs for non-allocated sections.
6964
d7e41a96
RH
6965 * elf64-alpha.c: Remove dead code.
6966
5f333394
AM
69672002-05-31 Alan Modra <amodra@bigpond.net.au>
6968
08e0ee05
AM
6969 * bfd-in2.h: Regenerate.
6970 * libbfd.h: Regenerate.
6971 * po/SRC-POTFILES.in: Regenerate.
6972
5f333394
AM
6973 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
6974 space for bss .plt.
6975
caf47ea6
AM
69762002-05-31 Graeme Peterson <gp@qnx.com>
6977
6978 * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
6979 (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
6980 Run "make dep-am".
6981 * Makefile.in: Regenerate.
6982 * config.bfd: Add i[3456]86-*-nto-qnx* support.
6983 * configure.in: Add bfd_elf32_i386qnx_vec support.
6984 * configure: Regenerate.
6985 * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
6986 is_contained_by_filepos, and copy_private_bfd_data_p.
6987 * elf.c (assign_file_positions_for_segments): Call backend
6988 set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
6989 (IS_CONTAINED_BY_FILEPOS): Define.
6990 (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
6991 (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
6992 Fix non-K&R call to _bfd_error_handler.
6993 (_bfd_elf_copy_private_section_data): Use backend
6994 copy_private_bfd_data_p.
6995 * elf32-i386.c: Don't include elfxx-target.h when
6996 ELF32_I386_C_INCLUDED is defined.
6997 * elf32-i386qnx.c: New QNX elf backend file.
6998 * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
6999 elf_backend_is_contained_by_filepos, and
7000 elf_backend_do_copy_private_bfd_data.
7001 * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
7002
5bc56484
AM
70032002-05-31 Alan Modra <amodra@bigpond.net.au>
7004
7005 * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
7006 Move other similar defines to start of file.
7007
1b164155
TR
70082002-05-30 Tom Rix <trix@redhat.com>
7009
7010 * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
7011 * coff64-rs6000.c (xcoff64_rtype2howto): Same.
7012
3765b1be
RH
70132002-05-30 Richard Henderson <rth@redhat.com>
7014
7015 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
7016 ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
7017 (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
7018 (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
7019 (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
7020 (struct alpha_elf_obj_tdata): Rename total_got_entries and
7021 n_local_got_entries to total_got_size and local_got_size.
7022 (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
7023 (alpha_got_entry_size): New.
7024 (elf64_alpha_relax_with_lituse): Use it.
7025 (elf64_alpha_relax_without_lituse): Likewise.
7026 (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
7027 (get_got_entry): New.
7028 (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
7029 (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
7030 (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
7031 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
7032 (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
7033 (elf64_alpha_calc_got_offsets): Likewise.
7034 (alpha_dynamic_entries_for_reloc): New.
7035 (elf64_alpha_calc_dynrel_sizes): Use it.
7036 (elf64_alpha_size_dynamic_sections): Likewise.
7037 (elf64_alpha_relocate_section): Handle TLS relocations.
7038 * reloc.c: Add Alpha TLS relocations.
7039 * bfd-in2.h, libbfd.h: Rebuild.
7040
5e226794
NC
70412002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
7042
7043 * peXXigen.c (pe_print_idata): Remove double printed
7044 import table lines; add Bound-To comment.
7045
90ace9e9
JT
70462002-05-29 Matt Thomas <matt@3am-software.com>
7047
7048 * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
7049 (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
7050 (elf32-vax.lo): New rule.
7051 * Makefile.in: Regenerate.
7052 * configure.in (bfd_elf32_vax_vec)
7053 (vaxnetbsd_vec): New vectors.
7054 * configure: Regenerate.
7055 * config.bfd (vax-*-netbsdelf*)
7056 (vax-*-netbsdaout*)
7057 (vax-*-netbsd*): New targets.
7058 * elf32-vax.c: New file.
7059 * reloc.c: Add VAX relocations.
7060 * bfd-in2.h: Regenerate.
7061 * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
7062
4a253e81
JT
70632002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7064
7065 * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
7066 and bfd_elf32_bigarm_vec to targ_selvecs.
7067
6e7c73dd
CF
70682002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
7069
7070 * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
7071 with auto-imported symbols.
7072
8afb0e02
NC
70732002-05-29 Adam Nemet <anemet@lnxw.com>
7074
7075 * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
7076 sections only record bfd.
9bab7074 7077 (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8afb0e02 7078 * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
9bab7074 7079 * bfd-in2.h: Regenerate.
8afb0e02 7080
a95653f5
NC
70812002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
7082
7083 * syms.c (_bfd_stab_section_find_nearest_line): Move
7084 declaration and initialisation of saw_line and saw_func out of
7085 for loop.
7086
7cdc5bba
AM
70872002-05-29 Alan Modra <amodra@bigpond.net.au>
7088
7089 * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
7090 (bfd_elf64_get_symbol_info): Define.
7091 * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
7092
4c7aad1c
AM
70932002-05-29 Andrey Volkov <avolkov@transas.com>
7094
7095 * cpu-h8300.c: Make default h8300 machine first in machine list.
7096
d172d4ba
NC
70972002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
7098
7099 * config.bfd: Added DLX configuraton.
7100 * Makefile.am: Added DLX configuraton.
7101 * configure.in: Added DLX configuraton.
7102 * archures.c: Add DLX architecure.
7103 * reloc.c: Add DLX relocs.
7104 * targets.c: Added DLX target vector.
7105 * configure: Regenerate.
7106 * Makefile.in: Regenreate.
7107 * bfd-in2.h: Regenreate.
7108 * elf32-dlx.c: New file: Support DLX target.
7109 * cpu-dlx.c: New file: Support DLX target.
7110
d1329ca3
AM
71112002-05-25 Alan Modra <amodra@bigpond.net.au>
7112
428d0de3
AM
7113 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
7114
d1329ca3
AM
7115 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
7116 (ppc64_elf_check_relocs): Don't set up function descriptor symbol
7117 strings to point inside function code sym string.
7118 (func_desc_adjust): Likewise.
7119 (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
7120
3bab7989
ML
71212002-05-24 Michal Ludvig <mludvig@suse.cz>
7122
7123 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
7124 (elf64_x86_64_grok_psinfo): Added.
7125
436e8db0
NC
71262002-05-24 TAMURA Kent <kent@netbsd.org>
7127
7128 * config.bfd: Add a target for i386-netbsdpe.
7129
ea1e4b0d
AM
71302002-05-24 Alan Modra <amodra@bigpond.net.au>
7131
7132 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
7133 and is_func_descriptor.
7134 (func_desc_adjust): Hide function code sym in shared libs unless
7135 there is a matching exported function descriptor sym.
7136
13ae64f3
JJ
71372002-05-23 Jakub Jelinek <jakub@redhat.com>
7138
7139 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
7140 for symbols from SHF_TLS section.
7141 (_bfd_elf_print_private_bfd_data): Add PT_TLS.
7142 (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
7143 (map_sections_to_segments): Build PT_TLS segment if necessary.
7144 (assign_file_positions_for_segments): Likewise.
7145 (get_program_header_size): Account for PT_TLS segment.
7146 (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
7147 SEC_THREAD_LOCAL sections to STT_TLS.
7148 * reloc.c: Add 386 and IA-64 TLS relocs.
7149 * section.c (SEC_THREAD_LOCAL): Define.
7150 (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
7151 Remove.
7152 * elflink.h (elf_link_add_object_symbols): Support .tcommon.
7153 (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
7154 unconditionally.
7155 (struct elf_final_link_info): Add first_tls_sec.
7156 (elf_bfd_final_link): Set first_tls_sec.
7157 Compute elf_hash_table (info)->tls_segment.
7158 (elf_link_output_extsym): Handle STT_TLS symbols.
7159 (elf_link_input_bfd): Likewise.
7160 * syms.c (BSF_THREAD_LOCAL): Define.
7161 * bfd-in2.h: Rebuilt.
7162 * libbfd.h: Rebuilt.
7163 * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
7164 elf_i386_mkobject, elf_i386_object_p): New functions.
7165 (elf_howto_table): Add TLS relocs.
7166 (elf_i386_reloc_type_lookup): Support TLS relocs.
7167 (elf_i386_info_to_howto_rel): Likewise.
7168 (struct elf_i386_link_hash_entry): Add tls_type.
7169 (struct elf_i386_obj_tdata): New.
7170 (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
7171 New macros.
7172 (struct elf_i386_link_hash_table): Add tls_ldm_got.
7173 (link_hash_newfunc): Clear tls_type.
7174 (elf_i386_check_relocs): Support TLS relocs.
7175 (elf_i386_gc_sweep_hook): Likewise.
7176 (allocate_dynrelocs): Likewise.
7177 (elf_i386_size_dynamic_sections): Likewise.
7178 (elf_i386_relocate_section): Likewise.
7179 (elf_i386_finish_dynamic_symbol): Likewise.
7180 (bfd_elf32_mkobject, elf_backend_object_p): Define.
7181 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
7182 dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
7183 want_tprel, want_dtpmod, want_dtprel.
7184 (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
7185 (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
7186 R_IA64_LTOFF_TPREL22.
7187 (elf_code_to_howto_index): Add TLS relocs.
7188 (elfNN_ia64_check_relocs): Support TLS relocs.
7189 (allocate_global_data_got): Account for TLS .got data.
7190 (allocate_dynrel_entries): Account for TLS dynamic relocations.
7191 (elfNN_ia64_install_value): Supprt TLS relocs.
7192 (set_got_entry): Support TLS relocs.
7193 (elfNN_ia64_relocate_section): Likewise.
7194
c62e1cc3
NC
71952002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
7196
7197 * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
7198 BLX reloc round the relocation up rather than down.
7199 * coff-arm.c (coff_arm_relocate_section): Likewise.
7200
c5a43a5d
L
72012002-05-21 H.J. Lu (hjl@gnu.org)
7202
7203 * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
7204 definition.
7205
afbe61cf
AM
72062002-05-22 Alan Modra <amodra@bigpond.net.au>
7207
7208 * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
7209 (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
7210
9c07fe7c
AM
72112002-05-22 Alan Modra <amodra@bigpond.net.au>
7212
7213 * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
7214 unresolved relocs.
7215 (ppc64_elf_size_dynamic_sections): Check for splt NULL.
7216
21611032
TS
72172002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7218
c5cd6d62 7219 * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
21611032
TS
7220 non-ELF targets.
7221
41241523
TS
72222002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7223
7224 * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
7225 an error value.
7226 * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
7227 return with false on error.
7228 (elf_link_input_bfd): Check reloc_emitter return value.
7229
658f2588
JT
72302002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
7231
7232 * config.bfd (armeb-*-netbsdelf*): New target.
7233
c862ae31
AM
72342002-05-20 Alan Modra <amodra@bigpond.net.au>
7235
7236 * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
7237 at the plt call stub.
7238
6dd14845
TS
72392002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7240
7241 * cpu-mips.c (mips_compatible): Don't try to check machine
7242 compatibility.
7243
a58d9c34
TR
72442002-05-18 Tom Rix <trix@redhat.com>
7245
9b5ecbd0 7246 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
a58d9c34 7247
ef60b7ff
AM
72482002-05-17 Alan Modra <amodra@bigpond.net.au>
7249
7250 * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
7251 (ppc64_elf_relocate_section): Don't warn about reloc overflow when
7252 we've already warned about an undefined symbol. Report more
7253 detail on reloc errors.
7254
a703a6ea
AM
72552002-05-17 Alan Modra <amodra@bigpond.net.au>
7256
7257 * acinclude.m4 (AM_INSTALL_LIBBFD): New.
7258 * configure.in: Invoke AM_INSTALL_LIBBFD.
7259 * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
7260 (install_libbfd): .. New target.
7261 (uninstall_libbfd): Likewise.
7262 (install-bfdlibLTLIBRARIES): Likewise.
7263 (uninstall-bfdlibLTLIBRARIES): Likewise.
7264 (bfdlibdir): New.
7265 (bfdincludedir): New.
7266 (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
7267 * aclocal.m4: Regenerate.
7268 * configure: Regenerate.
7269 * Makefile.in: Regenerate.
7270
2c13d98b
NC
72712002-05-17 Stuart Balfour <sbalfour@cisco.com>
7272
7273 * hash.c (bfd_hash_lookup): Remove computation of len from inside
7274 hash loop.
7275
629936c5
NC
72762002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
7277
7278 * config.bfd: Add targets for sh64-linux (little endian and
7279 big endian).
7280
e4cf60a8
NC
72812002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
7282
7283 * peXXigen.c (pe_print_idata): Do not assume that the first thunk
7284 is located in the same section as the import table. Instead
7285 check, and if necessary load the section containing the thunk.
7286
d1e66cd4
NC
72872002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
7288
7289 * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
ea1e4b0d
AM
7290 bfd_bread.
7291 (xcoff64_core_file_matches_executable_p): Replace bfd_read
7292 with bfd_bread.
d1e66cd4 7293
2d653fc7
AM
72942002-05-15 Alan Modra <amodra@bigpond.net.au>
7295
7296 * aix5ppc-core.c: Warning fixes.
7297 * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
7298 * aout-target.h (MY_bfd_link_just_syms): Define.
7299 * aout-tic30.c (MY_bfd_link_just_syms): Define.
7300 * bfd.c (bfd_link_just_syms): Define.
7301 * binary.c (binary_bfd_link_just_syms): Define.
7302 * bout.c (b_out_bfd_link_just_syms): Define.
7303 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
7304 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
7305 * coffcode.h (coff_bfd_link_just_syms): Define.
7306 * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
7307 (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
7308 (_bfd_elf_link_just_syms): Declare.
7309 * elf.c (_bfd_elf_link_just_syms): New function.
7310 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
7311 sections haven't already been discarded by the linker.
7312 * elflink.h (elf_link_add_object_symbols): Likewise for stab
7313 sections and SEC_MERGE sections.
7314 (elf_bfd_discard_info): Similarly here.
7315 * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
7316 * i386msdos.c (msdos_bfd_link_just_syms): Define.
7317 * i386os9k.c (os9k_bfd_link_just_syms): Define.
7318 * ieee.c (ieee_bfd_link_just_syms): Define.
7319 * ihex.c (ihex_bfd_link_just_syms): Define.
7320 * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
7321 (_bfd_generic_link_just_syms): Declare.
7322 * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
7323 * linker.c (_bfd_generic_link_just_syms): New function.
7324 * mmo.c (mmo_bfd_link_just_syms): Define.
7325 * nlm-target.h (nlm_bfd_link_just_syms): Define.
7326 * oasys.c (oasys_bfd_link_just_syms): Define.
7327 * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
7328 * som.c (som_bfd_link_just_syms): Define.
7329 * srec.c (srec_bfd_link_just_syms): Define.
7330 * targets.c (struct bfd_target): Add _bfd_link_just_syms.
7331 (BFD_JUMP_TABLE_LINK): And here.
7332 * tekhex.c (tekhex_bfd_link_just_syms): Define.
7333 * versados.c (versados_bfd_link_just_syms): Define.
7334 * vms.c (vms_bfd_link_just_syms): Define.
7335 * libbfd.h: Regenerate.
7336 * bfd-in2.h: Regenerate.
7337
cb7394f2
TS
73382002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7339
7340 * elf32-mips.c: Remove superfluous definitions copied from
7341 elfxx-mips.c.
7342 (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
7343 SGIish vectors to check the special case.
7344 (mips_elf_hi16_reloc): Fix comment.
7345 (mips_elf_got16_reloc): Likewise.
7346 (_bfd_mips_elf32_gprel16_reloc): Likewise.
7347 (elf_reloc_map): Code cleanup.
7348 (mips_reloc_map): Add comment.
7349 (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
7350 (mips_elf32_rtype_to_howto): Likewise.
7351 (mips_elf32_discard_info): Likewise.
7352 (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
7353 lead to IRIX compatibility now.
7354
8dc1a139
TS
73552002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7356
7357 * elfxx-mips.c: Call it IRIX, not Irix in comments.
7358
2051e1b5
JT
73592002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
7360
7361 * config.bfd (shle-*-netbsdelf*): Add target which includes
7362 sh64 support.
7363
83954261
AM
73642002-05-13 David Edelsohn <edelsohn@gnu.org>
7365
7366 * configure.in: Revert 2002-04-07. Instead, auto-configure
7367 HAVE_ST_C_IMPL.
7368 * configure: Regenerate.
7369 * config.in: Regenerate.
7370 * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
7371 or AIX_5_CORE.
7372
a9bf1154
NC
73732002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
7374
7375 * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
7376 corefiles as well.2
7377 * configure: Regenerate.
7378
3129eb7a
AM
73792002-05-13 Alan Modra <amodra@bigpond.net.au>
7380
7381 * Makefile.am (install-data-local): Install headers to
7382 $(exec_prefix)/include.
7383 * Makefile.in: Regenerate.
7384
a9a32010
DJ
73852002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7386 Daniel Jacobowitz <drow@mvista.com>
7387
7388 * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
7389 map BFD_RELOC_RVA.
7390
73912002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
690cc98b
NC
7392
7393 * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
7394 hppa*-*-openbsd*): New targets.
7395 * configure.in (alpha*-*-openbsd*): Set COREFILE.
7396 * configure: Regenerate.
7397
f1f0d9ab
TR
73982002-05-10 Tom Rix <trix@redhat.com>
7399
ea1e4b0d 7400 * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
f1f0d9ab
TR
7401 xcoff64_ppc_relocate_section.
7402 * coff-rs6000.c : Extern common xcoff_reloc_type functions.
7403 * libxcoff.h: Common xcoff_reloc_type function declaration.
7404
c432ba1a
AM
74052002-05-10 Alan Modra <amodra@bigpond.net.au>
7406
16a10388 7407 * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
90937f86 7408 added in 2002-05-09 commit.
16a10388 7409
c432ba1a
AM
7410 * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
7411 don't look for stubs on all undefined syms.
7412
4a335f3d
AM
74132002-05-09 Alan Modra <amodra@bigpond.net.au>
7414
8fc39d5d
AM
7415 * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
7416 (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
7417 pcrel_offset.
7418
4a335f3d
AM
7419 * elf32-i386.c (elf_howto_table): Comments.
7420 (elf_i386_relocate_section): Handle more relocs for relocatable
7421 linking and against SEC_MERGE sections.
7422
41fcb14e
AM
74232002-05-08 Alan Modra <amodra@bigpond.net.au>
7424
7425 * elf32-ppc.c (ppc_elf_create_got): New function.
7426 (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
ea1e4b0d 7427 _bfd_elf_create_dynamic_sections. Correct .plt flags.
41fcb14e
AM
7428 (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
7429 _bfd_elf_create_got_section.
7430
b491616a
AM
74312002-05-07 Alan Modra <amodra@bigpond.net.au>
7432
7433 * elf-bfd.h (struct elf_backend_data): Add rela_normal.
7434 * elfxx-target.h (elf_backend_rela_normal): Define.
7435 (elfNN_bed): Init rela_normal.
7436 * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
7437 for section symbols here if rela_normal. Simplify abs section test.
7438 * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
7439 return immediately. Remove code handling relocatable linking.
7440 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
7441 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
7442 * elf32-i370.c (i370_elf_relocate_section): Likewise.
7443 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
7444 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
7445 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
7446 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
7447 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
7448 * elf32-s390.c (elf_s390_relocate_section): Likewise.
7449 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
7450 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
7451 * elf64-s390.c (elf_s390_relocate_section): Likewise.
7452 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
7453 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
7454 * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
7455 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
7456 * elf-m10200.c (elf_backend_rela_normal): Define.
7457 * elf-m10300.c (elf_backend_rela_normal): Define.
7458 * elf32-fr30.c (elf_backend_rela_normal): Define.
7459 * elf32-i370.c (elf_backend_rela_normal): Define.
7460 * elf32-i860.c (elf_backend_rela_normal): Define.
7461 * elf32-m68k.c (elf_backend_rela_normal): Define.
7462 * elf32-mcore.c (elf_backend_rela_normal): Define.
7463 * elf32-openrisc.c (elf_backend_rela_normal): Define.
7464 * elf32-ppc.c (elf_backend_rela_normal): Define.
7465 * elf32-s390.c (elf_backend_rela_normal): Define.
7466 * elf32-xstormy16.c (elf_backend_rela_normal): Define.
7467 * elf64-ppc.c (elf_backend_rela_normal): Define.
7468 * elf64-s390.c (elf_backend_rela_normal): Define.
7469 * elf64-x86-64.c (elf_backend_rela_normal): Define.
7470 * elfxx-ia64.c (elf_backend_rela_normal): Define.
7471 * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
7472 * elf32-m32r.c (elf_backend_rela_normal): Likewise.
7473
df212a7e
NC
74742002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
7475
7476 * elf32-arm.h (elf32_arm_final_link_relocate): Convert
7477 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
7478
3decf53c
AM
74792002-05-06 Alan Modra <amodra@bigpond.net.au>
7480
7481 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
7482 when not relocatable. Fix reloc_emitter call for K&R.
7483
f46c2da6
AM
74842002-05-04 Alan Modra <amodra@bigpond.net.au>
7485
7486 * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
7487 reloading local sym addend mistakenly removed in 2002-05-01 change.
7488
7489 * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
7490 (read_abbrevs): Change "offset" param to bfd_vma.
7491 (parse_comp_unit): Change "version" and addr_size to unsigned ints.
7492 Change "abbrev_offset" to bfd_vma.
7493 (read_indirect_string): Use correct conversion chars in error
7494 message format string, cast bfd_vma's to unsigned long.
7495 (read_abbrevs): Likewise.
7496 (read_attribute_value): Likewise.
7497 (decode_line_info): Likewise.
7498 (scan_unit_for_functions): Likewise.
7499 (parse_comp_unit): Likewise.
7500
59862849
TR
75012002-05-04 Tom Rix <trix@redhat.com>
7502
7503 * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
7504 (coff_swap_reloc_out): Same.
7505 * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
7506 (xcoff_swap_reloc_out): Same.
7507 (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
7508 case some 16 bit relocs. Add reloc value to output.
7509 (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
ea1e4b0d 7510 R_RBR. Improve names.
59862849
TR
7511 (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
7512 (bfd_xcoff_backend_data): Update with new reloc swap names.
7513 (bfd_pmac_xcoff_backend_data) : Same.
7514 * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
7515 (xcoff64_swap_reloc_out): Same.
ea1e4b0d 7516 (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
59862849 7517 R_POS. Add reloc value to output.
ea1e4b0d
AM
7518 (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
7519 bit R_RBR. Improve names, masks.
59862849
TR
7520 (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
7521 (bfd_xcoff_backend_data): Update with new reloc swap names.
7522 (bfd_xcoff_aix5_backend_data) : Same.
7523
b4655ea9
AM
75242002-05-04 Alan Modra <amodra@bigpond.net.au>
7525
7526 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
7527 bfd_count top_index, input_list, all_local_syms.
7528 (elf32_hppa_setup_section_lists): New function, split from
7529 elf32_hppa_size_stubs.
7530 (elf32_hppa_next_input_section): Likewise.
7531 (group_sections): Likewise.
7532 (get_local_syms): Likewise.
7533 (elf32_hppa_size_stubs): Adjust for split out functions. Look for
7534 stubs on undefined syms too.
7535 (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
8fc39d5d 7536 Only access htab elf fields when we have an elf hash table.
b4655ea9
AM
7537 * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
7538 (elf32_hppa_next_input_section): Declare.
7539
301e3139
AM
75402002-05-04 Bob Byrnes <byrnes@curl.com>
7541
7542 * opncls.c (_bfd_new_bfd_contained_in): Check return value of
7543 _bfd_new_bfd.
7544
7c5fcef7
L
75452002-05-03 H.J. Lu (hjl@gnu.org)
7546
7547 * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
7548 (mips_elf_link_hash_newfunc): Initialize forced_local to false.
7549 (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
7550 to hide a global symbol.
7551 (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
ea1e4b0d 7552 forced_local to true.
7c5fcef7 7553
84de6048
RH
75542002-05-02 Richard Henderson <rth@redhat.com>
7555
7556 * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
7557 vs SHN_UNDEF to zero.
7558
805fc799
AM
75592002-05-02 Alan Modra <amodra@bigpond.net.au>
7560
c061c2d8
AM
7561 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
7562 16 bit reloc.
7563 <R_PPC64_SECTOFF_DS>: Likewise.
7564 (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
7565 SECTOFF reloc.
7566 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
7567 (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
7568 SECTOFF reloc.
7569
805fc799
AM
7570 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
7571 (ppc64_elf_ha_reloc): New function.
7572 (ppc64_elf_brtaken_reloc): New function.
7573 (ppc64_elf_sectoff_reloc): New function.
7574 (ppc64_elf_sectoff_ha_reloc): New function.
7575 (ppc64_elf_toc_reloc): New function.
7576 (ppc64_elf_toc_ha_reloc): New function.
7577 (ppc64_elf_toc64_reloc): New function.
7578 (ppc64_elf_unhandled_reloc): New function.
7579 (ppc64_elf_howto_raw): Use the above.
7580 <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
7581 <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
7582 <R_PPC64_SECTOFF_DS>: Likewise.
7583 (IS_ABSOLUTE_RELOC): Update.
7584 (struct ppc_link_hash_table): Add have_undefweak.
7585 (ppc64_elf_link_hash_table_create): Init.
7586 (func_desc_adjust): Set have_undefweak.
7587 (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
7588 add the .sfpr blr when have_undefweak.
7589 (ppc64_elf_setup_section_lists): Check hash table flavour.
7590 (ppc64_elf_next_input_section): Move output_section->owner test to
7591 ppc64elf.em.
7592 (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
7593 and relocatable test. Return TOCstart and don't set elf_gp.
7594 (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
7595 offset calculation. Add assert on weak sym branch tweaks.
7596 * elf64-ppc.h (ppc64_elf_set_toc): Delete.
7597 (ppc64_elf_toc): Declare.
7598 (ppc64_elf_next_input_section): Update.
ea1e4b0d 7599
818c39a3
AM
76002002-05-01 Alan Modra <amodra@bigpond.net.au>
7601
7602 * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
7603 file_name.
7604
721956f4
AM
76052002-05-01 Alan Modra <amodra@bigpond.net.au>
7606
7607 * elf64-ppc.c (CROR_151515, CROR_313131): Define.
7608 (ppc64_elf_relocate_section): Use them. Don't look for plt calls
7609 on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
7610 call branches. Correct undefined weak destination.
7611 (ppc64_elf_func_desc_adjust): Always create at least one blr in
7612 .sfpr, and correct case where either only savef* or restf* is
7613 needed.
7614
7615 Long branch stubs, multiple stub sections.
7616 * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
7617 (ppc64_elf_next_input_section): Declare.
7618 * elf64-ppc.c: Move linker-only prototypes.
7619 (STUB_SUFFIX): Define.
7620 (enum ppc_stub_type): New.
7621 (struct ppc_stub_hash_entry): New.
7622 (struct ppc_branch_hash_entry): New.
7623 (struct ppc_link_hash_entry): Add stub_cache, oh.
7624 (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
7625 sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
7626 Rename plt_overflow to stub_error.
7627 (ppc_stub_hash_lookup): Define.
7628 (ppc_branch_hash_lookup): Define.
7629 (stub_hash_newfunc): New function.
7630 (branch_hash_newfunc): New function.
7631 (link_hash_newfunc): Init new fields.
7632 (ppc64_elf_link_hash_table_create): Likewise.
7633 (ppc64_elf_link_hash_table_free): New function.
7634 (ppc_stub_name): New function.
7635 (ppc_get_stub_entry): New function.
7636 (ppc_add_stub): New function.
7637 (create_linkage_sections): Use bfd_make_section_anyway. Create
7638 .branch_lt and .rela.branch_lt sections. Don't create .stub.
7639 (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
7640 and set up for plt call stubs. Link func and func desc syms.
7641 (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
7642 (func_desc_adjust): Avoid hash lookup when func desc sym available
7643 via shortcut, and set links when processing.
7644 (ppc64_elf_hide_symbol): Likewise.
7645 (allocate_dynrelocs): Don't allocate stub section here.
7646 (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
7647 Remove sstub code.
7648 (ppc_type_of_stub): New function.
7649 (build_one_stub): Delete.
7650 (ppc_build_one_stub): New function.
7651 (ppc_size_one_stub): New function.
7652 (ppc64_elf_setup_section_lists): New function.
7653 (ppc64_elf_next_input_section): New function.
7654 (group_sections): New function.
7655 (get_local_syms): New function.
7656 (ppc64_elf_size_stubs): Rewrite.
7657 (ppc64_elf_build_stubs): Rewrite.
7658 (ppc64_elf_relocate_section): Look up stub entry for REL24
7659 relocs. Don't propagate REL14* to dynamic objects. Look for long
7660 branch stubs if REL14* or REL24 relocs won't reach.
7661 (bfd_elf64_bfd_link_hash_table_free): Define.
7662
09c2219b
MM
76632002-04-30 Mark Mitchell <mark@codesourcery.com>
7664
c5cd6d62 7665 * config.bfd: Add support for powerpc-*-windiss.
09c2219b 7666
07b678c0
TR
76672002-04-30 Tom Rix <trix@redhat.com>
7668
7669 * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
7670 symbol names into the hash table.
7671
dbe341c6
TR
76722002-04-28 Tom Rix <trix@redhat.com>
7673
7674 * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
ea1e4b0d 7675 calulating relocations.
dbe341c6 7676 (xcoff_complain_overflow) : Function table for relocation errors.
ea1e4b0d
AM
7677 (xcoff_ppc_relocate_section): Use relocation and complain function
7678 tables.
7679 (xcoff_complain_overflow_unsigned_func): New complain function.
dbe341c6
TR
7680 (xcoff_complain_overflow_signed_func): Same.
7681 (xcoff_complain_overflow_bitfield_func): Same.
7682 (xcoff_complain_overflow_dont_func): Same.
7683 (xcoff_reloc_type_crel): New recot function.
7684 (xcoff_reloc_type_br): Same.
7685 (xcoff_reloc_type_ba): Same.
7686 (xcoff_reloc_type_toc): Same.
7687 (xcoff_reloc_type_rel): Same.
7688 (xcoff_reloc_type_neg): Same.
7689 (xcoff_reloc_type_pos): Same.
7690 (xcoff_reloc_type_fail): Same.
7691 (xcoff_reloc_type_noop): Same.
7692 * libxcoff.h : Declare common parts for xcoff64.
7693 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
ea1e4b0d 7694 and complain function tables.
dbe341c6 7695
985142a4
AM
76962002-04-28 Alan Modra <amodra@bigpond.net.au>
7697
7698 * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
7699 * elf32-hppa.c (elf32_hppa_final_link): Formatting.
7700
eba91044
AM
77012002-04-26 Alan Modra <amodra@bigpond.net.au>
7702
e54fdaa5
AM
7703 * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
7704 * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
7705
a50c1845
AM
7706 * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
7707 same as the output before calling elf_link_input_bfd.
7708
eba91044
AM
7709 * coffcode.h (coff_compute_section_file_positions): Set
7710 section_tail after shuffling section list.
7711
3c25c5f6
NC
77122002-04-24 Christian Groessler <chris@groessler.org>
7713
7714 * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
7715 addresses are 23bit with a special layout, not plain 32bit
7716 values. Prevent relocation of immediate values.
7717
40d32fc6
CD
77182002-04-24 Chris G. Demetriou <cgd@broadcom.com>
7719
7720 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
7721 MIPS-16 ASE flags are set, print something to indicate that.
7722
067fa4a6
AM
77232002-04-23 Alan Modra <amodra@bigpond.net.au>
7724
7725 * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
7726 under which a plt call stub is used.
7727 (final_link_relocate): Similarly.
7728 (allocate_plt_static): Clear h-plabel except when plt entry is
7729 exclusively used for a plabel.
7730 (allocate_dynrelocs): Use the above to simplify plt sizing.
7731 (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
7732 (elf32_hppa_link_hash_table_create): Init.
7733 (BL22_RP): Define.
7734 (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
7735 (elf32_hppa_check_relocs): Set has_22bit_branch.
7736
7737 * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
7738 (final_link_relocate): Likewise.
7739
af40ce3c
JJ
77402002-04-22 Jakub Jelinek <jakub@redhat.com>
7741
7742 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
7743 search table if some FDE is DW_EH_PE_aligned encoded either.
7744 (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
7745
09ae86c2
JJ
77462002-04-22 Richard Smith <richard@ex-parrot.com>
7747 Jakub Jelinek <jakub@redhat.com>
7748
7749 * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
7750 (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
7751 encoded personality.
7752 (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
7753 for CIE/FDE removal.
7754
deeb2cd7
TR
77552002-04-20 Tom Rix <trix@redhat.com>
7756
7757 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
7758
99dc0092
AM
77592002-04-20 Alan Modra <amodra@bigpond.net.au>
7760
aa3d5824
AM
7761 * archures.c (bfd_lookup_arch): Move the list order comment..
7762 (struct bfd_arch_info): ..to where it belongs.
7763 * bfd-in2.h: Regenerate.
7764
99dc0092
AM
7765 * archures.c (bfd_lookup_arch): Add comment on list order.
7766 (bfd_default_set_arch_mach): Use bfd_lookup_arch.
7767 * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
7768 is always at head of list.
7769
7831a775
NC
77702002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
7771
7772 * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
7773 insert_thumb_branch, record_thumb_to_arm_glue): Suppress
7774 definition of these functions for ARM_WINCE builds as they are
7775 not used.
ea1e4b0d 7776 (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
7831a775
NC
7777 for ARM_WINCE builds.
7778
77792002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
7780
ea1e4b0d 7781 * coff-arm.c (bfd_arm_process_before_allocation):
7831a775
NC
7782
77832002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
a44d7f9c
JR
7784
7785 * cpu-sh.c (scan_mach): Delete.
7786 (arch_info_struct): Replace scan_mach with bfd_default_scan.
7787 (bfd_sh_arch): Likewise.
7788
3d8dbe36
NC
77892002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
7790
7791 * ihex.c (ihex_write_object_contents): Fix check for records
7792 crossing 64K boundaries.
7793
4ab82700
AM
77942002-04-16 Alan Modra <amodra@bigpond.net.au>
7795
7796 * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
7797 type rather than just assuming entries are ELF.
7798 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
7799 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
7800 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
7801 * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
7802 rather than elf_link_hash_entry.
7803
036fe0fe
RH
78042002-04-15 Richard Henderson <rth@redhat.com>
7805
7806 * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
7807 n32 binaries.
7808
c4f3d130
NC
78092002-04-15 Michael Snyder <msnyder@redhat.com>
7810
7811 * opncls.c (bfd_close): Write contents if writeable.
7812 Minor formatting tidy-ups.
7813
4ab82700 78142002-04-15 Alan Modra <amodra@bigpond.net.au>
27242387
AM
7815
7816 * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
7817
0c04d169
MS
78182002-04-12 Michael Snyder <msnyder@redhat.com>
7819
7820 * bfd-in.h (bfd_get_section_lma): New access macro.
7821 Minor white-space fix-up.
7822
89d4966f
AM
78232002-04-12 Alan Modra <amodra@bigpond.net.au>
7824
7825 * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
7826 header pad.
7827
8d0da3c2
DD
78282002-04-09 DJ Delorie <dj@redhat.com>
7829
7830 * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
7831
05793179
NC
78322002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
7833
7834 * coffcode.h (coff_read_word): New.
7835 (coff_compute_checksum): New.
7836 (coff_apply_checksum): New.
7837 (coff_write_object_contents): Call coff_apply_checksum () to
7838 apply checksum to PE image.
7839
46fe4e66
AM
78402002-04-08 Randolph Chung <tausq@debian.org>
7841
7842 * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
7843 (elf32_hppa_final_link): Split out sorting logic to..
7844 * elf-hppa.h (elf_hppa_sort_unwind): ..here.
7845 (elf_hppa_final_link): Call elf_hppa_sort_unwind.
7846
3b5b409c
AC
78472002-04-07 Andrew Cagney <ac131313@redhat.com>
7848
7849 * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
7850 pattern.
7851 * configure: Re-generate.
7852
ac7b6ceb
AC
78532002-04-07 Andrew Cagney <ac131313@redhat.com>
7854
7855 * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
7856 is greater or equal to 4.3.3.
7857 * configure: Regenerate.
7858 Fix PR gdb/344.
7859
44aa49bb
HPN
78602002-04-05 Hans-Peter Nilsson <hp@axis.com>
7861
7862 * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
7863 R_CRIS_32_PCREL>: Fix typo in name.
7864 (cris_elf_check_relocs): Always create .rela.got here when
7865 R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
7866 (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
7867 assume it's created.
7868
e2d34d7d
DJ
78692002-04-04 Daniel Jacobowitz <drow@mvista.com>
7870
7871 * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
7872 * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
7873 define.
7874 * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
7875 * bfd.c (bfd_link_hash_table_free): Define.
7876 * binary.c (binary_bfd_link_hash_table_free): Define.
7877 * bout.c (b_out_bfd_link_hash_table_free): Define.
7878 * coff-rs6000.c (rs6000coff_vec): Include
7879 _bfd_generic_link_hash_table_free.
7880 (pmac_xcoff_vec): Likewise.
7881 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
7882 (aix5coff64_vec): Likewise.
7883 * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
7884 * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
7885 (bfd_elf32_bfd_link_hash_table_free): Define.
7886 * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
7887 (bfd_elf32_bfd_link_hash_table_free): Define.
7888 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
7889 define.
7890 * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
7891 * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
7892 * ieee.c (ieee_bfd_link_hash_table_free): Define.
7893 * ihex.c (ihex_bfd_link_hash_table_free): Define.
7894 * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
7895 (_bfd_generic_link_hash_table_free): Add prototype.
7896 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
7897 * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
7898 * linker.c (_bfd_generic_link_hash_table_free): New function.
7899 * mmo.c (mmo_bfd_link_hash_table_free): Define.
7900 * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
7901 * oasys.c (oasys_bfd_link_hash_table_free): Define.
7902 * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
7903 * som.c (som_bfd_link_hash_table_free): Define.
7904 * srec.c (srec_bfd_link_hash_table_free): Define.
7905 * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
7906 * versados.c (versados_bfd_link_hash_table_free): Define.
7907 * vms.c (vms_bfd_link_hash_table_free): New function.
7908 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
7909
7910 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
7911 instead of bfd_alloc.
7912 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
7913 * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
7914 * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
7915 * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
7916 * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
7917 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
7918 * elf.c (_bfd_elf_link_hash_table_create): Likewise.
7919 * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
7920 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
7921 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
7922 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
7923 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
7924 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
7925 * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
7926 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
7927 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
7928 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
7929 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
7930 * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
7931 * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
7932 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
7933 * linker.c (_bfd_generic_link_hash_table_create): Likewise.
7934 * m68klinux.c (linux_link_hash_table_create): Likewise.
7935 * sparclinux.c (linux_link_hash_table_create): Likewise.
7936 * sunos.c (sunos_link_hash_table_create): Likewise.
7937 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
7938
7939 * targets.c: Add _bfd_link_hash_table_free to xvec.
7940
7941 * bfd-in2.h: Regenerate.
7942 * libbfd.h: Regenerate.
7943 * libcoff.h: Regenerate.
7944
830629ab
AM
79452002-04-04 Alan Modra <amodra@bigpond.net.au>
7946
7947 * dep-in.sed: Cope with absolute paths.
7948 * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
7949 Run "make dep-am".
7950 * Makefile.in: Regenerate.
7951 * coff-arm.c: Fix copyright date.
7952 * cpu-h8300.c: Likewise.
7953 * cpu-i370.c: Likewise.
7954 * cpu-s390.c: Likewise.
7955 * cpu-mips.c: Likewise.
7956 * po/SRC-POTFILES.in: Regenerate.
7957
c6e90b02
TS
79582002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7959
7960 * Makefile.am: Add elfxx-mips.c to the known backends.
7961 (elf32-mips.lo): remove dependency to coff/external.h.
7962 * Makefile.in: Regenerate.
7963 * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
7964 Remove elf32-mips.lo from 64 bit vectors. Update dependencies
7965 accordingly.
7966 * configure: Regenerate.
7967 * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
7968 (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
7969 (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
7970 MIPS specific backend functions.
7971 * elf32-mips.c: Moved most code to elfxx-mips.c.
7972 (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
7973 static.
7974 (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
7975 (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
7976 (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
7977 (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
7978 interface to allow selection of the right REL or RELA howto table.
7979 (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
7980 static. Let it refuse n32 objects.
7981 (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
7982 (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
7983 (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
7984 (elf32_mips_ignore_discarded_relocs): Rename from
7985 _bfd_elf32_mips_ignore_discarded_relocs.
7986 (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
7987 (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
7988 (elf_mips_howto_table_rela): Remove.
7989 * elf64-mips.c: Moved most code to elfxx-mips.c.
7990 (bfd_elf64_bfd_reloc_type_lookup): Make static.
7991 (mips_elf64_rtype_to_howto): New function.
7992 (mips_elf64_object_p): Likewise.
7993 (elf64_mips_irix_compat): Likewise.
7994 * elfxx-mips.c: New file containing common code merged together from
7995 elf32-mips.c and elf64-mips.c.
7996 * elfxx-mips.h: New file containing MIPS specific prototypes from
7997 elf-bfd.h.
7998 * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
7999 elf_backend_mips_rtype_to_howto.
8000
d8dce692
AM
80012002-04-04 Alan Modra <amodra@bigpond.net.au>
8002
8003 * srec.c (MAXCHUNK, Chunk): Revise comments.
8004 (srec_write_record): Correct buffer size.
8005 (srec_write_header): Do without intermediate buffer.
8006 (srec_write_section): Validate Chunk.
8007 (srec_write_terminator): Pass NULL instead of dummy buffer.
8008 (srec_write_symbols): Pass file and symbol names directly to
8009 bfd_bwrite so sprintf won't overflow buffer.
8010
b88a866a
JJ
80112002-04-03 Jakub Jelinek <jakub@redhat.com>
8012
8013 * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
8014 PC relative relocs against hidden symbols.
8015 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8016
d7866f04
AM
80172002-04-03 Alan Modra <amodra@bigpond.net.au>
8018
8019 * elf.c (_bfd_elf_make_section_from_shdr): When setting section
8020 LMAs, loop over segments until p_vaddr and p_memsz specify an
8021 extent enclosing the section.
8022
9e81ee67
NC
80232002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
8024
8025 * ihex.c (ihex_write_object_contents): Do not allow records to
8026 cross a 64K boundary - wrap if necessary.
8027
d2b64500
JT
80282002-04-01 Nathan Williams <nathanw@wasabisystems.com>
8029
8030 * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
8031 which caused the returned LWP ID to always be 0.
8032
e36f7d53
RH
80332002-04-01 Richard Henderson <rth@redhat.com>
8034
8035 * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
8036 (elf32_sparc_relocate_section): Use it to figure out when to
8037 initialize .got entries.
8038 * elf64-sparc.c: Similarly.
8039
e92d460e
AM
80402002-03-28 Alan Modra <amodra@bigpond.net.au>
8041
8042 * linker.c (link_action): Ignore duplicate warning syms.
8043 (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
8044 * elflink.h (elf_adjust_dynstr_offsets): Likewise.
8045 (elf_adjust_dynamic_symbol): Likewise.
8046 (elf_export_symbol): Likewise.
8047 (elf_link_find_version_dependencies): Likewise.
8048 (elf_link_assign_sym_version): Likewise.
8049 (elf_link_sec_merge_syms): Likewise.
8050 (elf_link_output_extsym): Likewise.
8051 (elf_gc_sweep_symbol): Likewise.
8052 (elf_gc_propagate_vtable_entries_used): Likewise.
8053 (elf_gc_smash_unused_vtentry_relocs): Likewise.
8054 (elf_gc_allocate_got_offsets): Likewise.
8055 (elf_collect_hash_codes): Likewise.
8056 * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
8057 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
8058 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
8059 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
8060 * elf32-arm.h (elf32_arm_discard_copies): Likewise.
8061 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
8062 (elf_cris_discard_excess_dso_dynamics): Likewise.
8063 * elf32-hppa.c (clobber_millicode_symbols): Likewise.
8064 (mark_PIC_calls): Likewise.
8065 (allocate_plt_static): Likewise.
8066 (allocate_dynrelocs): Likewise.
8067 (readonly_dynrelocs): Likewise.
8068 * elf32-i386.c (allocate_dynrelocs): Likewise.
8069 (readonly_dynrelocs): Likewise.
8070 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
8071 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
8072 * elf32-mips.c (mips_elf_output_extsym): Likewise.
8073 (mips_elf_sort_hash_table_f): Likewise.
8074 (mips_elf_check_mips16_stubs): Likewise.
8075 * elf32-s390.c (allocate_dynrelocs): Likewise.
8076 (readonly_dynrelocs): Likewise.
8077 * elf32-sh.c (sh_elf_discard_copies): Likewise.
8078 * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
8079 (xstormy16_relax_plt_realloc): Likewise.
8080 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
8081 (elf64_alpha_output_extsym): Likewise.
8082 * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
8083 * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
8084 (mips_elf64_check_mips16_stubs): Likewise.
8085 (mips_elf64_output_extsym): Likewise.
8086 * elf64-ppc.c (func_desc_adjust): Likewise.
8087 (allocate_dynrelocs): Likewise.
8088 (readonly_dynrelocs): Likewise.
8089 * elf64-s390.c (allocate_dynrelocs): Likewise.
8090 (readonly_dynrelocs): Likewise.
8091 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
8092 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
8093 (readonly_dynrelocs): Likewise.
8094 * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
8095 * aoutx.h (aout_link_write_other_symbol): Likewise.
8096 * cofflink.c (_bfd_coff_write_task_globals): Likewise.
8097 (_bfd_coff_write_global_sym): Likewise.
8098 * i386linux.c (linux_tally_symbols): Likewise.
8099 * m68klinux.c (linux_tally_symbols): Likewise.
8100 * sparclinux.c (linux_tally_symbols): Likewise.
8101 * pdp11.c (aout_link_write_other_symbol): Likewise.
8102 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
8103 * xcofflink.c (xcoff_build_ldsyms): Likewise.
8104 (xcoff_write_global_symbol): Likewise.
8105
8106 * cofflink.c (_bfd_coff_final_link): Formatting.
8107 * cpu-mips.c (mips_compatible): Make static, prototype.
8108 * elf32-i386.c (elf_i386_check_relocs): Formatting.
8109 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
8110 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
8111 * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
8112 (mips_elf64_final_link): Likewise.
8113 * elflink.h (elf_link_find_version_dependencies): Remove duplicate
8114 prototype.
8115
2106126f
NC
81162002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
8117
8118 * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
8119 (SWAP_OUT_RELOC_OFFSET): Define.
8120
b99d1833
AM
81212002-03-27 Gregory Steuck <greg@nest.cx>
8122
8123 * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
8124 terminating NULL if empty symbol table.
8125 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
8126
ad43ed4c
L
81272002-03-26 H.J. Lu (hjl@gnu.org)
8128
8129 * elflink.h (elf_link_input_bfd): Revert the last change since
8130 the gcc exception handling isn't fixed yet.
8131
3851fca4
L
81322002-03-26 H.J. Lu (hjl@gnu.org)
8133
8134 * elflink.h (elf_link_input_bfd): Complain about relocations
8135 against local symbols in discarded sections.
8136
b91afed7
AM
81372002-03-26 Alan Modra <amodra@bigpond.net.au>
8138
8139 * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
8140
dba143ef
AM
81412002-03-23 Alan Modra <amodra@bigpond.net.au>
8142
8143 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
8144 section file offset for !SEC_LOAD sections.
8145
ee29b9fb
RE
81462002-03-21 Richard Earnshaw <rearnsha@arm.com>
8147
830629ab
AM
8148 * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
8149 <case R_ARM_GOT>): Handle relocations to Thumb functions.
ee29b9fb 8150
54327882
AM
81512002-03-21 Alan Modra <amodra@bigpond.net.au>
8152
8153 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
8154 Whitespace changes.
8155 * archive.c: Update copyright date.
8156 * bfd-in2.h: Regenerate.
8157 * libbfd.h: Regenerate.
8158 * Makefile.am: Run "make dep-am"
8159 * Makefile.in: Regenerate.
8160 * po/SRC-POTFILES.in: Regenerate.
8161
1ee24f27
DJ
81622002-03-20 Daniel Jacobowitz <drow@mvista.com>
8163
8164 * dwarf2.c (struct funcinfo): Move up.
8165 (lookup_address_in_function_table): New argument function_ptr.
8166 Set it.
8167 (lookup_address_in_line_table): New argument function. If function
8168 is non-NULL, use it to handle ``addr'' before the first line note of
8169 the function.
8170 (comp_unit_find_nearest_line): Update and swap calls to
8171 lookup_address_in_function_table and lookup_address_in_line_table.
8172 * syms.c (_bfd_stab_section_find_nearest_line): Use the first
8173 N_SLINE encountered if we see an N_FUN before any N_SLINE.
8174
51b9608c
TR
81752002-03-20 Tom Rix <trix@redhat.com>
8176
ea1e4b0d 8177 * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
51b9608c 8178 _bfd_xcoff_generic_stat_arch_elt. Fix format check.
9b5ecbd0 8179 * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
51b9608c 8180
789c90aa
TR
81812002-03-19 Tom Rix <trix@redhat.com>
8182
ea1e4b0d 8183 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
789c90aa
TR
8184 dynamic objects in archives.
8185
1da54d81
HPN
81862002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
8187
8188 * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
8189 STT_NOTYPE symbols to STT_OBJECT.
8190
7831a775 81912002-03-18 Jan Hubicka <jh@suse.cz>
beb43bb9
JH
8192
8193 * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
8194
eb1e0e80
NC
81952002-03-18 Tom Rix <trix@redhat.com>
8196
8197 * aix5ppc.core.c : New file for AIX 5 64 bit core support.
8198 * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
8199 * coff-rs6000 (do_pad) : New function for archive padding.
8200 (do_copy) : New function for object file copying in archives.
8201 (do_shared_object_padding) : New function for padding shared
8202 objects to their text section alignment in archives.
8203 (bfd_xcoff_ar_achive_set_magic) : Stub.
8204 (xcoff_write_armap_big) : Use do_copy and do_pad.
8205 (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
8206 do_copy and do_pad.
8207 * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
ea1e4b0d 8208 bfd_xcoff_magic_number.
eb1e0e80
NC
8209 (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
8210 fop.
8211 (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
8212 (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
8213 (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
8214 * rs6000-core.c : Update copyright date.
ea1e4b0d 8215 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
eb1e0e80
NC
8216 csectpp.
8217 * coffcode.h (coff_new_section_hook) : Use new accessor macros.
8218 (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
8219 (coff_set_flags) : Use bfd_xcoff_magic_number.
8220 * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
8221 * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
8222 * Makefile.am : Same.
8223 * config.bfd : Same.
8224 * targets.c : Same.
8225 * configure : Regnerate.
8226 * Makefile.in : Same.
8227 * bfd-in2.h : Same.
8228
a1c259a1
NC
82292002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
8230
8231 * po/fr.po: Updated version.
8232
4dae1ae7
AM
82332002-03-18 Alan Modra <amodra@bigpond.net.au>
8234
8235 * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
8236 * libbfd.h: Regenerate.
8237 * archive.c (coff_write_armap): Pass on failures from
8238 bfd_write_bigendian_4byte_int.
8239
36b4f6e7
L
82402002-03-14 H.J. Lu <hjl@gnu.org>
8241
8242 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
8243 error to bfd_error_nonrepresentable_section for reinit_array
8244 section in DSO.
8245
a1aefc76
NC
82462002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
8247
a181be0a
NC
8248 * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
8249 OR it in rather than replacing previously selected flags.
8250
a1aefc76
NC
8251 * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
8252 (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
8253
c119f9b8
AM
82542002-03-14 Alan Modra <amodra@bigpond.net.au>
8255
8256 * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
8257 (N): Use the above.
8258 * elflink.h (elf_bfd_final_link): Revert last change. Instead,
8259 ensure reloc size matches before calling elf_link_input_bfd.
8260 Add an assert to check reloc size when counting output relocs.
8261
c295a511
NC
82622002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
8263
8264 * mmo.c (mmo_get_loc): Return NULL rather than false.
8265
9ce88e60
NC
82662002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
8267
8268 * po/fr.po: Updated version.
8269
4ddafab0
AM
82702002-03-13 Alan Modra <amodra@bigpond.net.au>
8271
b74fa2cd
AM
8272 * archures.c (bfd_default_compatible): Test bits_per_word.
8273 * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
8274 bfd_default_compatible.
8275 * cpu-i370.c (i370_compatible): Likewise.
8276 * cpu-sparc.c (sparc_compatible): Likewise.
8277 * cpu-h8300.c (compatible): Test in->arch == out->arch.
8278
40b829d4
AM
8279 * elflink.h: Formatting fixes.
8280 (elf_link_output_extsym): Merge undefined and undef weak cases.
8281
4ddafab0
AM
8282 * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
8283 when word size of input matches output word size.
8284
dd53c801
AJ
82852002-03-12 Andreas Jaeger <aj@suse.de>
8286
8287 * cpu-i386.c (i386_compatible): New. Use it instead of
8288 bfd_default_compatible.
8289
aa066ac8
L
82902002-03-07 H.J. Lu (hjl@gnu.org)
8291
8292 * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
8293 as the type for bfd_reloc_val.
8294
1bf42538
JL
82952002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
8296
8297 * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
8298 (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
8299 (elf_hppa_final_link_relocate): Correct relocations for indirect
8300 references to local data through the DLT. Fix .opd creation for
8301 local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
8302 relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
8303 R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
8304 "Processor-Specific ELF for PA_RISC, Version 1.43" document.
8305 Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
8306 * elf32-hppa.c (final_link_relocate): Revise relocation selectors
8307 as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
8308
86eaf01e
JJ
83092002-03-05 Jakub Jelinek <jakub@redhat.com>
8310
8311 * merge.c (_bfd_merge_sections): Don't segfault if there
8312 is nothing to merge due to GC.
8313
c44233aa
AM
83142002-03-05 Alan Modra <amodra@bigpond.net.au>
8315
039cc25f
AM
8316 * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
8317 symbols that have been forced local.
8318
c44233aa
AM
8319 * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
8320 to output forced local syms for non-shared link.
8321 (elf_link_output_extsym): Tweak condition for calling backend
8322 adjust_dynamic_symbol so that previous behaviour is kept.
8323 Whitespace changes throughout file.
8324
25e27870
L
83252002-03-04 H.J. Lu <hjl@gnu.org>
8326
8327 * elf.c (bfd_section_from_shdr): Handle special sections,
8328 .init_array, .fini_array and .preinit_array.
8329 (elf_fake_sections): Likewise.
8330
8331 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
8332 DT entry only if the section is in output for .init_array,
8333 .fini_array and .preinit_array. Complain about .preinit_array
8334 section in DSO.
8335 (elf_bfd_final_link): Warn zero size for .init_array,
8336 .fini_array and .preinit_array sections.
8337
8338 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
8339 SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
8340 (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
8341 .preinit_array.
8342
bb2a49f2
AM
83432002-03-04 Alan Modra <amodra@bigpond.net.au>
8344
8345 * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
8346 * configure: Regenerate.
8347
38487e5e
TR
83482002-03-02 Tom Rix <trix@redhat.com>
8349
c44233aa
AM
8350 * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
8351 symbolic equiv.
38487e5e
TR
8352 * coff-rs6000.c (xcoff_howto_table): Same.
8353
30831527
RH
83542002-03-01 David Mosberger <davidm@hpl.hp.com>
8355
8356 * elflink.h (size_dynamic_sections): If section named
8357 ".preinit_array" exists, create DT_PREINIT_ARRAY and
8358 DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
8359 ".init_array" and ".fini_array".
8360 (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
8361 DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
8362 DT_FINI_ARRAY.
8363
c8e5ddc8
AM
83642002-02-26 Andrew Macleod <amacleod@cygnus.com>
8365
8366 * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
8367 dynsyms.
8368
96e0dda4
AM
83692002-02-25 Alan Modra <amodra@bigpond.net.au>
8370
1c5b6bf8
AM
8371 * elf64-hppa.h: Update copyright date.
8372
96e0dda4
AM
8373 * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
8374 (ppc64_elf_relocate_section): Don't generate power4 style branch
8375 hints for *_BRTAKEN and *_BRNTAKEN relocs.
8376
0fb19cbc
JJ
83772002-02-22 Jakub Jelinek <jakub@redhat.com>
8378
8379 * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
8380 last patch.
8381 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
8382
c434dee6
AJ
83832002-02-21 Andreas Jaeger <aj@suse.de>
8384
8385 * elf64-x86-64.c: Major rework that introduces all recent changes
8386 to the x86-64 backend. Get a closer match to elf32-i386.
8387 (struct elf64_x86_64_dyn_relocs): Rename from
8388 elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
8389 all users.
8390 (struct elf64_x86_64_link_hash_table): Add short cuts to some
8391 sections.
8392 (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
8393 remove casts, initialize new hash members.
8394 (create_got_section): New.
8395 (elf64_x86_64_create_dynamic_sections): New.
8396 (elf64_x86_64_copy_indirect_symbol): New.
8397 (elf64_x86_64_check_relocs): Don't allocate space for dynamic
8398 relocs, .got or .relgot here but do it in allocate_dynrelocs.
8399 Reference count possible .plt and .got entries. Don't test input
8400 section SEC_READONLY here to try to avoid copy relocs, and keep
8401 dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
8402 DF_TEXTREL here. Delay setting of variables until needed. Cache
8403 pointer to "sreloc" section in elf_section_data. Tweak condition
8404 under which .got created. Report files with bad relocation
8405 section names.
8406 (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
8407 Reference count possible .plt entries. Don't deallocate .got and
8408 .relgot space here.
8409 (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
8410 do copy reloc processing for weakdefs. Remove redundant casts and
8411 aborts. Delay setting of vars until needed. Move creation of
8412 dynamic symbols and allocation of .plt and .rela.plt to
8413 allocate_dynrelocs. Replace BFD_ASSERT with abort.
8414 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
8415 (allocate_dynrelocs): New.
8416 (readonly_dynrelocs): New.
8417 (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
8418 Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
8419 Zero out the dynamic allocated content space.
8420 (elf64_x86_64_discard_copies): Removed.
8421 (elf64_x86_64_relocate_section): Make use of dynamic section
8422 short-cuts. Localise vars, and delay setting. Better error
8423 reporting, replace BFD_ASSERT with abort. Check
8424 ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
8425 regular object file and tread the weak definition as the normal
8426 one. Don't discard relocs for undefweak or undefined symbols and
8427 check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
8428 relocs.
8429 (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
8430 symbols that have been forced local. Use same test to decide if
8431 we can use a relative reloc for got as relocate_section. Expand
8432 SHN_UNDEF comment. Move expressions out of function calls.
8433 Replace BFD_ASSERT with abort.
8434 (bfd_elf64_bfd_final_link): Removed.
8435 (elf_backend_copy_indirect_symbol): Define.
8436
ff3a6ee3
TR
84372002-02-20 Tom Rix <trix@redhat.com>
8438
8439 * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
8440 (_bfd_xcoff_reloc_type_lookup): Use it.
8441 * coff64-rs6000.c (xcoff64_howto_table): Same.
8442 (xcoff64_reloc_type_lookup): Same.
c434dee6 8443
a68d41fb
AM
84442002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
8445
9b5ecbd0 8446 * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
a68d41fb
AM
8447 little endian.
8448
befc3abb
MS
84492002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
8450
8451 * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
8452 (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
8453 * bfd-in2.h: Regenerate.
8454 * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
8455 Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
8456 with "s390:64-bit".
8457 * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
8458 (elf_s390_reloc_type_lookup): Likewise.
8459 (elf_s390_check_relocs): Likewise.
8460 (elf_s390_gc_sweep_hook): Likewise.
8461 (elf_s390_relocate_section): Likewise.
8462 (elf_s390_object_p): Use renamed architecture define.
8463 * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
8464
6eeeec9b
FCE
84652002-02-19 Frank Ch. Eigler <fche@redhat.com>
8466
8467 * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
8468
0bb2d96a
JJ
84692002-02-19 Jakub Jelinek <jakub@redhat.com>
8470
8471 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
8472 absptr -> pcrel optimization for shared libs.
8473 Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
8474 library cannot be converted to pcrel.
8475 (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
8476 relative.
8477 * elf32-i386.c (elf_i386_relocate_section): If
8478 _bfd_elf_section_offset returned -2, skip, but make sure the
8479 relocation is installed.
8480 * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
8481 * elf32-cris.c (cris_elf_relocate_section): Likewise.
8482 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
8483 * elf32-i370.c (i370_elf_relocate_section): Likewise.
8484 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
8485 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
8486 * elf32-s390.c (elf_s390_relocate_section): Likewise.
8487 * elf32-sh.c (sh_elf_relocate_section): Likewise.
8488 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
8489 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
8490 * elf64-s390.c (elf_s390_relocate_section): Likewise.
8491 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
9b5ecbd0 8492 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
0bb2d96a
JJ
8493 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
8494 * elf64-alpha.c (elf64_alpha_relocate_section): Handle
8495 _bfd_elf_section_offset returning -2 the same way as -1.
8496 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
8497 * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
8498 and BFD_ASSERT.
8499 * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
8500
69f284c7
TR
85012002-02-18 Tom Rix <trix@redhat.com>
8502
8503 * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
8504 (bfd_xcoff_size_dynamic_sections): Same.
8505 * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
8506 (bfd_xcoff_size_dynamic_sections): Same.
8507 * coff-rs6000.c (xcoff_generate_rtinit): Same.
8508 * coff-rs646000.c (xcoff64_generate_rtinit): Same.
8509 * libxcoff.h (struct xcoff_backend_data_rec): Same.
8510 * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
8511 * bfd-in2.h: Regenerate.
8512
82bd7b59
AM
85132002-02-18 Alan Modra <amodra@bigpond.net.au>
8514
8515 * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
8516 (struct ppc_link_hash_table): Add sfpr.
8517 (ppc64_elf_link_hash_table_create): Init it.
8518 (ppc64_elf_create_dynamic_sections): Split creation of .stub and
8519 .glink out to..
8520 (create_linkage_sections): ..here. Make .sfpr too.
8521 (ppc64_elf_check_relocs): Call create_linkage_sections, and set
8522 dynobj early.
8523 (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
8524 (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
8525 ._restf* functions, and create as needed.
8526 (func_desc_adjust): Only force_local for shared libs.
8527
ef1355e8
NC
85282002-02-18 David O'Brien <obrien@FreeBSD.org>
8529
8530 * configure.in: Bump version number post 2.12 branching.
8531 * configure: Regenerate.
8532
dfa36a69
HPN
85332002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
8534
8535 * mmo.c: Correct and improve comments.
8536 (mmo_write_chunk): Store trailing byte in bfd buffer; don't
8537 zero-pad. Use input to fill up non-empty bfd buffer.
8538 (mmo_flush_chunk): New function.
8539 (mmo_write_loc_chunk): Add parameter last_vmap, all callers
8540 changed. Don't emit location specifier if VMA is same as
8541 *LAST_VMAP after omitting leading zero contents. Call
8542 mmo_flush_chunk before emitting location specifier.
8543 (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
8544 with mmo_write_loc_chunk calls.
8545 (mmo_internal_write_section): Call mmo_flush_chunk after
8546 mmo_write_chunk.
8547 (mmo_write_symbols_and_terminator): Move :Main to first position
8548 in symbol array. Add faked one if it does not exist if there are
8549 other symbols. Don't add it if there are no symbols at all. Move
8550 out test for value of :Main from symbol loop. Rename table
8551 fakemain to maintable and variable mainsym to fakemain.
8552
ccf00ab6
RH
85532002-02-15 Richard Henderson <rth@redhat.com>
8554
8555 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
8556 section with no got matches any got. Simplify error generaion.
8557
88eaccc2
AM
85582002-02-15 Alan Modra <amodra@bigpond.net.au>
8559
fd96f80f
AM
8560 Support arbitrary length fill patterns.
8561 * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
8562 (_bfd_default_link_order): Remove bfd_fill_link_order code.
8563 Call default_data_link_order.
8564 (default_fill_link_order): Delete.
8565 (default_data_link_order): New function.
8566 * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
8567 of bfd_fill_link_order with bfd_data_link_order.
8568 * elf64-alpha.c (elf64_alpha_final_link): Likewise.
8569 * elf64-mips.c (mips_elf64_final_link): Likewise.
8570
88eaccc2
AM
8571 * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
8572 Correct value returned in "end" for "0x<non-hex>".
8573
e2fd756b
NC
85742002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
8575
8576 * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
8577 (scan): Test against 'mach' field in info structure.
8578
edd29cf9
AM
85792002-02-14 Alan Modra <amodra@bigpond.net.au>
8580
8581 * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
8582
1e30956e 85832002-02-14 Matt Fredette <fredette@netbsd.org>
76f57f3a
JT
8584
8585 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
8586 EF_M68000.
8587
bf36db18
NC
85882002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
8589
8590 * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
edd29cf9
AM
8591 non-zero physical addresses when adjusting the LMAs of new
8592 sections.
bf36db18 8593
189c6563
AM
85942002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
8595
8596 * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
8597 from _bfd_elf_hppa_gen_reloc_type.
8598 (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
8599 * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
8600 * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
8601 * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
8602
e948afaf
AO
86032002-02-12 Alexandre Oliva <aoliva@redhat.com>
8604
8605 * elf-m10300.c (mn10300_elf_relax_section): Skip section before
8606 loading its contents if there's nothing to do in it.
8607
19397422
AM
86082002-02-12 Alan Modra <amodra@bigpond.net.au>
8609
0ad3a73b
AM
8610 * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
8611 64k boundary.
8612
19397422
AM
8613 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
8614 DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
8615 (ppc64_elf_finish_dynamic_sections): Set values for them.
8616
51316059
MS
86172002-02-11 Michael Snyder <msnyder@redhat.com>
8618
8619 * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
8620 * elf.c (elfcore_grok_pstatus): Add prototype.
8621 (elfcore_grok_lwpstatus): Add prototype.
8622 (elfcore_write_lwpstatus): New function.
8623 (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
8624
518313c3
AO
86252002-02-11 Alexandre Oliva <aoliva@redhat.com>
8626
8627 * elf32-sh.c: Added missing prototypes.
8628 * elf32-sh64.c: Likewise.
8629 (sh_elf_align_loads): Mark unused args as such.
8630 * elf64-sh64.c: Added missing prototypes.
8631 (struct elf_sh64_link_hash_entry): Fix typo.
8632 (sh_elf64_relocate_section): Fix info argument passed to
8633 _bfd_elf_section_offset.
8634
2c73f9d8
AM
86352002-02-11 Alan Modra <amodra@bigpond.net.au>
8636
8637 * Makefile.am: "make dep-am".
8638 * Makefile.in: Regenerate.
8639 * aclocal.m4: Regenerate.
8640 * config.in: Regenerate.
8641 * configure: Regenerate.
8642
d426c6b0
DJ
86432002-02-10 Daniel Jacobowitz <drow@mvista.com>
8644
8645 * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
8646 variable warnings.
8647 * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
8648 comparison warning.
8649 * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
8650 cast warnings for the common case.
8651
e58ee0cd
HPN
86522002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
8653
8654 * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
8655 vectors.
8656 (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
8657 vectors.
8658
7793f4d0
RH
86592002-02-09 Richard Henderson <rth@redhat.com>
8660
8661 * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
8662 (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
8663 (elf64_alpha_relocate_section): Likewise.
8664 * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
8665 * bfd-in2.h, libbfd.h: Rebuild.
8666
7e799044
HPN
86672002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
8668
8669 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
8670 that base-plus-offset reloc accounting is consistent.
8671 (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
8672 up to date for undefined symbols.
8673
027d73eb
EC
86742002-02-08 Eric Christopher <echristo@redhat.com>
8675
8676 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8677
8678 * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
8679 sections for the O32 ABI.
8680
517662d4
CD
86812002-02-08 Chris Demetriou <cgd@broadcom.com>
8682
8683 * elf32-arm.h: Fix formatting of _("...").
8684 * elf32-d10v.c: Likewise.
8685 * elf32-m68k.c: Likewise.
8686 * elf32-mips.c: Likewise.
8687
5e37cc46
NC
86882002-02-08 Ivan Guzvinec <ivang@opencores.org>
8689
8690 * coff-or32.c: Fix compile time warning messages.
8691
fbca6ad9
AO
86922002-02-08 Alexandre Oliva <aoliva@redhat.com>
8693
8694 Contribute sh64-elf.
8695 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
8696 * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
8697 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
8698 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
8699 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
8700 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
8701 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
8702 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
8703 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
8704 R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
8705 New relocs.
8706 * libbfd.h, bfd-in2.h: Rebuilt.
8707 * elf32-sh.c (sh_elf_howto_table): Define new relocs.
8708 (sh_reloc_map): Map them.
8709 (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
8710 elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
8711 elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
8712 elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
8713 elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
8714 elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
8715 movi_shori_putval) [INCLUDE_SHMEDIA]: New.
8716 (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
8717 datalabel_got_offset.
8718 (sh_elf_link_hash_newfunc): Initialize it.
8719 (sh_elf_relocate_section): Augment the scope of
9b5ecbd0 8720 seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
fbca6ad9
AO
8721 GOT and GOTOFF handling to new SHmedia relocation types. Support
8722 GOT_BIAS.
8723 (sh_elf_check_relocs): Likewise.
8724 (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
8725 PLT entries using movi_shori_putval. Support GOT_BIAS.
8726 (sh_elf_finish_dynamic_sections): Likewise.
8727 * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
8728 relocation, it's now done by the caller.
8729 (GOT_BIAS): New.
8730 * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
8731 elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
8732 elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
8733 elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
8734 elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
8735 elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
8736 sh64_elf64_hash_table): New.
8737 (sh_elf64_howto_table): Introduce new relocs.
8738 (sh_elf64_info_to_howto): Accept new PIC relocs.
8739 (sh_elf64_relocate_section): Augment the scope of
8740 seen_stt_datalabel. Support new PIC relocs.
8741 (sh_elf64_check_relocs): Support new PIC relocs.
8742 (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
8743 elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
8744 elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
8745 elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
8746 sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
8747 movi_shori_putval, movi_3shori_putval,
8748 sh64_elf64_create_dynamic_sections,
8749 sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
8750 sh64_elf64_size_dynamic_sections,
8751 sh64_elf64_finish_dynamic_symbol,
8752 sh64_elf64_finish_dynamic_sections): New.
8753 (elf_backend_create_dynamic-sections,
8754 bfd_elf64_bfd_link_hash_table_create,
8755 elf_backend_adjust_dynamic_symbol,
8756 elf_backend_size_dynamic_sections,
8757 elf_backend_finish_dynamic_symbol,
8758 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
8759 elf_backend_plt_readonly, elf_backend_want_plt_sym,
8760 elf_backend_got_header_size, elf_backend_plt_header_size):
8761 Define.
8762 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
8763 * elf32-sh.c: Renumbered and renamed some SH5 relocations to
8764 match official numbers and names; moved unmaching ones to the
8765 range 0xf2-0xff.
8766 * elf32-sh64.c, elf64-sh64.c: Likewise.
9b5ecbd0 8767 2001-03-12 DJ Delorie <dj@redhat.com>
fbca6ad9
AO
8768 * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
8769 sections.
9b5ecbd0 8770 2001-03-12 DJ Delorie <dj@redhat.com>
fbca6ad9
AO
8771 * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
8772 be aligned.
8773 * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
9b5ecbd0 8774 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8775 * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
8776 (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
8777 .cranges section with SEC_SORT_ENTRIES set.
8778 (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
8779 incoming sorted .cranges section.
8780 (sh64_bfd_elf_copy_private_section_data): New.
8781 (sh64_elf_final_write_processing): Only sort .cranges and modify
8782 start address if called by linker.
8783 2001-01-08 Ben Elliston <bje@redhat.com>
8784 * elf32-sh64.c (sh64_elf_final_write_processing): Activate
9b5ecbd0 8785 Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
fbca6ad9 8786 * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
9b5ecbd0 8787 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8788 * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
8789 line. Add comments before all entries.
8790 <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
8791 comment.
8792 (sh_elf64_reloc): Correct head comment.
8793 (sh_elf64_relocate_section): Correct spacing.
8794 <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
8795 instead call reloc_dangerous callback.
8796 <case R_SH_SHMEDIA_CODE>: New case.
8797 (sh_elf64_gc_mark_hook): Correct spacing.
8798 (sh_elf64_check_relocs): Ditto.
8799 * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
8800 New case.
8801 * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
8802 functions.
8803 (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
8804 clarify describing comment. Add comments before all entries.
8805 (sh_elf_relocate_section) <relocating for a local symbol>: Do not
8806 honour STO_SH5_ISA32; instead call reloc_dangerous callback.
9b5ecbd0 8807 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8808 Sort .cranges section in final link. Prepare to set bit 0 on
8809 entry address.
8810 * elf32-sh64.c (struct sh64_find_section_vma_data): New.
8811 (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
8812 (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
8813 .cranges section.
8814 (sh64_backend_section_from_shdr): New, to recognize
8815 SHT_SH5_CR_SORTED on incoming .cranges section.
8816 (elf_backend_section_from_shdr): Define.
8817 (sh64_elf_final_write_processing): Sort outgoing .cranges
8818 section. (New, temporarily disabled:) Set bit 0 on entry address
8819 according to ISA type.
8820 (sh64_find_section_for_address): New.
8821 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
8822 crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
8823 (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
8824 bfd_malloc, not xmalloc.
8825 (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
8826 global.
8827 * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
8828 temporarily disabled) setting bit 0 on entry address.
8829 (elf_backend_final_write_processing): Define.
9b5ecbd0 8830 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8831 * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
8832 be a proper relocation for PTA and PTB rather than a marker.
8833 <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
8834 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
8835 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
8836 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
8837 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
8838 Zero src_mask.
8839 * elf64-sh64.c: Ditto.
8840 (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
8841 * elf32-sh64.c: Include opcodes/sh64-opc.h
8842 (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
8843 argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
8844 parameters. No unused parameters. Caller changed.
8845 <case R_SH_PT_16>: New case.
8846 * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
8847 * Makefile.in: Regenerate.
9b5ecbd0 8848 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8849 * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
8850 all code sections.
8851 (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
8852 (sh64_elf_merge_private_data): Ditto.
8853 * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
8854 to access stored section flags.
8855 (sh64_elf_final_write_processing): Return immediately unless
8856 called by linker. Use sh64_elf_section_data (cranges) to get size
8857 of linker-generated cranges entries.
8858 (sh64_elf_copy_private_data): Add missing "return true".
8859 (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
8860 (sh_elf64_merge_private_data): Ditto.
9b5ecbd0 8861 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8862 * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
8863 elf64-sh64.c:sh64_elf_fake_sections.
8864 (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
9b5ecbd0 8865 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8866 * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
8867 (sh64_elf_final_write_processing): New.
8868 (elf_backend_final_write_processing): Define.
8869 (sh64_elf_fake_sections): Get header flags from tdata field.
8870 (sh64_elf_copy_private_data): Do not call
8871 sh64_elf_copy_private_data_internal, just copy e_flags field.
8872 (sh64_elf_merge_private_data): Do not call
8873 sh64_elf_copy_private_data_internal.
9b5ecbd0 8874 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8875 Remove EF_SH64_ABI64, let ELF size make difference.
8876 Remove SH64-specific BFD section flag.
8877 * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
8878 containing SHmedia through elf_section_data (asect)->tdata
8879 non-zero, not using a BFD section flag.
8880 (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
8881 (sh64_elf_merge_private_data): Similar.
8882 (elf_backend_section_flags): Don't define.
8883 (sh64_elf_backend_section_flags): Delete.
8884 * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
8885 not EF_SH64_ABI64.
8886 (sh_elf64_merge_private_data): Similar.
8887 * section.c (Section flags definitions): Don't define
8888 SEC_SH_ISA_SHMEDIA.
8889 (bfd-in2.h): Regenerate.
9b5ecbd0 8890 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8891 Make DataLabel references work with partial linking.
8892 * elf32-sh64.c: Fix formatting.
8893 (sh64_elf_link_output_symbol_hook): New.
8894 (elf_backend_link_output_symbol_hook): Define to
8895 sh64_elf_link_output_symbol_hook.
8896 (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
8897 undefined if partial linking. Adjust sanity check.
8898 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
8899 (elf_backend_link_output_symbol_hook): Define to
8900 sh64_elf64_link_output_symbol_hook.
8901 (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
8902 undefined if partial linking. Adjust sanity check.
9b5ecbd0 8903 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8904 Implement semantics for inter-file DataLabel references.
8905 * elf64-sh64.c (DATALABEL_SUFFIX): Define.
8906 (sh64_elf64_add_symbol_hook): New.
8907 (sh_elf64_relocate_section): If passing an indirect symbol with
8908 st_type STT_DATALABEL on the way to a symbol with st_other
8909 STO_SH5_ISA32, do not bitor 1 to the relocation.
8910 (elf_backend_add_symbol_hook): Define to
8911 sh64_elf64_add_symbol_hook.
8912 * elf64-sh32.c: Tweak comments.
8913 (DATALABEL_SUFFIX): Define.
8914 (sh64_elf_add_symbol_hook): New.
8915 (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
8916 * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
8917 symbol with st_type STT_DATALABEL on the way to a symbol with
8918 st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
9b5ecbd0 8919 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8920 Pass through STT_DATALABEL.
8921 * elf32-sh64.c (sh64_elf_get_symbol_type): New.
8922 (elf_backend_get_symbol_type): Define.
8923 * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
8924 (elf_backend_get_symbol_type): Define.
9b5ecbd0 8925 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8926 * elf32-sh64.c: Tweak comments.
8927 (sh64_elf_copy_private_data_internal): Add prototype.
8928 (bfd_elf32_bfd_set_private_flags): Define.
8929 (sh64_elf_copy_private_data_internal): Compare machine name, not
8930 textual BFD target name, to check whether to copy section flag
8931 SHF_SH5_ISA32.
8932 (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
8933 Tweak section-contents-type-mismatch message.
8934 (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
8935 Validize reloc-types.
8936 * elf64-sh64.c: New file.
8937 * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
8938 * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
8939 (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
8940 Regenerate dependencies.
8941 * Makefile.in: Regenerate.
8942 * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
8943 bfd_elf64_sh64l_vec.
8944 * configure.in: Handle bfd_elf64_sh64_vec and
8945 bfd_elf64_sh64l_vec.
8946 * configure: Regenerate.
8947 * po/POTFILES.in: Regenerate.
8948 * po/bfd.pot: Regenerate.
9b5ecbd0 8949 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8950 * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
8951 anything else but EF_SH64 and EF_SH64_ABI64.
8952 (sh64_elf_merge_private_data): Emit error for anything else but
8953 EF_SH64 and EF_SH64_ABI64.
8954 * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
8955 from targ_selvecs.
8956 * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
8957 bfd_elf32_sh64l_vec as a temporary measure.
8958 * configure: Regenerate.
9b5ecbd0 8959 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8960 * cpu-sh.c (arch_info_struct): Include sh5 item
8961 unconditionalized.
8962 * config.bfd (sh64-*-elf*): Do not set targ_cflags.
8963 Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
8964 bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
8965 * elf32-sh64.c: Tweak comments.
8966 (sh64_elf_set_mach_from_flags): Recognize all machine flags that
8967 are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
8968 (sh64_elf_copy_private_data_internal): Wrap long line.
8969 (sh64_elf_merge_private_data): Rewrite to allow objects from
8970 SH64 subsets to be linked together.
8971 (INCLUDE_SHMEDIA): Define.
8972 * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
8973 Parenthesize plus-expression inside or-expression.
8974 <global symbol>: Ditto.
8975 (sh_elf_set_mach_from_flags): Remove code refusing
8976 deleted EF_SH64_32BIT_ABI flag.
9b5ecbd0 8977 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8978 * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
8979 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
8980 R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
8981 (sh_elf_relocate_section) <local symbol>: Or 1 in
8982 calculation of relocation if sym->st_other & STO_SH5_ISA32.
8983 <global symbol>: Ditto if h->other & STO_SH5_ISA32.
8984 * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
8985 relocation.
9b5ecbd0 8986 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
8987 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
8988 (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
8989 Regenerate dependencies.
8990 * Makefile.in: Regenerate.
8991 * archures.c: Add bfd_mach_sh5.
8992 * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
8993 Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
8994 * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
8995 * configure: Regenerate.
8996 * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
8997 BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
8998 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
8999 BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
9000 BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
9001 BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
9002 BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
9003 BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
9004 BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
9005 * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
9006 in item for SH5.
9007 * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
9008 for SHmedia relocs.
9009 [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
9010 [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
9011 shmedia_prepare_reloc, goto final_link_relocate if it returns
9012 non-zero, else fail as before.
9013 (sh_elf_set_mach_from_flags): Provide function only if not defined
9014 as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
9015 (sh_elf_set_private_flags): Provide function only if not defined
9016 as a macro.
9017 (sh_elf_copy_private_data): Similar.
9018 (sh_elf_merge_private_data): Similar.
9019 * section.c (SEC_SH_ISA_SHMEDIA): New.
9020 * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
9021 * elf32-sh64.c: New file.
9022 * libbfd.h: Regenerate.
9023 * bfd-in2.h: Regenerate.
9024 * po/POTFILES.in: Regenerate.
9025 * po/bfd.pot: Regenerate.
9026 * bfd-in2.h: Regenerate.
9027 * libbfd.h: Regenerate.
9028
e108f470
DJ
90292002-02-07 Daniel Jacobowitz <drow@mvista.com>
9030
9031 * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
9032 been included, not drag it in.
9033 * bfd-in2.h: Regenerate.
9034
259d18a3
L
90352002-02-06 H.J. Lu (hjl@gnu.org)
9036
9037 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
9038 the mach and ISA fields if necessary.
9039
f13b834e
NC
90402002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
9041
9042 * coffcode.h (coff_set_arch_mach_hook): Select the highest known
9043 ARM architecture when an F_ARM_5 flag is detected, since we cannot
9044 be sure exactly which architecture this represents.
9045
82f6addb
NC
90462002-02-05 Nick Clifton <nickc@redhat.com>
9047
9048 * po/tr.po: Updated translation.
9049
899f54f5
AM
90502002-02-05 Alan Modra <amodra@bigpond.net.au>
9051
9052 From Jimi X <jimix@watson.ibm.com>
9053 * archures (bfd_mach_ppc64): Define.
9054 (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
9055 (bfd_powerpc_arch): Define.
9056 * bfd-in2.h: Regenerate.
9057 * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
9058 (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
9059 (bfd_powerpc_archs): Add default powerpc64 arch.
9060
248866a8
AM
90612002-02-05 Alan Modra <amodra@bigpond.net.au>
9062
9063 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
9064 against section syms in readonly sections. Don't do the global
9065 sym check if we find one.
9066 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
9067 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
0a6958db 9068 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
248866a8
AM
9069 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
9070 (elf_s390_grok_prstatus): Add missing prototype.
9071
4fa5c2a8
HPN
90722002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
9073
9074 * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
9075 (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
9076 Call bfd_get_section_by_name only once. Initialize
9077 bpodata->n_bpo_relocs_this_section.
9078 (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
9079 referring to DSOs.
9080 (bpo_reloc_request_sort_fn): Don't use difference of values as
9081 return-value.
9082
537c972e
DB
90832002-02-02 David O'Brien <obrien@FreeBSD>
9084
9085 * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
9086 version 4.5 and later the same as 5-CURRENT.
9087 * configure: Re-generate.
9088
006336b8
JT
90892002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
9090
9091 * config.bfd (hppa*-*-netbsd*): New target.
9092
6c571f00
PT
90932002-01-31 Philipp Thomas <pthomas@suse.de>
9094
19397422
AM
9095 * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
9096 to front of message. Unify messages with elf32-arm.h. Use
9097 commas where neccessary.
9098 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
9099 ERROR in messages. Unify messages with coff-arm.c. Correct
9100 VFP/FPA error message.
9101 (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
9102 APCS-32 for translation.
6c571f00 9103
930b4cb2
HPN
91042002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
9105
9106 Perform on-demand global register allocation from
9107 R_MMIX_BASE_PLUS_OFFSET relocs.
9108 * elf64-mmix.c (struct bpo_reloc_section_info, struct
9109 bpo_reloc_request, struct bpo_greg_section_info): New.
9110 (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
9111 bpo_reloc_request_sort_fn, mmix_elf_relax_section,
9112 _bfd_mmix_check_all_relocs,
9113 _bfd_mmix_prepare_linker_allocated_gregs,
9114 _bfd_mmix_finalize_linker_allocated_gregs): New functions.
9115 (elf_mmix_howto_table): Correct src_mask for most relocs.
9116 (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
9117 case.
9118 (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
9119 case. Fix typo in comment. New label do_mmix_reloc.
9120 (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
9121 store first object file with a base-plus-offset reloc. Call
9122 mmix_elf_check_common_relocs for the part common with mmo.
9123 (mmix_elf_final_link): Write out linker-allocated register
9124 contents section.
9125 (elf_backend_gc_sweep_hook): Define.
9126 (bfd_elf64_bfd_relax_section): Define.
9127
9128 * mmo.c: Don't include <ctype.h>
9129 (mmo_init): Correct init-once logic.
9130
3e36d993
TR
91312002-02-01 Tom Rix <trix@redhat.com>
9132
9133 * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
9134
ba323545
AM
91352002-02-01 Alan Modra <amodra@bigpond.net.au>
9136
9137 * Makefile.am: Run "make dep-am"
9138 * Makefile.in: Regenerate.
9139
012884d6
DB
91402002-01-31 David O'Brien <obrien@FreeBSD>
9141
9142 * configure.in: Recognize the differences in core files from FreeBSD
9143 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
9144 5-CURRENT.
9145 * configure: Regenerate.
9146
3b16e843
NC
91472002-01-31 Ivan Guzvinec <ivang@opencores.org>
9148
9149 * coff-or32.c: New file.
9150 * cpu-or32.c: New file.
9151 * elf32-or32.c: New file.
9152 * archures.c: Add support for or32.
9153 * targets.c: Add support for or32.
9154 * bfd-in2.h: Regenerate.
7dc0ab31 9155 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
3b16e843
NC
9156 coff_write_object_contents): Add support for or32.
9157 * config.bfd: Add target.
9158 * configure.in: Add support for or32.
9159 * configure: Regenerate.
9160 * Makefile.am: Add support for or32.
9161 * Makefile.in: Regenerate.
3b16e843
NC
9162 * po/SRC-POTFILES.in: Add or32 files.
9163 * po/bfd.pot: Regenerate.
7dc0ab31 9164
caf8ca8e
NC
91652002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
9166 Don Lindsay <lindsayd@cisco.com>
9167
9168 * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
9169 false' with a return of a bfd_reloc_ error code.
9170
e5dfef09
HPN
91712002-01-31 Hans-Peter Nilsson <hp@axis.com>
9172
9173 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
9174 unexport unreferenced symbols when --export-dynamic. Call
9175 _bfd_elf_strtab_delref when unexporting.
9176
4e4770d0
DJ
91772002-01-30 Daniel Jacobowitz <drow@mvista.com>
9178
9179 * bfd-in.h: Include <stdbool.h> if it is available.
9180 * bfd-in2.h: Regenerated.
9181
e1fa50e7
AM
91822002-01-31 Alan Modra <amodra@bigpond.net.au>
9183
9184 * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
9185 not go via the plt.
9186
b5f79c76
NC
91872002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
9188
b5f79c76
NC
9189 * archures.c: Tidy up formatting of embedded comments.
9190 * bfd.c: Tidy up formatting of embedded comments.
7dc0ab31 9191 * bfd-in.h: Fix formatting of comments.
b5f79c76
NC
9192 * reloc.c: Tidy up formatting of ordinary & embedded comments.
9193 * section.c: Tidy up formatting of embedded comments.
9194 * syms.c: Tidy up formatting of embedded comments.
9195 * targets.c: Tidy up formatting of embedded comments.
9196
9197 * bfd-in2.h: Regenerate.
9198
ca09e32b
NC
91992002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
9200
9201 * vms-tir.c (cmd_name): New function.
9202 (tir_cmd_name): New function.
9203 (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
9204 (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
9205 Fix formatting.
7dc0ab31 9206
ca09e32b
NC
9207 * peXXigen.c (pe_print_idata): Rearrange message to aid in
9208 translation.
9b5ecbd0 9209 (pe_print_pdata): Rearrange message to aid in translation.
ca09e32b
NC
9210
9211 * libbfd.c (warn_deprecated): Rearrange error message to aid in
9212 translation.
9213
9214 * ihex.c (ihex_write_object_contents): Fix spelling typo.
9215
9216 * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
9217
9218 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
9219 message to aid in translation.
9220
9221 * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
9222 to aid in translation.
9223
9224 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
9225
7dc0ab31 92262002-01-30 Philipp Thomas <pthomas@suse.de>
ae1a89b7
PT
9227
9228 * coff-arm.c, elf32-elf.h: Unify messages.
9229
05f64ac6
NC
92302002-01-30 Nick Clifton <nickc@redhat.com>
9231
9232 * po/sv.po: Updated translation.
9233
f5a3e38a
NC
92342002-01-30 Philipp Thomas <pthomas@suse.de>
9235
9236 * dwarf2.c (read_abbrev): Use full section name in error message.
9237 (decode_line_info): Likewise.
661a3fd4
NC
9238
9239 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
9240 message.
9241
d926e03d
AM
92422002-01-30 Alan Modra <amodra@bigpond.net.au>
9243
9244 * elf64-ppc.c (func_desc_adjust): Only provide missing function
9245 descriptor symbols for undefined function code syms. Clear
9246 ELF_LINK_NON_ELF so that they can stay weak.
9247
030d18fb 92482002-01-29 Chris Demetriou <cgd@broadcom.com>
7dc0ab31 9249 Mitch Lichtenberg <mpl@broadcom.com>
030d18fb
CD
9250
9251 * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
9252 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
9253 to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
9254 generation.
9255 * bfd-in2.h: Regenerate.
9256
fcc76bea
CD
92572002-01-29 Chris Demetriou <cgd@broadcom.com>
9258
9259 * elf32-mips.c: Add additional comments about HI16 relocation
9260 processing.
9261 (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
9262 pc-relative relocations. (Reverts change made on 2001-10-31.)
9263 (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
9264 for pc-relative relocations.
9265 (mips_elf_calculate_relocation): Add a comment about a kludge
9266 in the R_MIPS_GNU_REL_HI16 handling.
9267 (_bfd_mips_elf_relocate_section): Implement that kludge;
9268 adjust pc-relative HI16 relocation for difference in HI16 and
9269 LO16 addresses, since it can't easily be done in
9270 mips_elf_calculate_relocation.
9271
f9cd9119
MS
92722002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
9273
9274 * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
9275 relocations with PC32 relocations for undefined or weak symbols.
9276 * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
9277 * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
9278
702248bb
JT
92792002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
9280
9281 * elfcore.h (elf_core_file_p): Improve comment for last change.
9282
4867be41
DJ
92832002-01-27 Daniel Jacobowitz <drow@mvista.com>
9284
9285 * configure: Regenerated.
9286
a94cef6a
JT
92872002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
9288
9289 * elfcore.h (elf_core_file_p): Set the machine architecture
9290 before processing the program headers.
9291
7562a296
HPN
92922002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
9293
966abd70
HPN
9294 * configure.in <64-bit configuration>: If using gcc, check and
9295 emit error for egcs-1.1.2.
9296 * configure: Regenerate.
9297
e8eab623
NC
92982002-01-26 Egor Duda <deo@logos-m.ru>
9299
9300 * elf.c (elfcore_grok_win32pstatus): Copy only as much information
9301 as possible to avoid stack corruption.
9302
73896efb
RH
93032002-01-26 Richard Henderson <rth@redhat.com>
9304
9305 * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
9306 for non-allocated sections.
9307
93082002-01-25 Mark Kettenis <kettenis@gnu.org>
c106e334
MK
9309
9310 * elf.c (elfcore_write_prstatus): Make sure we pass the address of
9311 prstat.pr_reg even if it is a struct.
9312
73896efb 93132002-01-25 Steve Ellcey <sje@cup.hp.com>
254ed743 9314
c5cd6d62 9315 * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
254ed743 9316
3d66c4f7
NC
93172002-01-25 Philipp Thomas <pthomas@suse.de>
9318
9319 * coffgen.c (coff_print_symbol): Don't mark info message
9320 for translation.
9321
9460ecda
NC
93222002-01-25 Nick Clifton <nickc@redhat.com>
9323
9324 * po/fr.po: Updated translation.
9325 * po/es.po: Updated translation.
9326
cc9ff76a
AM
93272002-01-25 Philipp Thomas <pthomas@suse.de>
9328
9329 * coff-alpha.c (alpha_relocate_section): Unify warning message
9330 for GP relative relocations without GP defined.
9331 * coff-mips.c (mips_relocate_section): Likewise.
9332
c68836a9
AM
93332002-01-25 Alan Modra <amodra@bigpond.net.au>
9334
9335 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
9336 unsigned overflow when new_offset < old_offset.
9337
e8eab623 93382002-01-24 Philipp Thomas <pthomas@suse.de>
391154e9
NC
9339
9340 * bfd.c (_bfd_abort): Fix typo.
9341
8ba89f17
RH
93422002-01-23 Richard Henderson <rth@redhat.com>
9343
9344 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
9345 plt entries for undefweak symbols.
9346
c6953948
NC
93472002-01-23 Steve Ellcey <sje@cup.hp.com>
9348
c5cd6d62 9349 * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
c6953948
NC
9350 (bfd_elf64_ia64_hpux_big_vec): Ditto.
9351 (bfd_elf32_h8300_vec): Ditto.
9352
41bd81ab
AM
93532002-01-23 Alan Modra <amodra@bigpond.net.au>
9354
9355 * elf64-ppc.c: Remove stale part of ABI comment.
9356 (NO_OPD_RELOCS): Define.
9357 (ppc64_elf_check_relocs): Use it.
9358 (ppc64_elf_relocate_section): Here too.
9359 (build_one_stub): Don't point function syms at the stub. Instead,
9360 hijack plt.offset.
9361 (ppc64_elf_relocate_section): Check whether REL24 relocs should
9362 really go to the stub. Make all dynamic relocs in opd against
9363 locals.
9364 (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
9365 plt.offset.
9366
f304919d
RH
93672002-01-22 Richard Henderson <rth@redhat.com>
9368
9369 * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
9370
c0ef99a7
AM
93712002-01-22 Alan Modra <amodra@bigpond.net.au>
9372
60ee0d4a
AM
9373 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
9374 TOC_BASE_OFF adjustment.
9375
c0ef99a7
AM
9376 * Makefile.am: Run "make dep-am".
9377 * Makefile.in: Regenerate.
9378 * po/SRC-POTFILES.in: Regenerate.
9379
64328b46
AM
93802002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
9381
9382 * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
9383 host defines.
9384
59953665 93852002-01-21 Hans-Peter Nilsson <hp@axis.com>
58255df3
HPN
9386
9387 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
9388 Check for and emit error if sgot is NULL at this point.
9389
9596feea
JT
93902002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
9391
9392 * config.bfd (ia64*-*-netbsd*): New target.
9393
7b45c6e1
AM
93942002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
9395
9396 * som.c (som_write_space_strings): Comment typo fix.
9397
e5094212
AM
93982002-01-21 Alan Modra <amodra@bigpond.net.au>
9399
e86ce104
AM
9400 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
9401 is_func_descriptor fields.
9402 (link_hash_newfunc): Init them.
9403 (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
9404 dot are candidates for plt entries. When processing .opd relocs,
9405 set function descriptor strings to point inside function code
9406 string, and set new ppc_link_hash_entry fields.
9407 (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
9408 (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
9409 function descriptors. It's now done in..
9410 (func_desc_adjust): New.
9411 (ppc64_elf_func_desc_adjust): New.
9412 (define elf_backend_always_size_sections): Define.
9413 (ppc64_elf_hide_symbol): New.
9414 (define elf_backend_hide_symbol): Define.
9415 (allocate_dynrelocs): Remove code looking up function descriptors
9416 as that has been done earlier.
9417 (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
9418 table.
9419 (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
9420 up function descriptor.
9421 (build_one_stub): Look up the function code sym. Check for
9422 invalid plt offsets.
9423 (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
9424 Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
9425
e5094212
AM
9426 * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
9427 boolean param.
9428 (_bfd_elf_link_hash_hide_symbol): Likewise.
9429 * elflink.h (elf_link_add_object_symbols): Adjust call to
9430 elf_backend_hide_symbol.
9431 (elf_fix_symbol_flags): Likewise.
9432 (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
9433 than bfd_alloc.
9434 * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
9435 Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
9436 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
9437 (clobber_millicode_symbols): Adjust to suit new hide_symbol.
9438 * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
9439 and adjust to suit.
9440 * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
9441 _bfd_elf_link_hash_hide_symbol rather than duplicating code.
9442 * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
9443
40b8271b
AM
94442002-01-18 Alan Modra <amodra@bigpond.net.au>
9445
9446 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
9447 dynamic function descriptor symbol, not the associated function
9448 symbol.
9449
55baa95b
EC
94502002-01-17 Eric Christopher <echristo@redhat.com>
9451
9452 * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
9453
328577ad
NC
94542002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
9455
9456 * po/bfd.pot: Regenerate.
9457 * po/fr.po: Regenerate.
9458
af746e92
AM
94592002-01-17 Alan Modra <amodra@bigpond.net.au>
9460
9461 * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
9462 Remove "Elf_Internal_Shdr *" param.
9463 (_bfd_mips_elf_section_from_bfd_section): Ditto.
9464 * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
9465 * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
9466 * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
9467 * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
9468 * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
9469 * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
9470 function to override special sections. Remove hdr arg from
9471 backend call, and don't loop.
9472
175e9962
EC
94732002-01-16 Eric Christopher <echristo@redhat.com>
9474
9475 * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
9476 on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
9477 relocations requiring gp0 and gp.
9478
96a846ea
RE
94792002-01-16 Richard Earnshaw <rearnsha@arm.com>
9480
175e9962 9481 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
96a846ea
RE
9482 EF_ARM_VFP_FLOAT.
9483 (elf32_arm_print_private_bfd_data): Likewise.
9484
af3ae48d
NC
94852002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
9486
9487 * po/tr.po: Import new version.
9488
10ed1bba
AM
94892002-01-16 Alan Modra <amodra@bigpond.net.au>
9490
9491 * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
9492 (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
9493 (ORI_R0_R0_0): Correct.
9494
5d1634d7
AM
94952002-01-16 Alan Modra <amodra@bigpond.net.au>
9496
9497 * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
9498 when plt_not_loaded.
9499 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
9500 clear .plt SEC_CODE here. Create .stub and correct .glink flags.
9501 (PLT_INITIAL_ENTRY_SIZE): Set to 24.
9502 (ppc64_elf_glink_code): Delete.
9503 (PPC64_ELF_GLINK_SIZE): Delete.
9504 (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
9505 BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
9506 ORI_R0_R0_0): Define.
9507 (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
9508 (struct ppc_link_hash_table): Add sstub and plt_overflow.
9509 (ppc64_elf_link_hash_table_create): Init them.
9510 (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
9511 Don't copy to shared lib.
9512 (ppc64_elf_check_relocs): Call bfd_set_error on errors.
9513 (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
9514 (allocate_dynrelocs <plt>): Don't change function sym here. Make
9515 room for .stub and .glink code.
9516 (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
9517 DT_PPC64_GLINK.
9518 (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
9519 bfd_elf64_bfd_final_link.
9520 (bfd_elf64_bfd_final_link): Don't define.
9521 (ppc64_elf_size_stubs): New.
9522 (build_plt_stub): New.
9523 (build_one_stub): New.
9524 (ppc64_elf_build_stubs): New.
9525 (ppc64_elf_relocate_section <toc relocs>): Remove assert.
9526 (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
9527 (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
9528 DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
9529 case output sections not separate. Adjust DT_RELASZ to not
9530 include plt relocs. Set reserved got entry. Set got and plt
9531 entry size.
9532 (elf_backend_got_header_size): Set to 8.
9533 * elf64-ppc.h: New file.
9534
c601ffdb
AM
95352002-01-16 Alan Modra <amodra@bigpond.net.au>
9536
9537 * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
9538 sections, use bfd_section_list_remove.
9539 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
9540 * elflink.h (elf_link_add_object_symbols): When removing all
9541 sections, use bfd_section_list_clear.
9542
8fb4cb7f
NC
95432002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
9544
9545 * po/sv.po: New file: Swedish translation.
9546 * configure.in (ALL_LINGUAS): Add sv.
9547 * configure: Regenerate.
9548
d3c456e9
JJ
95492002-01-15 Jakub Jelinek <jakub@redhat.com>
9550
9551 * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
9552 * elf.c (merge_sections_remove_hook): New function.
9553 (_bfd_elf_merge_sections): Pass it as 3rd argument to
9554 _bfd_merge_sections.
9555 * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
9556 * libbfd.h: Rebuilt.
9557 * merge.c (_bfd_merge_sections): Add remove_hook argument.
9558 Call remove_hook if a SEC_EXCLUDE section is encountered.
9559
1f7fd478
NC
95602002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
9561
9562 * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
9563 (xstormy16_reloc_map): Initialise new field with correct howto
9564 table.
9565 (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
9566 howto entry.
9567
b87011e9
MS
95682002-01-10 Michael Snyder <msnyder@redhat.com>
9569
9570 * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
9571 (elfcore_write_pstatus): Use long instead of pid_t;
9572 * elf-bfd.h: Change prototypes to use long instead of pid_t;
9573
175e9962 95742002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
b4db1224
JT
9575
9576 * elf.c: Update copyright years.
9577 (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
9578 and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
9579
7c76fa91
MS
95802002-01-08 Michael Snyder <msnyder@redhat.com>
9581
9582 Add capability to write corefile note sections, for gdb.
9583 * elf.c (elfcore_write_note): New function.
9584 (elfcore_write_prpsinfo): New function.
9585 (elfcore_write_prstatus): New function.
9586 (elfcore_write_pstatus): New function.
9587 (elfcore_write_prfpreg): New function.
9588 (elfcore_write_prxfpreg): New function.
97996af6 9589 * elf-bfd.h: Add prototypes for above functions.
7c76fa91 9590
e1fddb6b
AO
95912002-01-08 Alexandre Oliva <aoliva@redhat.com>
9592
9593 * elf.c (elf_fake_sections): Propagate errors from
9594 elf_backend_fake_section.
9595
8d05742f
JT
95962002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
9597
9598 * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
9599 (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
9600 (elf32-sh-nbsd.lo): New rule.
9601 * Makefile.in: Regenerate.
9602 * config.bfd (sh*le-*-netbsdelf*): New target.
9603 (sh*-*-netbsdelf*): New target.
9604 * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
9605 (bfd_elf32_shnbsd_vec): New vector.
9606 (bfd_elf32_shlnbsd_vec): New vector.
9607 * configure: Regenerate.
9608 * elf32-sh-nbsd.c: New file.
9609 * targets.c: Update copyright years.
175e9962 9610 (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
8d05742f
JT
9611 bfd_elf32_shnbsd_vec.
9612
1dba4cb4
AH
96132002-01-07 Aldy Hernandez <aldyh@redhat.com>
9614
9615 * coff-rs6000.c (READ20): Use bfd_scan_vma.
9616
47b22aef
GK
96172002-01-07 Geoffrey Keating <geoffk@redhat.com>
9618
9619 * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
9620 of a symbol in a section that will be deleted.
9621
be2d1673
NC
96222002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
9623
9624 * po/es.po: New file: Spanish translation.
9625 * configure.in (ALL_LINGUAS): Add es.
9626 * configure: Regenerate.
9627
d9cf1b54
AM
96282002-01-06 Steve Ellcey <sje@cup.hp.com>
9629
9630 * elfxx-ia64.c (is_unwind_section_name): Add target vector as
9631 argument so we can handle HP-UX specially.
9632 (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
9633 (elfNN_hpux_backend_section_from_bfd_section): New for support
9634 of SHN_IA_64_ANSI_COMMON.
9635 (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
9636 (is_unwind_section_name): Add special HP-UX support.
9637 (elfNN_ia64_section_from_shdr): Add support for more sections.
9638 (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
9639 add support for more sections.
9640 (elfNN_ia64_additional_program_headers): Modify
9641 is_unwind_section_name call.
9642 (elfNN_ia64_modify_segment_map): Remove assumption that there is
9643 only one unwind section in segment.
9644
3f3c5c34
AM
96452002-01-06 Alan Modra <amodra@bigpond.net.au>
9646
9647 * syms.c (_bfd_generic_make_empty_symbol): New function.
9648 * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
9649 _bfd_generic_make_empty_symbol.
9650 * libbfd.h: Regenerate.
9651 * bfd-in2.h: Regenerate.
9652 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
9653 (hppabsd_core_get_symtab_upper_bound): Don't define.
9654 (hppabsd_core_get_symtab): Likewise.
9655 (hppabsd_core_print_symbol): Likewise.
9656 (hppabsd_core_get_symbol_info): Likewise.
9657 (hppabsd_core_bfd_is_local_label_name): Likewise.
9658 (hppabsd_core_get_lineno): Likewise.
9659 (hppabsd_core_find_nearest_line): Likewise.
9660 (hppabsd_core_bfd_make_debug_symbol): Likewise.
9661 (hppabsd_core_read_minisymbols): Likewise.
9662 (hppabsd_core_minisymbol_to_symbol): Likewise.
9663 (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
9664 Formatting fixes.
9665 * hpux-core.c: Similarly.
9666 * irix-core.c: Similarly.
9667 * osf-core.c: Similarly.
9668 * sco5-core.c: Similarly.
9669 * binary.c (binary_make_empty_symbol): Remove function, define as
9670 _bfd_generic_make_empty_symbol.
9671 * ihex.c (ihex_make_empty_symbol): Likewise.
9672 * mmo.c (mmo_make_empty_symbol): Likewise.
9673 * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
9674 * srec.c (srec_make_empty_symbol): Likewise.
9675 * versados.c (versados_make_empty_symbol): Likewise.
9676 * vms.c (_bfd_vms_make_empty_symbol): Remove.
9677 (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
9678 * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
9679 rather than _bfd_vms_make_empty_symbol.
9680 * vms-misc.c (new_symbol): Likewise.
9681
3f0a7f7f
AM
96822002-01-05 Alan Modra <amodra@bigpond.net.au>
9683
9e7b37b3
AM
9684 * section.c (bfd_section_init): Remove unnecessary initialisations.
9685 (bfd_section_list_clear): New function.
9686 (bfd_section_list_remove, bfd_section_list_insert): New macros.
9687 (_bfd_strip_section_from_output): Use them.
9688 * coffcode.h (coff_set_alignment_hook): Likewise.
9689 * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
9690 * elf64-mips.c (mips_elf64_final_link): Likewise.
9691 * elf64-mmix.c (mmix_elf_final_link): Likewise.
9692 * sunos.c (sunos_add_dynamic_symbols): Likewise.
9693 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
9694 * bfd-in2.h: Regenerate.
9695
9696 * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
9697 rather than doing our own section handling. Clean up after errors
9698 with bfd_release and bfd_section_list_clear. Handle unexpected
9699 flags.
9700 * aoutf1.h (sunos4_core_file_p): Likewise.
9701 * aix386-core.c (aix386_core_file_p): Likewise.
9702 * cisco-core.c (cisco_core_file_validate): Likewise.
9703 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
9704 * trad-core.c (trad_unix_core_file_p): Likewise.
9705
9b5ecbd0 9706 * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
9e7b37b3
AM
9707 with bfd_release and bfd_section_list_clear.
9708 * hpux-core.c (hpux_core_core_file_p): Likewise.
9709 * irix-core.c (irix_core_core_file_p): Likewise.
9710 * lynx-core.c (lynx_core_file_p): Likewise.
9711 * osf-core.c (osf_core_core_file_p): Likewise.
9712 * rs6000-core.c (rs6000coff_core_p): Likewise.
9713 * sco5-core.c (sco5_core_file_p): Likewise.
9714
3f0a7f7f
AM
9715 * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
9716 sign extension adjustments without conditionals.
9717
a3aa38ee
JJ
97182002-01-04 Jakub Jelinek <jakub@redhat.com>
9719
9720 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
9721 CIE at .eh_frame start is removed due to no FDEs referencing it.
9722
8a8b2d4b
AJ
97232002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
9724
9725 * config.bfd (x86_64-*-netbsd*): New target.
9726 * configure.in (x86_64-*-netbsd*): Set COREFILE
9727 to netbsd-core.lo.
9728 * configure: Regenerated.
9729
04b5af89
TR
97302002-01-03 Tom Rix <trix@redhat.com>
9731
9732 * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
9733 for recent bfd_make_section_anyway change.
9734
51c5503b
NC
97352002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
9736
9737 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
9738 R_ARM_THM_PC11 reloc.
9739
07f7c046
NC
97402002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
9741
9742 * configure.in (LINGUAS): Add ja.
9743 * configure: Regenerate.
9744 * po/ja.po: Import from translation project's web site.
9745
5eefb65f
NC
97462002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
9747
9748 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
9749 messages to ease translation into other languages.
9750
39e90f10 9751For older changes see ChangeLog-0001
56882138
AM
9752\f
9753Local Variables:
9754mode: change-log
9755left-margin: 8
9756fill-column: 74
9757version-control: never
9758End:
This page took 2.083544 seconds and 4 git commands to generate.