4285f6f058b300f5c3eae105d213a15c6e3bdfd2
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2001-09-11  H.J. Lu  <hjl@gnu.org>
2
3         * inker.c (link_action): Change COMMON_ROW\defw from CREF to
4         COM.
5
6 2001-09-09  Richard Henderson  <rth@redhat.com>
7
8         * elf64-alpha.c: Delete all unused ERIC_neverdef and rth_notdef code.
9
10         * elf64-alpha.c (elf64_alpha_relax_with_lituse): Nop out gpdisp
11         following a call to a near function.
12
13 2001-09-08  Richard Henderson  <rth@redhat.com>
14
15         * elf64-alpha.c (elf64_alpha_relocate_section): Soft fail
16         relocation errors.  Fail gp-relative relocations against
17         dynamic symbols.
18
19 2001-09-08  Alan Modra  <amodra@bigpond.net.au>
20
21         * elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR
22         as well as DEF_DYNAMIC in test for avoided copy relocs.
23         (allocate_plt_and_got_and_discard_relocs): Likewise.
24         * elf32-hppa.c (elf_i386_relocate_section): Likewise.
25         (allocate_plt_and_got_and_discard_relocs): Likewise.
26
27 2001-09-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
28
29         * elf32-mips.c (mips_elf_calculate_relocation): Fix overflow handling
30         of R_MIPS_PC16.
31
32 2001-09-06  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
33
34         * elf64-mips.c (mips_elf64_howto_table_rel): Fix relocation HOWTO
35         definitions.
36         (mips_elf64_howto_table_rel): Likewise.
37
38 2001-09-05  Tom Rix <trix@redhat.com>
39
40         * xcofflink.c (bfd_xcoff_import_symbol): Handle import file XMC_XO
41         and syscall symbols.
42         (write_global_symbol) : Same.
43         (bfd_xcoff_export_symbol): Remove unused syscall param.
44         * libxcoff.h: Change prototype of bfd_xcoff_export symbol and
45         bfd_xcoff_import_symbol.
46         * bfd-in.h: Same.
47         * bfd-in2.h : Regenerate.
48
49 2001-09-04  Richard Henderson  <rth@redhat.com>
50
51         * elf64-alpha.c (SKIP_HOWTO): New.
52         (elf64_alpha_howto_table): Use it to remove dead ECOFF relocs.
53         Fix sizes of 16-bit mem format relocs.
54         (elf64_alpha_reloc_map): Update to match.
55         (elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate.
56         (elf64_alpha_relax_without_lituse): Likewise.
57         (elf64_alpha_check_relocs): Handle GPREL16.
58         (elf64_alpha_relocate_section): Likewise.
59         * reloc.c (BFD_RELOC_ALPHA_USER_*): Remove.
60         (BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New.
61         * bfd-in2.h, libbfd.h: Rebuild.
62
63 2001-09-04  Jeff Law <law@redhat.com>
64
65         * elf32-h8300.c (elf32_h8_relax_section): New function.
66         (elf32_h8_relax_delete_bytes): Likewise.
67         (elf32_h8_symbol_address_p): Likewise.
68         (elf32_h8_get_relocated_section_contents): Likewise.
69         (bfd_elf32_bfd_relax_section): Define.
70         (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
71
72         * elf32-h8300.c (special): New function.
73         (h8_elf_howto_table): Use it for SPECIAL_FUNCTION field in
74         all relocations.
75         (elf32_h8_final_link_relocate): Treat R_H8_DIR24A8 like 32bit
76         relocations.  Fix problems with the true 24bit reloc R_H8_DIR24R8.
77         Fix minor problems with 8bit and 16bit PC relative relocations.
78
79 2001-09-01  Andreas Jaeger  <aj@suse.de>
80
81         * vms-tir.c: Add missing prototypes.
82         * vms-hdr.c: Likewise.
83         * vms-gsd.c: Likewise.
84         * vms-misc.c: Likewise.
85
86 2001-08-31  H.J. Lu  <hjl@gnu.org>
87
88         * elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename
89         with bad relocation.
90
91 2001-08-31  Eric Christopher  <echristo@redhat.com>
92             Jason Eckhardt  <jle@redhat.com>
93
94         * bfd/archures.c: Add mipsisa32 and mipsisa64. Remove mips32,
95         mips32_4k and mips64.
96         * bfd/aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k,
97         bfd_mach_mips64.  Add bfd_mach_mipsisa32, bfd_mach_mipsisa64.
98         * bfd/cpu-mips.c: Ditto.
99         * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto.
100         * bfd/bfd-in2.h: Regenerate.
101
102 2001-08-31  Jakub Jelinek  <jakub@redhat.com>
103
104         * elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory
105         value into R_ALPHA_RELATIVE's addend.
106         (elf64_alpha_finish_dynamic_symbol): Likewise.
107
108 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
109
110         * elf32-arm.h (elf32_arm_relocate_section): Do not rightshift
111         recomputed addend during relocatable link if not USE_REL.
112
113         * elflink.h (elf_gc_propagate_vtable_entries_used): Fix off-by-one
114         error.
115
116 2001-08-30  H.J. Lu  <hjl@gnu.org>
117
118         * elf32-mips.c (mips_elf_calculate_relocation): Revert the last
119         2 changes.
120         (_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic
121         relocations for weak definitions.
122
123 2001-08-30  H.J. Lu  <hjl@gnu.org>
124
125         * Makefile.am (BFD32_BACKENDS): Add elf32-h8300.lo.
126         (BFD32_BACKENDS_CFILES): Add elf32-h8300.c.
127         * Makefile.in: Rebuild.
128
129 2001-08-30  H.J. Lu  <hjl@gnu.org>
130
131         * elf32-mips.c (mips_elf_calculate_relocation): Don't create
132         dynamic relocation for undefined weak symbols when creating
133         executables. Check h->root.root.type, instead of h->root.type.
134
135 2001-08-29  Joel Sherrill <joel@OARcorp.com>
136
137         * config.bfd (i[3456]86-*-rtems*, m68*-*-rtems*): Change
138         default from coff to elf.
139
140 2001-08-29  Jeff Law <law@redhat.com>
141
142         * elf32-h8300.c (h8_elf_howto_table): Add new PC relative
143         relocations.
144         (h8_reloc_map): Similarly.
145         (elf32_h8_final_link_relocate): Remove incorrect overflow tests.
146         Add support for PC relative relocations.
147
148         * elf32-h8300.c: Put all prototypes together.
149         (elf32_h8_info_to_howto): Parameter elf_reloc is used.
150         (elf32_h8_final_link_relocate): New function for linker.
151         (elf32_h8_relocate_section): Similarly.
152         (elf_backend_relocate_section): Define.
153
154         * cpu-h8300.c (h8300_scan, compatible): Prototype.
155         (h8300_scan): Handle architecture:machine encodings typically
156         found in linker scripts.
157         * elf.c (prep_headers): Do not try to do H8 machine recognition
158         here.
159         * elf32-h8300.c:  Add some missing prototypes.
160         (elf32_h8_mach, elf32_h8_final_write_processing): New functions.
161         (elf32_h8_object_p): Similarly.
162
163 2001-08-29  Tom Rix <trix@redhat.com>
164
165         * xcofflink.c (xcoff_link_add_symbols):  Fix XTY_LD symbol that
166         does not follow a XTY_SD.
167
168 2001-08-29  Alan Modra  <amodra@bigpond.net.au>
169
170         * targmatch.sed: Delete case statements.
171         * config.bfd <powerpc-*-aix* entry>: Select 64 bit xcoff for
172         aix4.3 and above.
173
174 Wed Aug 29 02:27:36 2001  J"orn Rennecke <amylaar@redhat.com>
175
176         * Makefile.am (elf32-h8300.lo): New target.
177         * config.bfd (h8300*-*-elf): New case.
178         * configure.in (bfd_elf32_h8300_vec): New case.
179         * elf.c (prep_headers): Add case for bfd_arch_h8300.
180         * reloc.c (BFD_RELOC_H8_DIR16A8): New relocation.
181         (BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise.
182         (BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise.
183         * targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration.
184         * elf32-h8300.c: New file.
185         * Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated.
186
187 2001-08-28  Nick Clifton  <nickc@cambridge.redhat.com>
188
189         * sparclynx.c: Add missing prototypes.
190         * coff-mcore.c: Add missing prototypes.
191         * elf32-pj.c: Add missing prototypes.
192         * nlm32-sparc.c: Add missing prototypes.
193         * oasys.c: Add missing prototypes.
194         * pdp11.c: Add missing prototypes.
195         * pe-mips.c: Add missing prototypes.
196         * riscix.c: Add missing prototypes.
197
198 2001-08-27  Daniel Jacobowitz  <drow@mvista.com>
199
200         * elf32-i386.c: Add missing prototypes.
201         * elf32-ppc.c: Likewise.
202         * elf32-sh-lin.c: Likewise.
203         * elfarm-nabi.c: Likewise.
204
205 2001-08-27  Daniel Jacobowitz  <drow@mvista.com>
206
207         * elf32-i386.c (elf_i386_grok_prstatus): New function.
208         (elf_i386_grok_psinfo): New function.
209         (elf_backend_grok_prstatus): Define.
210         (elf_backend_grok_psinfo): Likewise.
211         * elf32-ppc.c (ppc_elf_grok_prstatus): New function.
212         (ppc_elf_grok_psinfo): New function.
213         (elf_backend_grok_prstatus): Define.
214         (elf_backend_grok_psinfo): Likewise.
215         * elf32-sh-lin.c (elf32_shlin_grok_prstatus): New function.
216         (elf32_shlin_grok_psinfo): New function.
217         (elf_backend_grok_prstatus): Define.
218         (elf_backend_grok_psinfo): Likewise.
219         * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): New function.
220         (elf32_arm_nabi_grok_psinfo): New function.
221         (elf_backend_grok_prstatus): Define.
222         (elf_backend_grok_psinfo): Likewise.
223
224 2001-08-27  H.J. Lu  <hjl@gnu.org>
225
226         * elf32-mips.c (mips_elf_create_dynamic_relocation): Add more
227         sanity check.
228         (mips_elf_calculate_relocation): Create dynamic relocation for
229         symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR
230         bit is not set.
231
232 2001-08-27  H.J. Lu  <hjl@gnu.org>
233
234         * elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype.
235         (_bfd_mips_elf_copy_indirect_symbol): Likewise.
236         (_bfd_elf32_mips_grok_prstatus): Likewise.
237         (_bfd_elf32_mips_grok_psinfo): Likewise.
238         (_bfd_mips_elf_hide_symbol): Make it static and cast to
239         `struct mips_elf_link_hash_entry *'.
240         (_bfd_mips_elf_copy_indirect_symbol): Make it static.
241
242 2001-08-27  Nick Clifton  <nickc@cambridge.redhat.com>
243
244         * mipsbsd.c: Add missing prototypes.
245         * hp300hpux.c: Add missing prototypes.
246         * i386aout.c: Add missing prototypes.
247         * i386lynx.c: Add missing prototypes.
248         * i386mach3.c: Add missing prototypes.
249         * i386msdos.c: Add missing prototypes.
250         * i386os9k.c: Add missing prototypes.
251
252 2001-08-27  Linus Nordberg  <linus@swox.se>
253             Torbjorn Granlund  <tege@swox.com>
254             Staffan Ulfberg  <staffanu@swox.se>
255             Alan Modra  <amodra@bigpond.net.au>
256
257         * config.bfd: Add powerpc64 target.  Add powerpc64 vectors to
258         targ64_selvecs for 32 bit powerpc targets.
259         * Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo.
260         (BFD64_BACKENDS_CFILES): Add elf64-ppc.c.
261         Run "make dep-am".
262         * Makefile.in: Regenerate.
263         * configure.in: Add elf64_powerpc vecs.
264         * configure: Regenerate.
265         * cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit.
266         * elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target.
267         * targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec.
268         * elf64-ppc.c: New file.
269         * reloc.c: Add powerpc64 relocs.
270         * libbfd.h: Regenerate.
271         * bfd-in2.h: Regenerate.
272
273 2001-08-27  Andreas Schwab  <schwab@suse.de>
274
275         * elf32-m68k.c (elf32_m68k_check_relocs): Set DF_TEXTREL if the
276         reloc is against read-only section.
277         (elf32_m68k_size_dynamic_sections): Use DF_TEXTREL flag instead of
278         looking up section names for DT_TEXTREL.
279         (elf32_m68k_reloc_type_class): New function.
280         (elf_backend_reloc_type_class): Define.
281
282 2001-08-27  Andreas Jaeger  <aj@suse.de>
283
284         * elf64-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
285         reloc is against read-only section.
286         (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
287         looking up section names for DT_TEXTREL.
288         (elf_s390_reloc_type_class): New.
289         (elf_backend_reloc_type_class): Define.
290
291         * elf32-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
292         reloc is against read-only section.
293         (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
294         looking up section names for DT_TEXTREL.
295         (elf_s390_reloc_type_class): New.
296         (elf_backend_reloc_type_class): Define.
297
298         * elf32-ppc.c (ppc_elf_check_relocs): Set DF_TEXTREL if the reloc
299         is against read-only section.
300         (ppc_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
301         looking up section names for DT_TEXTREL.
302         (ppc_elf_reloc_type_class): New.
303         (elf_backend_reloc_type_class): Define.
304
305 2001-08-26  Andreas Jaeger  <aj@suse.de>
306
307         * elf32-cris.c (cris_elf_check_relocs): Set DF_TEXTREL if the
308         reloc is against read-only section.
309         (elf_cris_size_dynamic_sections): Use DF_TEXTREL flag instead of
310         looking up section names for DT_TEXTREL.
311         (elf_cris_reloc_type_class): New.
312         (elf_backend_reloc_type_class): Define.
313
314         * elf32-sh.c (sh_elf_check_relocs): Set DF_TEXTREL if the reloc is
315         against read-only section.
316         (elf_backend_reloc_type_class): Define.
317         (sh_elf_reloc_type_class): New.
318         (sh_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
319         looking up section names for DT_TEXTREL.
320
321         * elf32-arm.h (elf32_arm_check_relocs): Set DF_TEXTREL if the
322         reloc is against read-only section.
323         (elf32_arm_size_dynamic_sections): Use DF_TEXTREL flag instead of
324         looking up section names for DT_TEXTREL.
325         (elf32_arm_reloc_type_class): New.
326         (elf_backend_reloc_type_class): Define.
327
328 2001-08-25  Andreas Jaeger  <aj@suse.de>
329
330         * oasys.c: Add missing prototypes.
331
332         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Add unused
333         attribute for parameter.
334         * elf.c (_bfd_elf_reloc_type_class): Likewise.
335
336         * versados.c (get_4): Make static.
337         (get_10): Make static.
338         Add missing prototypes.
339         (process_esd): Fix call to versados_new_symbol.
340
341 2001-08-25  Nick Clifton  <nickc@cambridge.redhat.com>
342
343         * coff-a29k.c: Add missing prototypes.
344         * coff-apollo.c: Add missing prototypes.
345         * coff-arm.c: Add missing prototypes.
346         * coff-i860.c: Add missing prototypes.
347         * coff-rs6000.c: Add missing prototypes.
348         * coff-tic80.c: Add missing prototypes.
349         * elf-m10200.c: Add missing prototypes.
350         * elf-m10300.c: Add missing prototypes.
351         * elf32-arm.h: Add missing prototypes.
352         * elf32-d10v.c: Add missing prototypes.
353         * elf32-m32r.c: Add missing prototypes.
354         * elf32-mcore.c: Add missing prototypes.
355         * elf32-openrisc.c: Add missing prototypes.
356         * elf32-sh.c: Add missing prototypes.
357         * elf32-sparc.c: Add missing prototypes.
358         * elf32-v850.c: Add missing prototypes.
359         * elfarm-nabi.c: Add missing prototypes.
360         * elfarm-oabi.c: Add missing prototypes.
361
362 2001-08-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
363
364         * elf32-mips.c (elf_mips_abi_name): Return the right ABI string for
365         E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64
366
367 2001-08-24  H.J. Lu  <hjl@gnu.org>
368
369         * elf.c (_bfd_elf_merge_sections): Fail if not using an ELF
370         hash structure.
371
372 2001-08-24  Nick Clifton  <nickc@cambridge.redhat.com>
373
374         * elf-bfd.h (elf_hash_table): Revert definition.
375         (is_elf_hash_table): New macro.
376         * elflink.h (elf_link_add_object_symbols): Test
377         is_elf_hash_table before accessing ELF only fields in hash
378         structure.
379         (elf_link_create_dynamic_sections): Fail if not using an ELF
380         hash structure.
381         (elf_add_dynamic_entry): Fail if not using an ELF hash
382         structure.
383         (elf_link_record_local_dynamic_symbol): Fail if not using an
384         ELF hash structure.
385         (size_dynamic_sections): Fail if not using an ELF hash
386         structure.
387         (elf_adjust_dynamic_symbol): Fail if not using an ELF
388         hash structure.
389         (elf_bfd_final_link): Fail if not using an ELF hash
390         structure.
391
392 2001-08-24  H.J. Lu  <hjl@gnu.org>
393
394         * elf-bfd.h (elf_hash_table): Return NULL if the linker hash
395         table is not an ELF linker hash table.
396
397         * elf.c (_bfd_elf_link_hash_table_init): Set the linker hash
398         table type to bfd_link_elf_hash_table.
399
400         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Revert
401         the last change.
402
403         * linker.c (_bfd_link_hash_table_init): Set the linker hash
404         table type to bfd_link_generic_hash_table.
405
406 2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
407
408         * bfd.c (bfd_alt_mach_code): New function.
409         * bfd-in2.h: Rebuilt.
410
411 2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
412
413         * elf-m10300.c (mn10300_elf_relocate_section): Test the right
414         `type' field in the hash entry when deciding whether to follow a
415         link.
416
417 2001-08-24  Jakub Jelinek  <jakub@redhat.com>
418
419         * elflink.h (elf_link_sort_cmp1): Sort RELATIVE relocs first, not
420         last.
421         (elf_link_sort_relocs): Adjust accordingly.
422
423         * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add reltext flag.
424         (elf64_alpha_check_relocs): Set it if section this reloc is against
425         is read-only.  Set DF_TEXTREL if a RELATIVE reloc is needed against
426         read-only section.
427         (elf64_alpha_calc_dynrel_sizes): Set DF_TEXTREL flag if relocation
428         is is against read-only section.
429         (elf64_alpha_size_dynamic_sections): Use DF_TEXTREL flag, don't
430         check section names.
431         (elf64_alpha_reloc_type_class): New.
432         (elf_backend_reloc_type_class): Define.
433
434 2001-08-24  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
435
436         * linker.c (_bfd_generic_link_add_archive_symbols): Replace alloca()
437         by bfd_malloc().
438
439 2001-08-23  Andreas Jaeger  <aj@suse.de>
440
441         * elf64-x86-64.c (elf64_x86_64_check_relocs): Set DF_TEXTREL if
442         the reloc is against read-only section.
443         (elf64_x86_64_size_dynamic_sections): Use DF_TEXTREL flag instead
444         of looking up section names for DT_TEXTREL.
445         (elf64_x86_64_reloc_type_class): New.
446         (elf_backend_reloc_type_class): Define.
447
448 2001-08-23  H.J. Lu  <hjl@gnu.org>
449
450         * syms.c (bfd_print_symbol_vandf): Add abfd to arg.
451         * bfd-in2.h (bfd_print_symbol_vandf): Regenerated.
452
453         * aoutx.h (NAME(aout,print_symbol)): Pass abfd to
454         bfd_print_symbol_vandf.
455         * coffgen.c (coff_print_symbol): Likewise.
456         * elf.c (bfd_elf_print_symbol): Likewise.
457         * ieee.c (ieee_print_symbol): Likewise.
458         * nlmcode.h (nlm_print_symbol): Likewise.
459         * oasys.c (oasys_print_symbol): Likewise.
460         * pdp11.c (NAME(aout,print_symbol)): Likewise.
461         * som.c (som_print_symbol): Likewise.
462         * srec.c (srec_print_symbol): Likewise.
463         * tekhex.c (tekhex_print_symbol): Likewise.
464         * versados.c (versados_print_symbol): Likewise.
465         * vms.c (vms_print_symbol): Likewise.
466
467         * elf.c (_bfd_elf_print_private_bfd_data): Replace fprintf_vma
468         with bfd_fprintf_vma.
469         (bfd_elf_print_symbol): Likewise.
470         * syms.c (bfd_print_symbol_vandf): Likewise.
471
472 2001-08-23  Nick Clifton  <nickc@cambridge.redhat.com>
473
474         * aoutf1.h (sunos_write_object_contents): Silence compile time
475         warning.
476         * libaout.h (N_SET_DYNAMIC): Silence compile time warning.
477
478         * bout.c: Add missing function prototypes.  Fix formatting.
479         * coff-z8k.c: Add missing function prototypes.  Fix formatting.
480         * coff-w65.c: Add missing function prototypes.  Fix formatting.
481         * coff-h8500.c: Add missing function prototypes.  Fix formatting.
482         * coff-h8300.c: Add missing function prototypes.  Fix formatting.
483         * coff-tic54x.c: Add missing function prototypes.  Fix formatting.
484         * coff-tic30.c: Add missing function prototypes.  Fix formatting.
485         * coff-m68k.c: Add missing function prototypes.  Fix formatting.
486         * coff-rs6000.c: Add missing function prototypes.  Fix formatting.
487         * coff-sh.c: Add missing function prototypes.  Fix formatting.
488
489 2001-08-23  Jakub Jelinek  <jakub@redhat.com>
490
491         * elf-bfd.h (enum elf_reloc_type_class): New.
492         (struct elf_backend_data): Add elf_backend_reloc_type_class.
493         (_bfd_elf_reloc_type_class): New.
494         * elfxx-target.h (elf_backend_reloc_type_class): Define.
495         (elfNN_bed): Add elf_backend_reloc_type_class.
496         * elf.c (_bfd_elf_reloc_type_class): New.
497         * elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
498         is against read-only section.
499         (elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
500         looking up section names for DT_TEXTREL.
501         (elf_i386_reloc_type_class): New.
502         (elf_backend_reloc_type_class): Define.
503         * elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
504         reloc is against read-only section.
505         (elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
506         looking up section names for DT_TEXTREL.
507         (elf32_sparc_reloc_type_class): New.
508         (elf_backend_reloc_type_class): Define.
509         * elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
510         reloc is against read-only section.
511         (sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
512         looking up section names for DT_TEXTREL.
513         (sparc64_elf_reloc_type_class): New.
514         (elf_backend_reloc_type_class): Define.
515         * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
516         (elfNN_ia64_hash_table_create): Clear ia64_info.
517         (get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
518         section.
519         (elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
520         instead of looking up section names for DT_TEXTREL.
521         (elfNN_ia64_reloc_type_class): New.
522         (elf_backend_reloc_type_class): Define.
523         * elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
524         (struct elf_link_sort_rela): New.
525         (elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
526         (elf_bfd_final_link): Call elf_link_sort_relocs.
527         Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
528         necessary.
529
530 2001-08-23  Nick Clifton  <nickc@cambridge.redhat.com>
531
532         * configure.in (x86-bsdi): No corefile support.
533         * configure: Regenerate.
534
535 2001-08-22  Nick Clifton  <nickc@cambridge.redhat.com>
536
537         * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add missing
538         comma.
539
540 2001-08-21  Mark Elbrecht  <snowball3@bigfoot.com>
541
542         * coff-go32.c: Make DWARF2 sections use an alignment of 0.  Set
543         the alignment of dwarf2 linkonce sections to 0.
544         * coff-sto32.c: Likewise.
545
546 2001-08-20  Andreas Jaeger  <aj@suse.de>
547
548         * coff-sparc.c: Add missing prototypes.
549         * elf32-s390.c: Likewise.
550         * elf32-i960.c: Likewise.
551         * aout-target.h: Likewise.
552
553 2001-08-20  H.J. Lu  <hjl@gnu.org>
554
555         * elf-bfd.h (elf_obj_tdata): Add num_section_syms.
556         (elf_num_section_syms): New for num_section_syms.
557
558         * elf.c (elf_map_symbols): Set num_section_syms.
559         (_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for
560         the section symbol index.
561
562 2001-08-20  Nick Clifton  <nickc@cambridge.redhat.com>
563
564         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Never
565         select the generic has table creator.  All elf backends need elf
566         specific fields in the hash table.
567
568 2001-08-20  Alan Modra  <amodra@bigpond.net.au>
569
570         * archive.c (offsetof): Remove define.
571         * elf.c: Likewise.
572         * oasys.c: Likewise
573         * sysdep.h (offsetof): Define.
574
575 2001-08-17  Alan Modra  <amodra@bigpond.net.au>
576
577         * bfd.c (bfd_get_gp_size): Return an unsigned int.
578         (bfd_set_gp_size): Make param unsigned.
579         * bfd-in2.h: Regenerate.
580         * elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather
581         than calling bfd_get_gp_size.
582         * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
583         * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
584
585 2001-08-17  Alan Modra  <amodra@bigpond.net.au>
586
587         * linker.c (default_fill_link_order): Handle four byte fill value.
588
589 2001-08-17  Alan Modra  <amodra@bigpond.net.au>
590
591         * elf64-sparc.c (sparc64_elf_output_arch_syms): Add missing
592         prototype.
593         * nlm32-alpha.c (nlm_alpha_write_external): Fix warning.
594
595         * elf64-mips.c (UNUSED_RELOC): Define.
596         (mips_elf64_howto_table_rel): Use it.
597         (mips_elf64_howto_table_rela): Here too.
598         (mips_elf64_write_relocs): Fix signed/unsigned warning.
599
600         * coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to
601         silence warning.
602         * coffgen.c (coff_print_symbol): Fix warnings.
603         (coff_find_nearest_line): Likewise.
604         * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
605         * coff-alpha.c (alpha_convert_external_reloc): Likewise.
606         * format.c (bfd_check_format_matches): Likewise.
607         (bfd_set_format): Likewise.
608         * coff-ia64.c: Add missing prototypes.
609         * elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend
610         signed to silence warnings.
611         (elf64_alpha_relocate_section): Likewise.
612         (elf64_alpha_find_reloc_at_ofs): Fix warnings.
613         (elf64_alpha_add_symbol_hook): Likewise.
614         (elf64_alpha_final_link): Likewise.
615         (elf64_alpha_relax_section): Remove redundant assign to info.gotent.
616         (elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args.
617         (elf64_alpha_size_got_sections): Likewise.
618         * elfxx-ia64.c: Add missing prototypes.
619         (elfNN_ia64_relocate_section): Fix warning.
620         (elfNN_ia64_unwind_entry_compare): Make params const.
621
622 2001-08-17  Alan Modra  <amodra@bigpond.net.au>
623
624         * config.bfd (targ64_selvecs): New.
625         <powerpc-*-aix* entry>: Use it here instead of ineffectual #ifdef.
626
627         * bfd-in.h (BFD_VERSION): Remove wrong comment.
628         (BFD_DEFAULT_TARGET_SIZE): New.
629         (BFD_ARCH_SIZE): Comment.
630         * configure.in (target_size): New.  Set instead of target64 in
631         selvecs case statement.  Set target64 from it.
632         (bfd_default_target_size): New.  Set from taget_size. AC_SUBST.
633         * bfd-in2.h: Regenerate.
634         * configure: Regenerate.
635
636 2001-08-17  Alan Modra  <amodra@bigpond.net.au>
637
638         * bfd.c (enum bfd_error): Add bfd_error_wrong_object_format.
639         (bfd_errmsgs): Add corresponding message.
640         * archive.c (bfd_generic_archive_p): Don't release bfd_ardata when
641         finding an archive that contains different format object files.
642         Return bfd_error_wrong_object_format for this case.
643         * format.c: Formatting fixes.  s/CONST/const/.
644         (bfd_check_format_matches): Accept archives that give
645         bfd_error_wrong_object_format if no full match is found.  Tidy
646         code handling matching_vector.  Don't return a pointer to freed
647         memory in `matching'.  Handle ambiguous matches as for partial
648         archive matches.
649         * bfd-in2.h: Regenerate.
650
651 2001-08-15  Alan Modra  <amodra@bigpond.net.au>
652
653         * libieee.h (common_header_type): Add last_byte field.
654
655         * ieee.c: Add missing prototypes.  Some format fixes.
656         (struct output_buffer_struct): Move for availability to prototypes.
657         (ieee_part_after): New function.
658         (ieee_slurp_debug): Use it here.
659         (ieee_seek): Pass in ieee_data_struct rather than bfd.  Use
660         ieee_part_after to set last_byte to one past end of current part.
661         Update callers.
662         (ieee_pos): Pass in ieee_data_struct rather than bfd.
663         Update callers.
664         (parse_expression): Don't go beyond the end of the current part.
665         (ieee_slurp_external_symbols): Correct type passed to read_2bytes.
666         (ieee_get_symtab_upper_bound, ieee_get_symtab,
667         ieee_get_symbol_info, ieee_print_symbol, ieee_new_section_hook,
668         ieee_get_reloc_upper_bound, ieee_canonicalize_reloc, block,
669         ieee_set_section_contents, ieee_write_object_contents,
670         ieee_make_empty_symbol): Make static.
671         (ieee_archive_p): Correct comments regarding bfd_read.
672         (ieee_object_p): Similarly.
673         (ieee_mkobject): Move it.  Clear output_ptr_start, output_ptr,
674         output_ptr_end, input_ptr_start, input_ptr, input_ptr_end,
675         input_bfd, output_bfd, output_buffer.
676         (do_as_repeat): Write out ieee_set_current_pc_enum value as for
677         do_with_relocs, ie. as a symbol for relocatable files.
678         (ieee_vec): Add comments showing functions referenced by macros.
679
680 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
681
682         * aout-tic30.c: Add missing prototypes.  Fix formatting.
683         * aout-ns32k.c: Add missing prototypes.  Fix formatting.
684         * peXXigen.c: Add missining prototypes.  Fix formatting.
685         * aout-adobe.c: Add missining prototypes.  Fix formatting.
686
687 2001-08-13  Nick Clifton  <nickc@cambridge.redhat.com>
688
689         * elf32-v850.c: Add missing function prototypes.
690         Fix some formatting.
691
692         * cpu-v850.c: Add missing function prototype.
693         Fix some formatting.
694
695 2001-08-11  Nick Clifton  <nickc@cambridge.redhat.com>
696
697         * elf-bfd.h (struct elf_backend_data): Add new fields
698         'elf_backend_sprintf_vma' and 'elf_backend_fprintf_vma'.
699         (bfd_elf_sprintf_vma): Rename function prototype to
700         '_bfd_elf_sprintf_vma'.
701         (bfd_elf_fprintf_vma): Rename function prototype to
702         '_bfd_elf_fprintf_vma'.
703         * bfd.c (bfd_sprintf_vma): Do not invoke bfd_elf_sprintf_vma
704         directly, instead indirect via the elf_backend_data structure.
705         (bfd_fprintf_vma): Do not invoke bfd_elf_fprintf_vma directly,
706         instead indirect via the elf_backend_data structure.
707         * elf.c (bfd_elf_sprintf_vma): Rename to _bfd_elf_sprintf_vma.
708         (bfd_elf_fprintf_vma): Rename to _bfd_elf_fprintf_vma.
709         * elfxx-target.h (elf_backend_sprintf_vma): Initialise if not
710         already defined.
711         (elf_backend_fprintf_vma): Initialise if not already defined.
712         (struct elf_backend_data): Initialise the
713         elf_backend_sprintf_vma and elf_backend_fprintf_vma fields.
714
715 2001-08-10  Andreas Jaeger  <aj@suse.de>
716
717         * elf64-sparc.c: Add missing prototypes.
718         * elf32-cris.c: Likewise.
719         * elf32-i370.c: Likewise.
720         * elf64-hppa.c: Likewise.
721         * elf64-s390.c: Likewise.
722
723 2001-08-10  Andreas Jaeger  <aj@suse.de>
724
725         * elf64-x86-64.c (elf64_x86_64_elf_object_p): Make static.
726         Add prototypes where needed.
727
728 2001-08-10  H.J. Lu  <hjl@gnu.org>
729
730         * bfd.c (bfd_sprintf_vma): Fix a typo in the last change.
731         (bfd_fprintf_vma): Likewise.
732
733 2001-08-10  H.J. Lu  <hjl@gnu.org>
734
735         * bfd.c (bfd_sprintf_vma): Don't return void.
736         (bfd_fprintf_vma): Likewise.
737
738 2001-08-10  Andreas Jaeger  <aj@suse.de>
739
740         * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
741         to build warnings.
742         * configure: Regenerate.
743
744 2001-08-10  Alan Modra  <amodra@bigpond.net.au>
745
746         * elf.c (bfd_elf_sprintf_vma): Add ATTRIBUTE_UNUSED to quiet
747         warning if not BFD64.  Add braces so emacs auto format works.
748         (bfd_elf_fprintf_vma): Likewise.
749
750         * libxcoff.h (struct xcoff_backend_data_rec): Constify src param
751         of _xcoff_swap_ld*.
752         * coff-rs6000.c (xcoff_swap_ldhdr_in): Modify type of external
753         param to agree with libxcoff.h.
754         (xcoff_swap_ldhdr_out): Likewise.
755         (xcoff_swap_ldsym_in): Likewise.
756         (xcoff_swap_ldsym_out): Likewise.
757         (xcoff_swap_ldrel_in): Likewise.
758         (xcoff_swap_ldrel_out): Likewise.
759         (xcoff_create_csect_from_smclas): Likewise.
760         * coff64-rs6000.c: Add missing prototypes.
761         (xcoff64_swap_ldhdr_in): Modify type of external param to agree
762         with libxcoff.h.
763         (xcoff64_swap_ldhdr_out): Likewise.
764         (xcoff64_swap_ldsym_in): Likewise.
765         (xcoff64_swap_ldsym_out): Likewise.
766         (xcoff64_swap_ldrel_in): Likewise.
767         (xcoff64_swap_ldrel_out): Likewise.
768         (xcoff64_ppc_relocate_section): Make static.
769         (xcoff64_slurp_armap): Likewise.
770         (xcoff64_archive_p): Likewise.
771         (xcoff64_openr_next_archived_file): Likewise.
772         (xcoff64_sizeof_headers): Likewise.
773         (xcoff64_is_lineno_count_overflow): Likewise.
774         (xcoff64_is_reloc_count_overflow): Likewise.
775         (xcoff64_loader_symbol_offset): Likewise.
776         (xcoff64_loader_reloc_offset): Likewise.
777         * elf64-gen.c: Add missing prototypes.
778
779 2001-08-09  H.J. Lu  <hjl@gnu.org>
780
781         * elf.c (bfd_elf_sprintf_vma): Check ELFCLASS64 only in BFD64.
782         (bfd_elf_fprintf_vma): Likewise.
783
784 2001-08-09  H.J. Lu  <hjl@gnu.org>
785
786         * bfd-in.h (bfd_elf_sprintf_vma, bfd_elf_fprintf_vma): Moved
787         to ...
788         * elf-bfd.h: Here.
789         * bfd-in2.h: Regenerated.
790
791 2001-08-09  H.J. Lu  <hjl@gnu.org>
792
793         * bfd-in.h (bfd_sprintf_vma): New prototype.
794         (bfd_fprintf_vma): Likewise.
795         (bfd_elf_sprintf_vma): Likewise.
796         (bfd_elf_fprintf_vma): Likewise.
797         (bfd_printf_vma): New. Defined with bfd_fprintf_vma.
798         * bfd-in2.h: Regenerated.
799
800         * bfd.c (bfd_sprintf_vma): New. Defined.
801         (bfd_fprintf_vma): Likewise.
802
803         * elf.c (bfd_elf_sprintf_vma): New. Defined.
804         (bfd_elf_fprintf_vma): Likewise.
805
806 2001-08-09  Alan Modra  <amodra@bigpond.net.au>
807
808         * coff-rs6000.c: Add missing prototypes.
809         (xcoff_ppc_relocate_section, xcoff_is_lineno_count_overflow,
810         xcoff_is_reloc_count_overflow, xcoff_loader_symbol_offset,
811         xcoff_loader_reloc_offset): Make static.
812         * dwarf1.c: Add missing prototypes.
813         * dwarf2.c: Add missing prototypes.
814         (struct abbrev_info): Move definition.
815         (struct attr_abbrev, ABBREV_HASH_SIZE, ATTR_ALLOC_CHUNK): Likewise.
816         * elf.c: Add missing prototypes.
817         * elf32-gen.c: Likewise.
818         * elf32-i386.c: Likewise.
819         * elf32-ppc.c: Likewise.
820         (ppc_elf_sort_rela): Use PTR instead of "void *".
821         * elflink.h: Add missing prototypes.  Formatting fixes.
822         * merge.c: Add missing prototypes.
823         (last4_eq): Use PTR instead of "void *".
824         (last_eq): Likewise.
825         * syms.c: Add missing prototypes.
826
827 2001-08-09  Nick Clifton  <nickc@cambridge.redhat.com>
828
829         * bfd.c: Fix formatting.
830         * bfd-in2.h: Regenerate.
831
832 2001-08-09  Nick Clifton  <nickc@cambridge.redhat.com>
833
834         * elf32-arc.c (R_ARC_B22_PCREL): Change 'partial_inplace' to
835         true (this target uses REL relocations) and 'pcrel_offset' to
836         false (the PC is implied, not stored in the offset).
837
838 2001-08-08  Alan Modra  <amodra@bigpond.net.au>
839
840         1999-10-19  Linus Nordberg  <linus@swox.se>
841         * elf-bfd.h (struct elf_backend_data): Add want_got_sym.
842         * elfxx-target.h (elf_backend_want_got_sym): Define.
843         (elfNN_bed): Add elf_backend_want_got_sym.
844         * elflink.c (_bfd_elf_create_got_section): Define
845         _GLOBAL_OFFSET_TABLE_ only if bed->want_got_sym.
846
847 2001-08-08  Alexandre Oliva  <aoliva@redhat.com>
848
849         * dwarf2.c (struct dwarf2_debug): Add sec, sec_info_ptr and syms.
850         (find_rela_addend): New function.
851         (parse_comp_unit): Call it to find the abbrev offset addend.
852         (_bfd_dwarf2_find_nearest_line): Initialize and maintain the new
853         members of dwarf2_debug as debugging information is read.
854
855 2001-08-07  Nick Clifton  <nickc@cambridge.redhat.com>
856
857         * coff-sh.c (sh_coff_reloc_type_lookup): Provide for sh-coff
858         targets as well as sh-pe.
859
860 2001-08-03  Ben Harris <bjh21@netbsd.org>
861
862         * elf32-arm.h (elf32_arm_final_link_relocate): Include offset of
863         reloc from start of section when computing value for R_ARM_REL32
864         reloc.
865
866 2001-08-03  Alan Modra  <amodra@bigpond.net.au>
867
868         From  H.J. Lu  <hjl@gnu.org>
869         * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Don't
870         keep relocs for undefined syms if there are no dynamic sections in
871         executable.
872         * elf32-hppa.c (allocate_plt_and_got_and_discard_relocs): Likewise.
873
874 2001-08-02  Paul Sokolovsky  <paul.sokolovsky@technologist.com>
875
876         * cofflink.c (coff_link_check_ar_symbols): also search for
877         __imp__symbol as well as _symbol.
878         * linker.c (_bfd_generic_link_add_archive_symbols): also
879         search for __imp__symbol as well as _symbol.
880
881 2001-08-01  Adam Nemet  <anemet@lnxw.com>
882
883         * elf.c (elf_sort_sections): Return zero only as the last step.
884
885 2001-08-01  Nick Clifton  <nickc@cambridge.redhat.com>
886
887         * config.bfd (arm-vxworks): Change name of define from VXWORKS to
888         ARM_COFF_BUGFIX.
889         (arm-epoc-pe): Define ARM_COFF_BUGFIX.
890         coff-arm.c (coff_arm_relocate_section): Replace VXWORKS with
891         ARM_COFF_BUGFIX.
892
893 2001-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
894
895         * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Changed return type
896         to match corresponding bfd_coff_backend data member.
897
898 2001-07-24  Alan Modra  <amodra@bigpond.net.au>
899
900         * Makefile.am: Update dependencies with "make dep-am".
901         * Makefile.in: Regenerate
902
903 2001-07-15  H.J. Lu  <hjl@gnu.org>
904
905         * Makefile.am (po/SRC-POTFILES.in): Use tmp.src instead of tmp.
906         (po/BLD-POTFILES.in): Use tmp.bld instead of tmp.
907         * Makefile.in: Regenerate.
908
909 2001-07-11  H.J. Lu  <hjl@gnu.org>
910
911         * elf64-alpha.c (elf64_alpha_check_relocs): Set the ALLOC|LOAD
912         flags when creating the reloc section if the ALLOC flag in the
913         source section is set.
914
915 2001-07-11  Steve Ellcey  <sje@cup.hp.com>
916
917         * reloc.c (bfd_reloc_code_type): Add IA64 relocs
918         BFD_RELOC_IA64_LTOFF_FPTR32MSB and BFD_RELOC_IA64_LTOFF_FPTR32LSB
919         * bfd-in2.h: Regenerate.
920         * libbfd.h: Regenerate.
921         * elfxx-ia64.c (ia64_howto_table): Define how to handle
922         new relocations.
923         (elfNN_ia64_reloc_type_lookup): Handle new relocations.
924         (elfNN_ia64_check_relocs): Likewise.
925         (elfNN_ia64_install_value): Likewise.
926         (elfNN_ia64_relocate_section): Likewise.
927
928 2001-07-11  Jakub Jelinek  <jakub@redhat.com>
929
930         * elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove support for
931         R_SPARC_UA64.
932         (elf32_sparc_check_relocs): Likewise.
933         Only create .rela section for alloced sections in shared libraries.
934         (elf32_sparc_relocate_section): Likewise.
935         Remove redundant check.
936         Optimize unaligned reloc usage.
937         * elf64-sparc.c (sparc64_elf_relocate_section): Remove redundant
938         check.
939
940 2001-07-11  H.J. Lu  <hjl@gnu.org>
941
942         * elf64-alpha.c (elf64_alpha_check_relocs): Only use the same
943         ALLOC|LOAD flags as the source section for debugging sections
944         when creating the reloc section.
945
946 2001-07-05  Jim Wilson  <wilson@redhat.com>
947
948         * linker.c (_bfd_generic_link_add_one_symbol, case BIG): Use
949         the section of the bigger symbol.
950
951         * syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM.
952
953 2001-07-05  Nick Clifton  <nickc@cambridge.redhat.com>
954
955         * peicode.h (coff_swap_scnhdr_in): For sections containing
956         uninitialised data, only set their size to s_paddr if this does
957         not reset their size to zero.  MS's latest compilers will set
958         s_paddr to zero.
959
960 2001-07-04  H.J. Lu  <hjl@gnu.org>
961
962         * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing):
963         Handle bfd_mach_mips4400, bfd_mach_mips4600 and
964         bfd_mach_mips5000.
965
966 2001-07-03  Mark Elbrecht  <snowball3@softhome.net>
967
968         * bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets.
969
970         * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from
971         sections being discarded.
972
973 2001-06-30  Alan Modra  <amodra@bigpond.net.au>
974
975         * elfcore.h (elf_core_file_p): Call bfd_section_from_phdr directly
976         instead of _bfd_elfcore_section_from_phdr.
977         * elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove.
978         * elf.c (_bfd_elfcore_section_from_phdr): Remove.
979         (_bfd_elfcore_make_pseudosection): Expedite tail-call.
980         (elfcore_grok_prstatus): Likewise.
981         (elfcore_grok_lwpstatus): Likewise.
982         (bfd_get_elf_phdr_upper_bound): Likewise.
983         (elfcore_make_note_pseudosection): Formatting.
984         (_bfd_elfcore_strndup): Formatting.
985         * elf32-mips.c (mips_elf_sym_is_global): Formatting.
986         (_bfd_elf32_mips_grok_prstatus): Expedite tail-call.
987
988 2001-06-29  Daniel Jacobowitz  <drow@mvista.com>
989
990         * elf-bfd.h: Add prototypes for _bfd_elfcore_make_pseudosection
991         and _bfd_elfcore_strndup.
992         (struct elf_backend_data): Add elf_backend_grok_prstatus
993         and elf_backend_grok_psinfo.
994         * elf.c (_bfd_elfcore_make_pseudosection): New function.
995         (elfcore_grok_prstatus): Use it.
996         (elfcore_make_note_pseudosection): Likewise.
997         (elfcore_strndup):  Rename to...
998         (_bfd_elfcore_strndup): Here, and make global.
999         (elfcore_grok_psinfo): Use _bfd_elfcore_strndup.
1000         (elfcore_grok_note): Call elf_backend_grok_prstatus
1001         and elf_backend_grok_psinfo if available.
1002         * elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function.
1003         (_bfd_elf32_mips_grok_psinfo): New function.
1004         (elf_backend_grok_prstatus): Define.
1005         (elf_backend_grok_psinfo): Define.
1006         * elfxx-target.h (elf_backend_grok_prstatus): Default to NULL.
1007         (elf_backend_grok_psinfo): Likewise.
1008         (elfNN_bed): Include elf_backend_grok_prstatus and
1009         elf_backend_grok_psinfo.
1010
1011 2001-06-29  H.J. Lu  <hjl@gnu.org>
1012
1013         * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if
1014         hplink->sgot is NULL before filling GOT.  Check if hplink->splt
1015         is NULL before filling PLT.
1016
1017 2001-06-29  Alan Modra  <amodra@bigpond.net.au>
1018
1019         * elflink.h (elf_link_output_extsym): Revert 1999-04-10.
1020
1021 2001-06-27  Alan Modra  <amodra@bigpond.net.au>
1022
1023         * elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
1024         here..
1025         (elf32_hppa_adjust_dynamic_symbol): ..nor here..
1026         (allocate_plt_and_got_and_discard_relocs): .. instead do so here
1027         after gc has run.
1028
1029         * elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
1030         (IS_ABSOLUTE_RELOC): Define.
1031         (elf32_hppa_link_hash_entry): Always include reloc_entries field.
1032         (hppa_link_hash_newfunc): Always init it.
1033         (elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
1034         create COPY relocs only when the reloc is in a read-only section.
1035         Instead, allocate space for a dynamic reloc to reference the
1036         library symbol directly.  Keep track of space we allocate using
1037         relocs_entries.
1038         (hppa_discard_copies): Delete, and move code to..
1039         (allocate_plt_and_got): ..here.  Rename to
1040         allocate_plt_and_got_and_discard_relocs.  Remove unneeded dynamic
1041         relocs for non-shared link.
1042         (elf32_hppa_size_dynamic_sections): Update calls to above.
1043         (elf32_hppa_relocate_section): Write out the dynamic relocs used
1044         in lieu of COPY relocs.
1045
1046         * elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic
1047         here..
1048         (elf_i386_adjust_dynamic_symbol): ..nor here..
1049         (allocate_plt_and_got_and_discard_relocs): .. instead do so here
1050         after gc has run.
1051         (elf_i386_size_dynamic_sections): Fix a comment.
1052         (elf_i386_relocate_section <R_386_32, R_386_PC32>): Rearrange code
1053         involved in writing reloc out.
1054
1055 2001-06-25  Alan Modra  <amodra@bigpond.net.au>
1056
1057         * elf32-i386.c (elf_i386_check_relocs <R_386_32, R_386_PC32>):
1058         Ensure syms are dynamic if we might be emitting a reloc.
1059         (allocate_plt_and_got_and_discard_relocs): Don't discard relocs
1060         for undefweak or undefined syms..
1061         (elf_i386_relocate_section <R_386_32, R_386_PC32>): .. and emit.
1062
1063         * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Discard
1064         relocs without ELF_LINK_HASH_DEF_DYNAMIC set.
1065         (elf_i386_relocate_section <R_386_32, R_386_PC32>): Remove
1066         redundant bfd_link_hash_defined, bfd_link_hash_defweak test.
1067
1068 2001-06-24  H.J. Lu  <hjl@gnu.org>
1069
1070         * cpu-i960.c (scan_960_mach): Don't modify const char *. Use
1071         strncasecmp/strcasecmp instead of strncmp/strcmp.
1072
1073 2001-06-23  H.J. Lu  <hjl@gnu.org>
1074
1075         * elf32-i386.c (elf_i386_relocate_section <R_386_32, R_386_PC32>):
1076         Check ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined
1077         in the regular object file and treat the weak definition as
1078         the normal one.
1079
1080 2001-06-23  Alan Modra  <amodra@bigpond.net.au>
1081
1082         * elf32-i386.c (elf_i386_relocate_section <R_386_GOT32>): Tighten
1083         unresolved_reloc test to exclude cases where we use "relocation"
1084         before setting it to point into the .got.  Reinstate fudge for
1085         unresolved relocs in debugging sections.
1086
1087         * elf32-i386.c (elf_i386_relocate_section): Replace ugly
1088         complicated tests for unresolvable relocs with a simple direct
1089         scheme using "unresolved_reloc" var.
1090
1091         * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename to
1092         elf_i386_dyn_relocs.  Update comment.
1093         (struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to
1094         dyn_relocs.
1095         (elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change
1096         others to aborts.
1097         (allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with
1098         abort.
1099         (elf_i386_size_dynamic_sections): Likewise.
1100         (elf_i386_finish_dynamic_symbol): Likewise.
1101         (elf_i386_finish_dynamic_sections): Likewise.
1102         (elf_i386_relocate_section): Likewise.  Tidy R_386_GOT32 and error
1103         handling code.
1104
1105         Avoid creating COPY relocs if possible.
1106         * elf32-i386.c (elf_i386_check_relocs): Tweak condition under
1107         which .got created.  Mark symbols used by R_386_32 and R_386_PC32
1108         relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the
1109         reloc is in a read-only section.  Instead, allocate space for a
1110         dynamic reloc to reference the library symbol directly.  Keep
1111         track of space we allocate using pcrel_relocs_copied.
1112         (discard_copies): Delete, and move code to ..
1113         (allocate_plt_and_got): ..here.  Rename to
1114         allocate_plt_and_got_and_discard_relocs.  Remove unneeded dynamic
1115         relocs for non-shared link.
1116         (elf_i386_size_dynamic_sections): Update calls to above functions.
1117         (elf_i386_relocate_section): Write out the dynamic relocs.  Add
1118         more ugly logic to avoid "unresolvable relocation" error.  Use
1119         htab shortcut in place of elf_hash_table macro.
1120         (elf_i386_finish_dynamic_sections): Allow that dynamic .got may
1121         not always be created now.
1122
1123 2001-06-20  Bo Thorsen  <bo@suse.co.uk>
1124
1125         * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of
1126         shared libraries.
1127
1128 2001-06-18  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1129
1130         * configure.host (mips64-*-linux): Reformat.
1131
1132 2001-06-21  Alan Modra  <amodra@bigpond.net.au>
1133
1134         * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always
1135         allocate local .got space.  Use shortcuts from hash table for .got
1136         and .plt rather than comparing section names.
1137         (elf32_hppa_check_relocs): Use local_plt_refcounts var rather than
1138         adjusting index into local_got_refcounts to document what we are
1139         really doing.
1140         (elf32_hppa_relocate_section): Similarly for local_plt_offsets.
1141         Tidy .got and .plt error checking.
1142
1143 2001-06-20  Catherine Moore  <clm@redhat.com>
1144
1145         * elf-bfd.h (struct elf_backend_data):
1146         elf_backend_emit_relocs: New field: Function for emitting
1147         relocs.
1148         elf_backend_count_relocs: New field: Function for determining
1149         the number of relocs to be emitted.
1150         * elfxx-target.h: Provide default (NULL) values for
1151         elf_backend_emit_relocs and elf_backend_count_relocs.
1152         * elflink.h (elf_link_size_reloc_section): Make the hash table
1153         big enough to hold the relocs counted by either reloc_count or
1154         o->reloc_count.
1155         (elf_bfd_final_link) emit_relocs: New boolean, set if relocs
1156         should be emitted, either because of a command line option
1157         stored in the info structure or because the target provides a
1158         special reloc emitting function.
1159         If the target provides a reloc counting function use it,
1160         unless performing a relocatable link or emitting all relocs.
1161         Also set the SEC_RELOC flag on any output section which will
1162         contain relocs.
1163         (elf_link_input_bfd): emit_relocs: New boolean, set if relocs
1164         should be emitted, either because of a command line option
1165         stored in the info structure or because the target provides a
1166         special reloc emitting function.
1167         If the target provides a reloc emitting function, use it,
1168         unless performing a relocatable link or emitting all relocs.
1169
1170 2001-06-20  H.J. Lu  <hjl@gnu.org>
1171
1172         * elf32-i386.c (elf_i386_size_dynamic_sections): Always
1173         allocate local .got space.
1174
1175 2001-06-19  Andreas Jaeger  <aj@suse.de>
1176
1177         * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix creation of
1178         dynamic symbols.
1179
1180 2001-06-18  Hans-Peter Nilsson  <hp@axis.com>
1181
1182         * elflink.h (struct elf_assign_sym_version_info): Remove member
1183         export_dynamic.  All users changed to use info member.
1184         NAME(bfd_elf,size_dynamic_sections)): Remove parameter
1185         export_dynamic, instead use member in parameter info.
1186         * bfd-in.h (bfd_elf32_size_dynamic_sections,
1187         bfd_elf64_size_dynamic_sections): Update prototype.
1188         * bfd-in2.h: Regenerate.
1189
1190 2001-06-18  H.J. Lu  <hjl@gnu.org>
1191
1192         * elflink.h (elf_info_failed): Add a new field, verdefs.
1193         (NAME(bfd_elf,size_dynamic_sections): Pass verdefs to
1194         elf_export_symbol.
1195         (elf_export_symbol): Check eif->verdefs to decide if a symbol
1196         should be exported.
1197
1198 2001-06-17  H.J. Lu  <hjl@gnu.org>
1199
1200         * elf32-mips.c (mips_elf_link_hash_entry): Add a new field,
1201         readonly_reloc, to record if a relocation in the .rel.dyn
1202         section is against a read-only section.
1203         (mips_elf_link_hash_newfunc): Initialize the readonly_reloc
1204         field to false.
1205         (_bfd_mips_elf_check_relocs): Record if there is a relocation
1206         in the .rel.dyn section against a read-only section by setting
1207         DF_TEXTREL or readonly_reloc.
1208         (_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if
1209         it is true.
1210         (_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if
1211         there is a relocation in the .rel.dyn section against a
1212         read-only section.
1213         (_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if
1214         DF_TEXTREL is set.
1215
1216 2001-06-12  Nick Clifton  <nickc@cambridge.redhat.com>
1217
1218         * coffcode.h (styp_flags_to_sec_flags): Change to a boolean
1219         function.  Move flagword result into parameter list.  Remove
1220         comment about setting bfd_error_handler to intercept failure
1221         results.
1222         * coffgen.c (make_a_section_from_file): Examine result of
1223         calling bfd_coff_styp_to_sec_flags and pass a failure back to
1224         caller.
1225         * ecoff.h (styp_flags_to_sec_flags): Change to a boolean
1226         function.  Move flagword result into parameter list.
1227         * libcoff.h: Regenerate.
1228         * libecoff.h: Regenerate.
1229
1230 2001-06-13  Nick Clifton  <nickc@cambridge.redhat.com>
1231
1232         * aoutx.h (adjust_z_magic): Only pad the tesxt section if the data
1233         section is going to follow it.
1234
1235 2001-06-12  Catherine Moore  <clm@redhat.com>
1236
1237         * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN
1238         with the file_align entry from elf_backend_data.
1239         (elf_gc_smash_unused_vtentry_relocs): Likewise.
1240         (elf_gc_record_vtentry): Likewise.
1241
1242 2001-06-10  Alan Modra  <amodra@bigpond.net.au>
1243
1244         * elflink.h: Whitespace changes.
1245         (elf_link_read_relocs_from_section): Use "unsigned int" iterator
1246         rather than "unsigned char".
1247         (elf_link_output_relocs): Likewise.
1248         (elf_link_input_bfd): Likewise.
1249         (elf_reloc_link_order): LIkewise.
1250         * elf.c: s/CONST/const/.  Whitespace changes.
1251         * elf32-mips.c: Formatting fix.
1252
1253         * Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h.
1254         * Makefile.in: Regenerate.
1255         * po/Make-in: Remove trailing tab.
1256
1257 2001-06-09  Philip Blundell  <philb@gnu.org>
1258
1259         * elf32-arm.h (elf32_arm_plt0_entry): Correct error in last
1260         change.
1261         (elf32_arm_plt_entry): Likewise.
1262
1263 2001-06-08  H.J. Lu  <hjl@gnu.org>
1264
1265         * elf.c (swap_out_syms): Keep names for global section symbols.
1266
1267 2001-06-07  H.J. Lu  <hjl@gnu.org>
1268
1269         * config.bfd: Put back ecoff for Linux/mips. Firmwares on some
1270         MIPS-based machines need it.
1271
1272 2001-06-07  H.J. Lu  <hjl@gnu.org>
1273
1274         * elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab
1275         for SGI only.
1276
1277         * config.bfd: Remove ecoff from Linux/mips.
1278
1279 2001-06-07  Andreas Jaeger  <aj@suse.de>
1280
1281         * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Add an
1282         assertion.
1283         (elf64_x86_64_check_relocs): Fix VTENTRY relocation; set an
1284         alignment of 8 for .rela sections; handle further relocations.
1285
1286 2001-06-06  Christian Groessler <cpg@aladdin.de>
1287
1288         * coff-z8k.c: Fix formatting.
1289         Fix howtos: howto->size was always 1.
1290
1291 2001-06-05  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
1292
1293         * configure.host (mips64*-*-linux*): Define.
1294
1295 2001-06-05  Alan Modra  <amodra@bigpond.net.au>
1296
1297         * elf32-i386.c (elf_i386_discard_copies): Rename to
1298         discard_copies, and use elf_link_hash_entry arg rather than
1299         elf_i386_link_hash_entry.
1300         (elf_i386_link_hash_traverse): Delete.
1301         (elf_i386_size_dynamic_sections): Adjust call to discard_copies.
1302         Tidy sizing of dynamic sections.
1303         (elf_i386_check_relocs <R_386_32, R_386_PC32>): Reference count
1304         possible .plt entries.
1305         (elf_i386_gc_sweep_hook): Likewise.
1306         (elf_i386_adjust_dynamic_symbol): Discard .plt entries for
1307         everything with plt.refcount <= 0.
1308
1309         * elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and
1310         .relgot space here.
1311         (elf_i386_gc_sweep_hook): ..and no need to deallocate here..
1312         (elf_i386_adjust_dynamic_symbol): ..and don't allocate .plt and
1313         .rel.plt here..
1314         (allocate_plt_and_got): ..instead do it all here.  New function.
1315         (elf_i386_size_dynamic_sections): Allocate local .got space and
1316         call allocate_plt_and_got.  No need to zap .relgot if not dynamic.
1317         (bfd_elf32_bfd_final_link): Delete.  (ie. use regular final link
1318         rather than gc variety).
1319         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1320         (elf_i386_relocate_section): Use it here and correct handling of
1321         R_386_GOT32.  Provide section and offset for "unresolvable
1322         relocation" error message.
1323         (elf_i386_finish_dynamic_symbol): Correct handling of R_386_GOT32.
1324
1325         * elf32-i386.c (struct elf_i386_link_hash_table): Add sgot,
1326         sgotplt, srelgot, splt, srelplt, sdynbss, srelbss fields.
1327         (elf_i386_link_hash_table_create): Init them.
1328         (create_got_section): New function.
1329         (elf_i386_create_dynamic_sections): New function.
1330         (elf_backend_create_dynamic_sections): Set to above.
1331         (elf_i386_check_relocs): Use shortcuts from hash table rather than
1332         calling bfd_get_section_by_name.
1333         (elf_i386_gc_sweep_hook): Likewise.
1334         (elf_i386_adjust_dynamic_symbol): Likewise.
1335         (elf_i386_size_dynamic_sections): Likewise.
1336         (elf_i386_relocate_section): Likewise.
1337         (elf_i386_finish_dynamic_sections): Likewise.
1338
1339         * elf32-hppa.c (allocate_plt_and_got): Skip indirect and warning syms.
1340
1341 2001-06-02  H.J. Lu  <hjl@gnu.org>
1342
1343         * elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX
1344         and ELFOSABI_HPUX.
1345         * elf64-hppa.c (elf64_hppa_object_p): Likewise.
1346
1347 2001-06-02  H.J. Lu  <hjl@gnu.org>
1348
1349         * aout-cris.c (MACHTYPE_OK): New. Defined.
1350
1351 2001-06-02  Hans-Peter Nilsson  <hp@axis.com>
1352
1353         * section.c (_bfd_strip_section_from_output): Handle NULL
1354         output_section.
1355
1356 2001-06-02  H.J. Lu  <hjl@gnu.org>
1357
1358         * config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add
1359         rs6000coff64_vec only if BFD64 is defined.
1360         (powerpc64-*-aix*): Enable only if BFD64 is defined.
1361
1362 2001-06-02  H.J. Lu  <hjl@gnu.org>
1363
1364         * coff-ia64.c (ia64coff_object_p): Rewrite with
1365         external_PEI_DOS_hdr and external_PEI_IMAGE_hdr.
1366
1367 2001-06-01  Andreas Jaeger  <aj@suse.de>
1368
1369         * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8
1370         relocation, small reformatting.
1371
1372 2001-05-29  Andreas Jaeger  <aj@suse.de>
1373
1374         * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.
1375         (elf64_x86_64_relocate_section): Likewise.
1376
1377 2001-05-30  Alan Modra  <amodra@one.net.au>
1378
1379         * elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT for
1380         millicode.  Don't allocate .got and .rela.got space here..
1381         (elf32_hppa_gc_sweep_hook): ..and no need to deallocate here..
1382         (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and
1383         .rela.plt here..
1384         (hppa_handle_PIC_calls): ..nor here..
1385         (allocate_plt_and_got): ..instead do it all here.  New function.
1386         (elf32_hppa_size_dynamic_sections): Allocate local .got space and
1387         call allocate_plt_and_got.  No need to zap .got if not dynamic.
1388         (elf32_hppa_final_link): Call regular bfd_final_link instead of
1389         gc_common_final_link.
1390         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1391         (elf32_hppa_relocate_section): Use it here.
1392         (elf32_hppa_finish_dynamic_symbol): Remove superfluous test of
1393         dynamic_sections_created.
1394         (hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym.
1395
1396 2001-05-28  Andreas Jaeger  <aj@suse.de>
1397
1398         * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the
1399         generic version since we want a hashsize of 4.
1400         (elf_backend_size_info): Likewise.
1401
1402 2001-05-28  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
1403
1404         * elflink.h (elf_link_size_reloc_section): Use bfd_zmalloc instead of
1405         a zeroing loop.
1406         (elf_link_output_relocs): Handle MIPS ELF64 relocations correctly.
1407         (elf_link_input_bfd): Likewise.
1408         (elf_reloc_link_order): Likewise.
1409         (elf_finish_pointer_linker_section): Typo. Handle MIPS ELF64
1410         relocations correctly.
1411
1412 2001-05-28  Nicolas Pitre <nico@cam.org>
1413
1414         * elf32-arm.h: fix PLT generation for big endian ARM
1415
1416 2001-05-28  Alan Modra  <amodra@one.net.au>
1417
1418         * elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entries
1419         for symbols forced local that need plabels.
1420         (elf32_hppa_adjust_dynamic_symbol): Don't allocate space in
1421         .plt.rela for local syms if non-shared.
1422         (hppa_build_one_stub): Mask lsb of plt.offset.
1423         (elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set.
1424         (clobber_millicode_symbols): Correct comment.
1425         (elf32_hppa_relocate_section): Likewise.
1426         (elf32_hppa_finish_dynamic_symbol): Likewise.
1427
1428 2001-05-28  Jeff Sturm  <jsturm@one-point.com>
1429
1430         * reloc.c: Add BFD_RELOC_SPARC_UA16 and BFD_RELOC_SPARC_UA64.
1431         * bfd-in2.h: Regenerate.
1432         * libbfd.h: Regenerate.
1433         * elf32-sparc.c: Enable BFD_RELOC_SPARC_UA16, BFD_RELOC_SPARC_UA32
1434         and BFD_RELOC_SPARC_UA64 mapping
1435         * elf64-sparc.c: Likewise.
1436
1437 2001-05-25  H.J. Lu  <hjl@gnu.org>
1438
1439         * Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo.
1440         (BFD32_BACKENDS_CFILES): Remove coff-pmac.c.
1441         (coff-rs6000.lo): Remove the old dependency.
1442         * Makefile.in: Rebuild.
1443
1444         * configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with
1445         coff-rs6000.lo.
1446
1447 2001-05-25  H.J. Lu  <hjl@gnu.org>
1448
1449         * coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p,
1450         rs6000coff_core_file_matches_executable_p,
1451         rs6000coff_core_file_failing_command and
1452         rs6000coff_core_file_failing_signal only if AIX_CORE is
1453         defined.
1454         (pmac_xcoff_vec): Likewise.
1455         * coff64-rs6000.c (rs6000coff64_vec): Likewise.
1456
1457 2001-05-25  Timothy Wall  <twall@redhat.com>
1458
1459         * elfxx-ia64.c (allocate_dynrel_entries): Don't allocate an entry
1460         for __GLOB_DATA_PTR on AIX5.  Clean up some relocation bugs.
1461
1462 2001-05-25  H.J. Lu  <hjl@gnu.org>
1463
1464         * bfd-in2.h: Regenerated.
1465         * libcoff.h: Likewise.
1466
1467 2001-05-25  Alan Modra  <amodra@one.net.au>
1468
1469         * elf32-hppa.c (elf32_hppa_relocate_section): Don't allow
1470         undefined millicode syms in shared libs.
1471         (hppa_build_one_stub): Turn BFD_ASSERTs into aborts.
1472         (elf32_hppa_check_relocs): Likewise.
1473         (elf32_hppa_adjust_dynamic_symbol): Likewise.
1474         (elf32_hppa_size_dynamic_sections): Likewise.
1475         (elf32_hppa_relocate_section): Likewise.
1476         (elf32_hppa_finish_dynamic_symbol): Likewise.
1477         (elf32_hppa_finish_dynamic_sections): Likewise.
1478
1479 2001-05-24  Tom Rix <trix@redhat.com>
1480
1481         * Makefile.am coff-pmac bfd now defined in coff-rs6000.c
1482         xcoff-target.h not used to define rs6000 or ppc bfd.
1483         * Makefile.in same
1484
1485         * bfd-in.h : (struct lineno_cache_entry) promote element "offset"
1486         to 64 bit.
1487
1488         * coff-rs6000.c : Many changes for 64 bit support.  Move common
1489         32/64 code to xcofflink.c.  Explictly define the rs6000coff_vec
1490         and pmac_xcoff_vec
1491
1492         * coff64-rs6000.c : Many changes for 64 bit support.  64 bit
1493         linker now supported.  Explictly define the rs6000coff64_vec.
1494
1495         * coffcode.h : (coff_set_arch_mach_hook) xcoff 64 bit support
1496         (coff_print_aux) same
1497         (coff_write_object_contents) same
1498         (coff_slurp_line_table) same
1499
1500         * coffgen.c : (coff_fix_symbol_name) formatting
1501         (coff_mangle_symbols) xcoff 64 bit support
1502         (coff_write_symbol) same
1503         (coff_write_alien_symbol) same
1504         (coff_write_native_symbol) same
1505         (coff_write_symbols) same
1506         (coff_get_symbol_info) same
1507         (bfd_coff_get_syment) same
1508         (coff_print_symbol) same
1509
1510         * config.bfd : add powerpc64-*-aix* target
1511
1512         * libcoff-in.h : formatting
1513
1514         * libcoff.h : move xcoff extern declarations to libxcoff.h
1515
1516         * libxcoff.h : New file
1517
1518         * xcofflink.c : Many changes for xcoff64 support.  Move common
1519         structures to include/coff/xcoff.h.  Move specific structure to
1520         backends coff-rs6000.c and coff64-rs6000.c.   Use new backend
1521         functions, defined in libxcoff.h, to isolate 32/64 dependencies.
1522
1523         (bfd_xcoff_size_dynamic_sections) : special __rtinit symbol for
1524         aix4.2+ -binitfini.
1525
1526         (xcoff_build_ldsyms) : handle special __rtinit symbol.
1527
1528 2001-05-23  Alexandre Oliva  <aoliva@redhat.com>
1529
1530         * elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typo
1531         s/ENTIRES/ENTRIES/.
1532
1533 2001-05-23  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1534
1535         * reloc.c (bfd_reloc_code_real): Add MIPS ELF64 relocations.
1536         * libbfd.h: Regenerate.
1537         * bfd-in2.h: Regenerate.
1538
1539         * aoutx.h (aout_@var{size}_machine_type): Add MIPS r12k support.
1540         * archures.c (bfd_mach_mips12000): Define.
1541         * cpu-mips.c (arch_info_struct): Add MIPS r12k support.
1542         * elf32-mips.c (_bfd_mips_elf_final_write_processing): Add MIPS r12k
1543         support.
1544         (_bfd_mips_elf_size_dynamic_sections): Use official bfd typedef.
1545         * bfd-in2.h: Regenerate.
1546         * elfxx-target.h: Do not redefine bfd_elfNN_bfd_make_debug_symbol.
1547
1548 2001-05-23  kaz Kojima  <kkojima@rr.iij4u.or.jp>
1549
1550         * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry,
1551         elf_sh_plt_entry_be, elf_sh_plt_entry, elf_sh_pic_plt_entry_be,
1552         elf_sh_pic_plt_entry): New PLT code, that does not use r2, since
1553         that is used by GCC.
1554
1555 2001-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
1556
1557         * elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number
1558         of entries in a structured section.
1559         * elf.c: Use new macro.
1560         * elf32-i386.c: Use new macro.
1561         * elf32-mips.c: Use new macro.
1562         * elf64-alpha.c: Use new macro.
1563         * elf64-sparc.c: Use new macro.
1564         * elfcode.h: Use new macro.
1565         * elflink.h: Use new macro.
1566
1567 2001-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
1568
1569         * bfdint.texi: Replace -oformat with --oformat.
1570
1571 2001-05-21  Andreas Jaeger  <aj@suse.de>
1572
1573         * dwarf2.c (decode_line_info): Fix error message.
1574         (read_abbrevs): Fix test for offset as suggested by Alan Modra and
1575         adjust error message.
1576
1577 2001-05-18  H.J. Lu  <hjl@gnu.org>
1578
1579         * elflink.h (elf_link_add_object_symbols): Revert the last
1580         change.
1581
1582 2001-05-17  Alan Modra  <amodra@one.net.au>
1583
1584         * elf32-hppa.c (clobber_millicode_symbols): Temporarily set
1585         ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change.
1586         (hppa_build_one_stub): Add an assert to check plt.offset.
1587
1588 2001-05-17  H.J. Lu  <hjl@gnu.org>
1589
1590         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the
1591         version definition to basename of the output filename.
1592
1593 2001-05-17  H.J. Lu  <hjl@gnu.org>
1594
1595         * elflink.h (elf_link_add_object_symbols): Set DT_NEEDED to
1596         basename of the bfd filename.
1597
1598 2001-05-16  Alan Modra  <amodra@one.net.au>
1599
1600         * section.c (asection): Add linker_has_input field.
1601         (STD_SECTION): Adjust initialization to suit.
1602         * ecoff.c (bfd_debug_section): Likewise.
1603         * bfd-in2.h: Regenerate.
1604
1605 2001-05-15  Alexandre Oliva  <aoliva@redhat.com>
1606
1607         * elf-m10300.c (mn10300_elf_relax_section): Don't relax
1608         negative 32-bit operands to 16 operands when the operand is
1609         going to be zero-extended by the modified opcode.
1610
1611 2001-05-12  Peter Targett  <peter.targett@arccores.com>
1612
1613         * cpu-arc.c (arch_info_struct): Add entry 'base' representing old
1614         name for 'arc5' core versions.
1615         (bfd_arc_arch): Make bfd_mach_arc_6 default.
1616
1617         * elf32-arc.c (arc_elf_object_p): Make E_ARC_MACH_ARC6 default
1618         architecture.
1619         (arc_elf_final_write_processing): Make bfd_mach_arc_6 default.
1620
1621 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
1622
1623         * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
1624         sections as well.
1625         (elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
1626         to .gnu.linkonce.t.FOO text section.
1627
1628 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
1629
1630         * merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix
1631         fields, change sec into secinfo.
1632         (struct sec_merge_info): Add chain, remove last fields.
1633         (struct sec_merge_sec_info): Add next, sec, psecinfo fields.
1634         (sec_merge_hash_lookup): If lookup could not use a string only
1635         because it has bad alignment, mark the old string for deletion.
1636         (sec_merge_add): Add secinfo argument. Don't compute entry's
1637         position, instead record the section.
1638         (sec_merge_emit): Update for the sec into secinfo change in
1639         struct sec_merge_hash_entry.
1640         (_bfd_merge_section): Only record the section for merging, defer
1641         putting strings into the hash table.
1642         (cmplengthentry, last4_eq, last_eq, record_section, merge_strings,
1643         _bfd_merge_sections): New functions.
1644         (_bfd_merged_section_offset): Update for the sec_merge_hash_entry
1645         changes.
1646         * libbfd-in.h (_bfd_merge_sections): Add prototype.
1647         (_bfd_nolink_bfd_merge_sections): Define.
1648         * libbfd.h: Likewise.
1649         (bfd_generic_merge_sections): Add prototype.
1650         * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections.
1651         (struct bfd_target): Likewise.
1652         * bfd.c (bfd_merge_sections): Define.
1653         * bfd-in2.h: Rebuilt.
1654         * elf.c (_bfd_elf_merge_sections): New function.
1655         * elf-bfd.h (_bfd_elf_merge_sections): Add prototype.
1656         * elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define.
1657         * reloc.c (bfd_generic_merge_sections): New function.
1658         * vms.c (vms_bfd_merge_sections): New function.
1659         * aout-adobe.c (aout_32_bfd_merge_sections): Define.
1660         * aout-target.h (MY_bfd_merge_sections): Define.
1661         * aout-tic30.c (MY_bfd_merge_sections): Define.
1662         * binary.c (binary_bfd_merge_sections): Define.
1663         * bout.c (b_out_bfd_merge_sections): Define.
1664         * coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define.
1665         * coffcode.c (coff_bfd_merge_sections): Define.
1666         * coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define.
1667         * i386msdos.c (msdos_bfd_merge_sections): Define.
1668         * i386os9k.c (os9k_bfd_merge_sections): Define.
1669         * ieee.c (ieee_bfd_merge_sections): Define.
1670         * ihex.c (ihex_bfd_merge_sections): Define.
1671         * nlm-target.h (nlm_bfd_merge_sections): Define.
1672         * oasys.c (oasys_bfd_merge_sections): Define.
1673         * ppcboot.c (ppcboot_bfd_merge_sections): Define.
1674         * som.c (som_bfd_merge_sections): Define.
1675         * srec.c (srec_bfd_merge_sections): Define.
1676         * tekhex.c (tekhex_bfd_merge_sections): Define.
1677         * versados.c (versados_bfd_merge_sections): Define.
1678         * xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define.
1679
1680 2001-05-11  Nick Clifton  <nickc@cambridge.redhat.com>
1681
1682         * dwarf1.c (_bfd_dwarf1_find_nearest_line): Change type of 'addr'
1683         to be unsigned long, in order to match its use.
1684
1685 2001-05-10  H.J. Lu  <hjl@gnu.org>
1686
1687         * linker.c (_bfd_generic_link_add_one_symbol): Check loop on
1688         indirect symbols.
1689
1690 2001-05-09  H.J. Lu  <hjl@gnu.org>
1691
1692         * elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate
1693         versymhdr->sh_size bytes for extversym instead of hdr->sh_size.
1694         Remove the unused veriable `dynver'.
1695
1696 2001-05-08  Ian Lance Taylor  <ian@zembu.com>
1697
1698         * coff-i386.c (coff_i386_reloc): Don't dump core if output_bfd is
1699         NULL or is not COFF.
1700         (coff_i386_rtype_to_howto): Don't dump core if output section
1701         owner is not COFF.
1702
1703 2001-05-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1704
1705         * ecoff.c (bfd_debug_section): Fix initialization.
1706         * elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it
1707         is always a positive integer. Cast away sign mismatch.
1708         * elf32-mips.c: Fix misleading comment and typo.
1709         (_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use
1710         correct data type.
1711         * elflink.c: Fix typo.
1712         (_bfd_elf_create_dynamic_sections): Remove superfluous initialization.
1713         * ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch.
1714
1715 2001-05-04  Richard Henderson  <rth@redhat.com>
1716
1717         * elf64-alpha.c (SREL16, SREL32, SREL64): Set pcrel_offset true.
1718
1719 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
1720
1721         * elf32-arm.h (elf32_arm_final_link_relocate): Set
1722         EF_ARM_HASENTRY if the start address is set.
1723
1724 2001-05-03  Nick Clifton  <nickc@cambridge.redhat.com>
1725
1726         * targets.c (_bfd_target_vector_entries): Compute value based on
1727         the size of the _bfd_target_vector and not bfd_target_vector.
1728
1729 2001-05-03  H.J. Lu  <hjl@gnu.org>
1730
1731         * elfcode.h: Include "libiberty.h".
1732
1733         * elflink.h (elf_link_add_object_symbols): Set
1734         elf_dt_name (abfd) to basename of the bfd filename.
1735         (NAME(bfd_elf,size_dynamic_sections)): Set vn_file to basename
1736         of the bfd filename.
1737
1738 2001-05-03  Andreas Jaeger  <aj@suse.de>
1739
1740         * elf64-gen.c (elf_generic_info_to_howto): Add unused attribute.
1741         (elf_generic_info_to_howto_rel): Likewise.
1742         * coff-alpha.c (reloc_nil): Likewise.
1743         (alpha_ecoff_bad_format_hook): Likewise.
1744         (alpha_adjust_reloc_out): Likewise.
1745         (alpha_bfd_reloc_type_lookup): Likewise.
1746         (alpha_convert_external_reloc): Likewise.
1747         * elf64-alpha.c (elf64_alpha_reloc_nil): Likewise.
1748         (elf64_alpha_reloc_bad): Likewise.
1749         (elf64_alpha_reloc_gpdisp): Likewise.
1750         (elf64_alpha_bfd_reloc_type_lookup): Likewise.
1751         (elf64_alpha_info_to_howto): Likewise.
1752         (elf64_alpha_add_symbol_hook): Likewise.
1753         (elf64_alpha_create_got_section): Likewise.
1754         (elf64_alpha_is_local_label_name): Likewise.
1755         (elf64_alpha_merge_ind_symbols): Likewise.
1756         * elf64-mips.c (mips_elf64_reloc_type_lookup): Likewise.
1757         (mips_elf64_get_reloc_upper_bound): Likewise.
1758         * nlm32-alpha.c (nlm_alpha_mangle_relocs): Likewise.
1759         (nlm_alpha_get_public_offset): Likewise.
1760
1761 2001-05-02  Johan Rydberg  <jrydberg@opencores.org>
1762
1763         * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain
1764         about overflow in R_OPENRISC_LO_16_IN_INSN and
1765         R_OPENRISC_HI_16_IN_INSN.Index: bfd/elf32-openrisc.c
1766
1767 2001-04-30  H.J. Lu  <hjl@gnu.org>
1768
1769         * elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1
1770         only for ELF_LINK_FORCED_LOCAL.
1771         * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
1772         * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise.
1773         * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
1774
1775         * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL
1776         if the symbol has hidden or internal visibility.
1777
1778 2001-04-30  Alan Modra  <amodra@one.net.au>
1779
1780         * elf32-hppa.c (final_link_relocate): Branch to .+8 for
1781         calls to undefined weak symbols.
1782
1783 2001-04-30  Andreas Jaeger  <aj@suse.de>, Andreas Schwab <schwab@suse.de>
1784
1785         * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for
1786         R_X86_64_GOTPCREL, don't use assignments instead of comparisons.
1787
1788 2001-04-27  Andreas Jaeger  <aj@suse.de>
1789
1790         * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap
1791         out handled entries.
1792         (elf64_x86_64_finish_dynamic_symbol): Set up GOT entries.
1793         (elf64_x86_64_relocate_section): Fix GOTPCREL calculation.
1794         (elf64_x86_64_relocate_section): Merge entries for GOTPCREL and
1795         GOT32.
1796
1797 2001-04-27  Sean McNeil <sean@mcneil.com>
1798
1799         * config.bfd: Add arm-vxworks target.
1800         * coff-arm (coff_arm_relocate_section): Add in symbol value to
1801         addend (fro VXworks targets).
1802
1803 2001-04-26  H.J. Lu  <hjl@gnu.org>
1804
1805         * elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is
1806         valid.
1807
1808 2001-04-25  Frank Ch. Eigler  <fche@redhat.com>
1809
1810         * bfd-in.h (bfd_cache_close): Declare newly exported function.
1811         * bfd-in2.h: Regenerated.
1812
1813 2001-04-24  Jakub Jelinek  <jakub@redhat.com>
1814
1815         * merge.c (struct sec_merge_hash_entry): Add alignment field.
1816         (struct sec_merge_hash): Remove alignment_power.
1817         (sec_merge_hash_newfunc): Clear alignment.
1818         (sec_merge_hash_lookup): Pass alignment as argument.
1819         Use hashp->root.next, not hashp->next to walk the hash chain.
1820         If a string already in the hashtable does not have required
1821         alignment, create a new hashtable entry.
1822         (sec_merge_init): Remove alignment_power argument.
1823         (sec_merge_add): Add alignment argument.
1824         (sec_merge_emit): Alignment is now a per-entity thing, not per
1825         section.
1826         (_bfd_merge_section): Sanity check even non-SEC_STRINGS sections
1827         for proper alignment.
1828         Pass alignment information to sec_merge_add.
1829
1830 2001-04-24  Christian Groessler  <cpg@aladdin.de>
1831
1832         * coff-z8k.c (extra_case): added handler for R_DISP7, R_CALLR
1833         and R_REL16 reloc types; accept odd values for R_REL16 type
1834
1835 2001-04-24  Johan Rydberg  <jrydberg@opencores.org>
1836
1837         * cpu-openrisc.c: New file.
1838         * elf32-openrisc.c: Likewise.
1839
1840         * Makefile.am (ALL_MACHINES): Add cpu-openrisc.lo.
1841         (ALL_MACHINES_CFILES): Add cpu-openrisc.c.
1842         (BFD32_BACKENDS): Add elf32-openrisc.lo.
1843         (BFD32_BACKENDS_CFILES): Add elf32-openrisc.c.
1844         (cpu-openrisc.lo, elf32-openrisc.lo): New rules.
1845         * Makefile.in: Regenerated.
1846         * config.bfd: (openrisc-*-elf): New target.
1847         * configure.in (bfd_elf32_openrisc_vec): New vector.
1848         * configure: Regenerated.
1849         * libbfd.h: Regenerated.
1850         * bfd-in2.h: Regenerated.
1851         * reloc.c: Add OpenRISC relocations.
1852         * targets.c (bfd_elf32_openrisc_vec): Declare.
1853         (bfd_target_vect): Add bfd_elf32_openrisc_vec.
1854         * archures.c (enum bfd_architecture): Add bfd_arch_openrisc.
1855         (bfd_openrisc_arch): Declare.
1856         (bfd_archures_list): Add bfd_openrisc_arch.
1857         * elf.c (prep_headers): Add bfd_arch_openrisc.
1858
1859 2001-04-23  Bo Thorsen  <bo@suse.de>
1860
1861         * elf64-x86-64.c: Add c++ vtable hack.
1862         Small whitespace and comment changes.
1863
1864 2001-04-19  Andreas Jaeger  <aj@suse.de>
1865
1866         * elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions.
1867         (elf64_x86_64_plt_entry): Likewise.
1868         (elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation.
1869         (elf64_x86_64_finish_dynamic_symbol): Fix PLT generation.
1870
1871 2001-04-17  Hans-Peter Nilsson  <hp@axis.com>
1872
1873         * elf32-cris.c: Tweak comments related to dynamic linking.
1874         (cris_elf_relocate_section): When not creating shared object, fill
1875         in the .got table for any symbol not in the dynamic symbol table.
1876         (elf_cris_finish_dynamic_symbol): When not creating shared object,
1877         only emit a .got.rela reloc if the symbol is in the dynamic symbol
1878         table.
1879         (cris_elf_check_relocs): Use variable r_type in all places rather
1880         than the original expression.  Add default case in switch for
1881         reloc types.
1882         (elf_cris_size_dynamic_sections): Iterate over
1883         elf_cris_discard_excess_program_dynamics when not creating shared
1884         library.
1885         (elf_cris_discard_excess_dso_dynamics): Renamed from
1886         elf_cris_discard_copies.  Correct typo, s/Rel/Rela/.
1887         (elf_cris_discard_excess_program_dynamics): New.
1888
1889 2001-04-14  Mark Elbrecht  <snowball3@bigfoot.com>
1890
1891         * coffcode.h (coff_write_object_contents): Use
1892         bfd_coff_swap_filehdr_out instead of coff_swap_filehdr_out.
1893
1894 2001-04-14  H.J. Lu  <hjl@gnu.org>
1895
1896         * bfd-in2.h: Regenerate.
1897
1898 2001-04-14  Jakub Jelinek <jakub@redhat.com>
1899
1900         * section.c (STD_SECTION): Add entsize.
1901
1902 2001-04-13  H.J. Lu  <hjl@gnu.org>
1903
1904         * section.c (SEC_MERGE): Define new flag for merging.
1905         (SEC_STRINGS): Likewise.
1906         (entsize): New field.
1907
1908 2001-04-13  Roger Sayle  <roger@metaphorics.com>
1909
1910         * coff-i386.c (TARGET_SYM): SEC_READONLY is an applicable section
1911         flag on pe-i386 targets.
1912
1913 2001-04-13  Jakub Jelinek  <jakub@redhat.com>
1914
1915         * libbfd-in.h (_bfd_merge_section): New.
1916         (_bfd_write_merged_section): New.
1917         (_bfd_merged_section_offset): New.
1918         * libbfd.h: Rebuilt.
1919         * linker.c (_bfd_generic_link_output_symbols): Handle
1920         discard_sec_merge.
1921         * aoutx.h (aout_link_write_symbols): Likewise.
1922         * pdp11.c (aout_link_write_symbols): Likewise.
1923         * elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
1924         (elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
1925         sections.
1926         (elf_link_sec_merge_syms): New.
1927         (elf_link_input_bfd): Call _bfd_merged_section_offset
1928         and _bfd_write_merged_section.
1929         Handle discard_sec_merge.
1930         * elf-bfd.h (struct elf_link_hash_table): Add merge_info
1931         field.
1932         (struct bfd_elf_section_data): Likewise.
1933         * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
1934         SEC_STRINGS section flags and entsize from their ELF counterparts.
1935         (_bfd_elf_link_hash_table_init): Initialize merge_info.
1936         (elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
1937         from their BFD counterparts.
1938         * merge.c: New file.
1939         * Makefile.am: Add strtab.lo.
1940         * Makefile.in: Rebuilt.
1941
1942 2001-04-09  Hans-Peter Nilsson  <hp@axis.com>
1943
1944         * elflink.h (elf_fix_symbol_flags): For non-default visibilities,
1945         only hide symbols marked STV_INTERNAL or STV_HIDDEN.
1946
1947 2001-04-05  Steven J. Hill  <sjhill@cotw.com>
1948
1949         * config.bfd (mips*el*-*-linux-gnu*): Use traditional little
1950         endian MIPS ELF target.
1951         * config.bfd (mips*-*-linux-gnu*): Use traditional big endian
1952         MIPS ELF target.
1953
1954         * configure.in (bfd_elf64_tradbigmips_vec): New. Traditional
1955         64bit big endian MIPS ELF target.
1956         (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
1957         endian MIPS ELF target.
1958         * configure: Regenerated.
1959
1960         * elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and
1961         little endian targets.
1962         (mips_elf_sym_is_global): Handle traditional targets.
1963
1964         * elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional
1965         64bit big endian MIPS ELF target.
1966         (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
1967         endian MIPS ELF target.
1968
1969         * targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec
1970         and bfd_elf64_tradlittlemips_vec.
1971
1972 2001-04-05  David Mosberger  <davidm@hpl.hp.com>
1973
1974         * elf32-i386.c (elf_i386_fake_sections): Treat ".reloc" as an
1975         ordinary "progbits" section.
1976
1977 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
1978
1979         * elflink.h (elf_fix_symbol_flags): Call elf_backend_hide_symbol
1980         when -Bsymbolic causes a symbol to no longer need a .plt entry.
1981
1982 2001-04-03  David Mosberger  <davidm@hpl.hp.com>
1983
1984         * efi-app-ia32.c (ALIGN_SECTIONS_IN_FILE): Deleted.
1985
1986 2001-03-30  H.J. Lu  <hjl@gnu.org>
1987
1988         * efi-app-ia32.c (PEI_TARGET_SUBSYSTEM): Rename from ...
1989         (PEI_DEFAULT_TARGET_SUBSYSTEM): This.
1990
1991 2001-03-26  H.J. Lu  <hjl@gnu.org>
1992
1993         * elf32-gen.c (elf32_generic_link_add_symbols): New. Check
1994         if there are any relocations for generic ELF.
1995         (bfd_elf32_bfd_link_add_symbols): Defined to
1996         elf32_generic_link_add_symbols.
1997         * elf64-gen.c (elf64_generic_link_add_symbols): New. Check
1998         if there are any relocations for generic ELF.
1999         (bfd_elf64_bfd_link_add_symbols): Defined to
2000         elf64_generic_link_add_symbols.
2001
2002 2001-03-23  Nick Clifton  <nickc@redhat.com>
2003
2004         * Makefile.am (BUILD_CFILES): New variable: List of C source
2005         files created in build directory.
2006         (BUILD_HFILES): New variable: List of header files created in
2007         build directory.
2008         (POTFILES): Delete.
2009         (po/POTFILES.in): Replace rule with empty entry.
2010         (po/SRC-POTFILES.in): New rule: Create a list of source files
2011         in the source directory.
2012         (po/BLD-POTFILES.in): New rule: Create a list of source files
2013         in the build directory.
2014         (MOSTLYCLEAN): Do not delete source files created in build
2015         directory.
2016         * Makefile.in: Regenerate.
2017         * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
2018         into po/Makefile.
2019         * configure: Regenerate.
2020
2021         * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
2022         and BLD_POTFILES.
2023         Add .. to the search path when building bfd.pot.
2024         Delete POTFILES when performing distclean.
2025         Add comment describing why distclean is broken in maintainer mode.
2026         * po/POTFILES.in: Delete.
2027         * po/SRC-POTFILES.in: New file.
2028         * po/BLD-POTFILES.in: New file.
2029         * po/bfd.pot: Regenerate.
2030
2031 2001-03-22  Hans-Peter Nilsson  <hp@axis.com>
2032
2033         * elf32-cris.c: Shlib and PIC support.  PCREL tweaks.
2034         (elf_cris_discard_copies, elf_cris_adjust_gotplt_to_got,
2035         elf_cris_try_fold_plt_to_got, elf_cris_link_hash_newfunc,
2036         elf_cris_link_hash_table_create, elf_cris_adjust_dynamic_symbol,
2037         elf_cris_size_dynamic_sections, elf_cris_finish_dynamic_symbol,
2038         elf_cris_finish_dynamic_sections,elf_cris_hide_symbol): New
2039         functions.
2040         (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL,
2041         R_CRIS_32_PCREL>: Correct comments.  Set pcrel_offset to false.
2042         <R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
2043         R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
2044         R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL>:
2045         New HOWTO members for new relocs.
2046         (cris_reloc_map): Map new relocs.
2047         (ELF_DYNAMIC_INTERPRETER): Define.
2048         (PLT_ENTRY_SIZE): Define.
2049         (elf_cris_plt0_entry, elf_cris_plt_entry, elf_cris_pic_plt0_entry,
2050         elf_cris_pic_plt_entry): New, PLT templates.
2051         (struct elf_cris_pcrel_relocs_copied, struct
2052         elf_cris_link_hash_entry, struct elf_cris_link_hash_table): New.
2053         (elf_cris_link_hash_traverse, elf_cris_hash_table): Define.
2054         (cris_final_link_relocate): Check that 16-bit GOT relocs have
2055         positive values.  Adjust PCREL relocs to be relative to location
2056         after relocation.
2057         (cris_elf_relocate_section): Handle relocations to dynamic
2058         objects.  Handle new relocations.  Call error handler when seeing
2059         non-PIC relocation for read-only sections while generating shared
2060         object.
2061         (cris_elf_check_relocs): Set reference counts for GOT and PLT
2062         entries.
2063         (bfd_elf32_bfd_link_hash_table_create,
2064         elf_backend_adjust_dynamic_symbol,
2065         elf_backend_size_dynamic_sections,
2066         elf_backend_finish_dynamic_symbol,
2067         elf_backend_finish_dynamic_sections,
2068         elf_backend_create_dynamic_sections, bfd_elf32_bfd_final_link,
2069         elf_backend_hide_symbol, elf_backend_want_got_plt,
2070         elf_backend_plt_readonly, elf_backend_want_plt_sym,
2071         elf_backend_got_header_size, elf_backend_plt_header_size):
2072         Define.
2073
2074         * reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT,
2075         BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE,
2076         BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT,
2077         BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT,
2078         BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL,
2079         BFD_RELOC_CRIS_32_PLT_PCREL): New relocs.
2080         * bfd-in2.h, libbfd.h: Regenerate.
2081
2082 2001-03-21  Diego Novillo  <dnovillo@redhat.com>
2083
2084         (_bfd_mips_elf_relocate_section): Give a better error message when
2085         a relocation is not recognized.
2086
2087 2001-03-21  Alan Modra  <alan@linuxcare.com.au>
2088
2089         * elf32-hppa.c (elf32_hppa_set_gp): Check sec->output_section
2090         non-NULL before attempting to dereference.
2091
2092 2001-03-20  H.J. Lu  <hjl@gnu.org>
2093
2094         * configure.in: Remove the redundent AC_ARG_PROGRAM.
2095         * configure: Rebuild.
2096
2097 2001-03-20  Andreas Schwab  <schwab@suse.de>
2098
2099         * elf32-m68k.c (elf_m68k_relocate_section): Don't need the
2100         relocation value when resolving a reference from a debugging
2101         section.
2102
2103 2001-03-16  Scott Thomason  <SThomaso@hii.com>
2104
2105         * coff64-rs6000.c (xcoff64_swap_sym_out): Fix syntax errors.
2106         (xcoff64_swap_sym_out): Fix syntax errors.
2107
2108 2001-03-16  Richard Sandiford  <rsandifo@redhat.com>
2109
2110         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix warning.
2111
2112 2001-03-15  Alan Modra  <alan@linuxcare.com.au>
2113
2114         * elf32-hppa.c (elf32_hppa_link_hash_entry): Add maybe_pic_call.
2115         (hppa_link_hash_newfunc): Init it.
2116         (hppa_type_of_stub): Only use non-PIC to PIC call stub if caller
2117         section appears to be non-PIC.
2118         (final_link_relocate): Likewise.
2119         (elf32_hppa_adjust_dynamic_symbol): Set maybe_pic_call for any
2120         possible candidate function, and set pic_call for those that will
2121         only have a .plt entry for the PIC call stub.
2122         (hppa_handle_PIC_calls): Set maybe_pic_call.
2123
2124 2001-03-12  DJ Delorie  <dj@redhat.com>
2125
2126         * elf32-sh.c (sh_elf_relocate_section): Only relocation
2127         R_SH_DIR8WP* relocs if they're against external symbols, else
2128         they're just for relaxing.  Validate the reloc values.
2129
2130 2001-03-12  Stefan Geuken <mail@stefan-geuken.de>
2131
2132         * binary.c (bfd_external_binary_architecture): Declare.
2133         (binary_object_p): If bfd_external_binary_architecture is defined,
2134         set the architecture to this string.
2135
2136 2001-03-11  Philip Blundell  <philb@gnu.org>
2137
2138         * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT
2139         entries that could serve as a definition for a weak symbol.
2140
2141 2001-03-08  Nick Clifton  <nickc@redhat.com>
2142
2143         * Most files: Update copyright notices using Perl script created
2144         by Kevin Buettner <kevinb@redhat.com>.
2145
2146 2001-03-07  Nick Clifton  <nickc@redhat.com>
2147
2148         * elf32-arm.h (elf32_arm_final_link_relocate): Conditionalise
2149         prior patch on ! defined OLD_ARM_ABI.
2150
2151 2001-03-07  Andreas Jaeger  <aj@suse.de>
2152
2153         * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix handling of
2154         some relocation values.
2155
2156 2001-03-06  Nick Clifton  <nickc@redhat.com>
2157
2158         * elf32-arm.h (elf32_arm_final_link_relocate): Clear bit zero
2159         of offset in BLX(1) instruction.
2160         * coff-arm.c (coff_arm_relocate_section): Clear bit zero of
2161         offset in BLX(1) instruction.
2162         Fix formatting.
2163
2164 2001-03-06  Nick Clifton  <nickc@redhat.com>
2165
2166         * coff-arm.c (coff_arm_reloc_type_lookup): Add
2167         BFD_RELOC_THUMB_PCREL_BLX.
2168
2169 2001-03-06  Igor Shevlyakov  <igor@windriver.com>
2170
2171         * archures.c (bfd_default_scan): Add Coldfire CPUs.
2172         * bfd-in2.h: Regenerate.
2173         * cpu-m68k.c: Add Coldfire CPUs for arch table.
2174         * ieee.c (ieee_write_processor): Set proper id for
2175         Coldfire CPUs.
2176
2177 2001-03-01  D.J. Barrow <djbarrow@de.ibm.com,barrow_dj@yahoo.com>
2178
2179         * configure.in: Add s390 target.
2180         * configure: Regenerate.
2181
2182 2001-02-28  Andreas Jaeger  <aj@suse.de>
2183
2184         * elf64-x86-64.c (elf64_x86_64_relocate_section): Add relocation
2185         to addend.
2186
2187 2001-02-28  Philip Blundell  <pb@futuretv.com>
2188
2189         * elf32-arm.h: Update mentions of renamed EF_xx constants.
2190         (elf32_arm_print_private_bfd_data): Handle ARM EABI version 2.
2191
2192 2001-02-27  H.J. Lu  <hjl@gnu.org>
2193
2194         * aoutx.h (NAME(aout,bfd_free_cached_info)): Return true if
2195         abfd->tdata.aout_data == NULL.
2196
2197 2001-02-27  Alan Modra  <alan@linuxcare.com.au>
2198
2199         * elf32-hppa.c: Correct field selector in stub comments.
2200         (clobber_millicode_symbols): Formatting fix.
2201
2202         * configure.in: Bump version to 2.11.90.
2203         * configure: Regenerate.
2204         * Makefile.am (CFILES): Rename to SOURCE_CFILES.
2205         (CFILES): $SOURCE_CFILES + generated C files.
2206         (POTFILES): Include $HFILES not $SOURCE_HFILES.
2207         Run "make dep-am"
2208         * Makefile.in: Regenerate.
2209         * doc/Makefile.in: This too.
2210
2211 2001-02-26  Timothy Wall  <twall@cygnus.com>
2212
2213         * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Remove obsolete
2214         comments.
2215
2216 2001-02-26  Nick Clifton <nickc@redhat.com>
2217
2218         * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Tidy
2219         up, replacing multiple if statements with a switch.
2220         (handle_COMDAT): New function.
2221
2222 2001-02-26  H.J. Lu  <hjl@gnu.org>
2223
2224         * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Issue
2225         a warning for section flags we do not handle instead of
2226         aborting.
2227
2228 2001-02-26  Andreas Jaeger  <aj@suse.de>
2229
2230         * elf64-x86-64.c (x86_64_elf_howto_table): Fix order of entries.
2231
2232 2001-02-22  Timothy Wall  <twall@cygnus.com>
2233
2234         * config.bfd (targ_cpu): Add vectors for ia64-*-aix* (aka Monterey).
2235         * configure.in: Add objects for elf64_ia64_aix vectors.
2236         * configure: Regenerated.
2237         * configure.host: Recognize ia64-*-aix*.
2238         * elfxx-ia64.c: Add hooks for ELF64 on AIX5.  Define new vectors
2239         for AIX.  AIX5 requires most relocations to be dynamic (*all*
2240         binaries are somewhat similar to shared libraries).
2241         * targets.c: Add elf64_ia64_aix vectors.
2242
2243 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
2244
2245         * cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for
2246         C8 said "1" instead of "8".  Clarify error string for IMM22:
2247         "signed integer" instead of just "integer".
2248
2249 2001-02-20  Andreas Jaeger  <aj@suse.de>
2250
2251         * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Don't make
2252         PLT entries that could serve as a definition for a weak symbol.
2253
2254 2001-02-19  Jakub Jelinek  <jakub@redhat.com>
2255
2256         * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Don't make PLT
2257         entries that could serve as a definition for a weak symbol.
2258         * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Likewise.
2259
2260 2001-02-18  David O'Brien  <obrien@FreeBSD>
2261
2262         * configure.in: Recognize FreeBSD/arm, FreeBSD/PowerPC, and treat
2263         FreeBSD/i386-CURRENT differently until I can figure out the needed
2264         corefile changes.
2265         * configure: Regenerate.
2266         * config.bfd: Recognize FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/arm,
2267         FreeBSD/PowerPC, and FreeBSD/sparc64.
2268
2269 2001-02-18  lars brinkhoff  <lars@nocrew.org>
2270
2271         * Makefile.am: Add PDP-11 a.out target.
2272         * config.bfd: Likewise.
2273         * configure.in: Likewise.
2274         * targets.c: Likewise.
2275         * archures.c: Likewise.
2276         * bfd-in2.h: Likewise.  Add PDP-11 relocations.
2277         * libbfd.h: Add PDP-11 relocations.
2278         * reloc.c: Likewise.
2279         * cpu-pdp11.c: New file.
2280         * pdp11.c: New file.
2281
2282         * libaout.h (GET_WORD) [ARCH_SIZE==16]: Define.
2283         (GET_SWORD) [ARCH_SIZE==16]: Likewise.
2284         (GET_SWORD) [ARCH_SIZE==16]: Likewise.
2285         (PUT_WORD) [ARCH_SIZE==16]: Likewise.
2286         (GET_MAGIC): New macro.
2287         (PUT_MAGIC): Likewise.
2288         * aout-target.h (MY(object_p)): Use GET_MAGIC to read magic word.
2289
2290 2001-02-18  Jim Kingdon  <jkingdon@engr.sgi.com>
2291
2292         * irix-core.c (irix_core_core_file_p): Set the architecture (GDB
2293         multiarch needs it).
2294
2295 2001-02-18  H.J. Lu  <hjl@gnu.org>
2296
2297         * elflink.h (elf_link_input_bfd): Ignore invalid section symbol
2298         index.
2299
2300 2001-02-18  Kazu Hirata  <kazu@hxi.com>
2301
2302         * vms-misc.c: Fix formatting.
2303
2304 2001-02-16  Kazu Hirata  <kazu@hxi.com>
2305
2306         * vms.c: Fix formatting.
2307
2308 2001-02-14  H.J. Lu  <hjl@gnu.org>
2309
2310         * elf.c (elf_find_function): New function.
2311         (_bfd_elf_find_nearest_line): Call elf_find_function () to find
2312         the file name and function name.
2313
2314 2001-02-14  Nick Clifton  <nickc@redhat.com>
2315
2316         * ecoff.c (bfd_debug_section): Update to initialise new fields in
2317         asection structure.
2318
2319         * Makefile.am (BFD32_BACKENDS_CFILES): Remove peigen.c
2320         (BFD64_BACKENDS): Add pepigen.c
2321         Add rules to create peigen.c and pepigen.c from peXXigen.c.
2322
2323         * Makefile.in: Regenerate.
2324         * configure:  Regenerate.
2325         * po/POTFILES.in: Regenerate.
2326         * po/bfd.pot: Regenerate.
2327
2328 2001-02-14  H.J. Lu  <hjl@gnu.org>
2329
2330         * libcoff-in.h (pe_tdata): Add members target_subsystem and
2331         force_minimum_alignment.
2332
2333 2001-02-14  Bo Thorsen  <bo@suse.de>
2334
2335         * elf64-x86-64.c: Small formatting fixes and rearrangements of code.
2336         (elf64_86_64_size_info): Struct added to fix a problem
2337         with the hashtable string entries.
2338         (elf64_x86_64_adjust_dynamic_symbol): Add generation of .got.plt.
2339         (elf64_x86_64_size_dynamic_sections): A FIXME removed.
2340         (elf64_x86_64_size_dynamic_sections): Fix a dynamic entry and
2341         remove the FIXME for this.
2342         (elf64_x86_64_adjust_dynamic_symbol): Fix check for unneeded .plt
2343         section. Also removed the FIXME for it.
2344         (x86_64_elf_howto_table): Use bfd_elf_generic_reloc.
2345         (ELF_DYNAMIC_INTERPRETER): Fix the name of the dynamic linker.
2346         (elf64_x86_64_finish_dynamic_sections): Enable .got.plt writing.
2347
2348 2001-02-13  Richard Henderson  <rth@redhat.com>
2349
2350         * elfxx-ia64.c (elfNN_ia64_final_link): Set __gp if required
2351         and not user provided.
2352
2353 2001-02-13  Kazu Hirata  <kazu@hxi.com>
2354
2355         * vms.c (vms_print_symbol): Remove unreachable code.
2356
2357         * rs6000-core.c: Fix formatting.
2358
2359 2001-02-13  David Mosberger  <davidm@hpl.hp.com>
2360
2361         * peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: Define
2362         as _bfd_XXi_only_swap_filehdr_out.
2363         (pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set
2364         pe->force_minimum_alignment to TRUE.
2365         (pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to
2366         PEI_TARGET_SUBSYSTEM.
2367         (pe_print_private_bfd_data): Call
2368         _bfd_XX_print_private_bfd_data_common() instead of
2369         _bfd_pe_print_private_bfd_data_common().
2370         (pe_bfd_copy_private_bfd_data): Call
2371         _bfd_XX_bfd_copy_private_bfd_data_common() instead of
2372         _bfd_pe_bfd_copy_private_bfd_data_common().
2373         (coff_bfd_copy_private_section_data): Define as
2374         _bfd_XX_bfd_copy_private_section_data instead of
2375         _bfd_pe_bfd_copy_private_section_data.
2376         (coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead
2377         of a _bfd_pe_get_symbol_info.
2378
2379         * peigen.c: Delete.
2380
2381         * peXXigen.c: Renamed from peigen.c.
2382         (COFF_WITH_XX): Define this macro (will get expanded into
2383         COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being
2384         compiled as peigen.c or pepigen.c.
2385         [COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to
2386         define the canonical PEP structures and definitions.
2387         (_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in
2388         effect, enforce minimum file and section alignments.  If
2389         extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to
2390         pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN,
2391         so, by default, this is a no-op).
2392
2393         * libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep.
2394         (_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map
2395         _bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to
2396         _bfd_pefoo if it's not defined.  Use these macros to define
2397         coff swap macros.
2398
2399         * libcoff.h (pe_tdata): Add members target_subsystem and
2400         force_minimum_alignment.
2401
2402         * efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to
2403         COFF_WITH_pep.
2404         (PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM.
2405
2406         * configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of
2407         peigen.lo.
2408
2409         * coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep.
2410         (AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and
2411         PEPAOUTHDR.
2412
2413         * Makefile.in (BFD64_BACKENDS): Mention pepigen.lo.
2414         (BFD64_BACKENDS_CFILES): Mention pepigen.c
2415         (peigen.c): Add rule to generate from peXXigen.c.
2416         (pepigen.c): Ditto.
2417         (pepigen.lo): List dependencies for pepigen.lo.
2418
2419 2001-02-13  Alan Modra  <alan@linuxcare.com.au>
2420
2421         * elf32-hppa.c (elf32_hppa_set_gp): Handle weak $global$.  If
2422         $global$ referenced but not defined, set its value here.
2423
2424 2001-02-09  Bo Thorsen  <bo@suse.de>
2425
2426         * elf64-x86-64.c (elf64_x86_64_check_relocs): Set .rela.got section
2427         alignment to 3.
2428         (elf64_x86_64_check_relocs): Write R_X86_64_GOTPCREL GOT entry
2429         and relocation.
2430         (elf64_x86_64_relocate_section): Fix formatting.
2431         (elf64_x86_64_relocate_section): Fix addend for relocation of
2432         R_X86_64_(8|16|32|PC8|PC16|PC32).
2433
2434 2001-02-12  Jan Hubicka  <jh@suse.cz>
2435
2436         * elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL.
2437
2438 2001-02-11  H.J. Lu  <hjl@gnu.org>
2439
2440         * elflink.h (elf_bfd_final_link): Use file_align for SYMTAB
2441         alignment.
2442
2443 2001-02-11  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
2444
2445         * elf32-mips.c (mips_elf_create_dynamic_relocation): Undo patch
2446         from 2000-10-13.  Do not add the symbol's value for R_MIPS_REL32
2447         relocations against dynsym symbols.
2448
2449         * elf32-mips.c (elf_mips_howto_table): Fix the comment on
2450         the R_MIPS_26 relocation.
2451         (mips_elf_calculate_relocation): Use (p + 4) instead of p for
2452         the R_MIPS_26 relocation.
2453         (mips_elf_perform_relocation): Fix the comment on the R_MIPS16_26
2454         relocation.
2455         * elf64-mips.c (mips_elf64_howto_table_rel): Fix the comment on
2456         the R_MIPS_26 relocation.
2457         (mips_elf64_howto_table_rela): Likewise.
2458
2459         * elf32-mips.c (struct mips_elf_link_hash_entry): Added no_fn_stub
2460         member to mark symbols that have non-CALL relocations against
2461         them.
2462         (mips_elf_link_hash_newfunc): Initialize no_fn_stub.
2463         (mips_elf_calculate_relocation): Handle R_MIPS_CALL16 like
2464         R_MIPS_GOT16.
2465         (_bfd_mips_elf_check_relocs): Set no_fn_stub for a symbol if a
2466         non-CALL relocation against it is encountered.
2467         (_bfd_mips_elf_copy_indirect_symbol): Merge no_fn_stub as well.
2468         (_bfd_mips_elf_adjust_dynamic_symbol): Only create a stub if
2469         no_fn_stub is not set.
2470
2471         * elf32-mips.c (mips_elf_output_extsym): Get the output section
2472         information from the real symbol for indirect ones.
2473         Check no_fn_stub to find out if a symbol has a function stub
2474         indeed.
2475
2476 2001-02-11  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2477
2478         * Makefile.am (stamp-lib): ranlib the libbfd.a in the build directory.
2479         * Makefile.in: Regenerate.
2480
2481 2001-02-09  David Mosberger  <davidm@hpl.hp.com>
2482
2483         * elfxx-ia64.c (is_unwind_section_name): New function.  Returns
2484         true if section name is an unwind table section name.
2485         (elfNN_ia64_additional_program_headers): Count each unwind section
2486         separately.
2487         (elfNN_ia64_modify_segment_map): Install one unwind program header
2488         for each unwind separate section.  Note: normally the linker
2489         script merges the unwind sections that go into a single segment,
2490         so this still generates at most one unwind program header per
2491         segment.
2492
2493         * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Accept any section
2494         name for SHT_IA_64_UNWIND, not just .IA_64.unwind.
2495         (elfNN_ia64_fake_sections): Mark sections with names that start
2496         with .IA_64.unwind but not with .IA_64.unwind_info as an IA-64
2497         unwind section.
2498
2499         * elfxx-ia64.c (elfNN_ia64_final_write_processing): New function.
2500         Use it to make sh_info in unwind section point to the text section
2501         it applies to.
2502
2503 2001-02-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2504
2505         * Makefile.am: Add linux target for S/390.
2506         * archures.c: Likewise.
2507         * bfd-in2.h: Likewise.
2508         * config.bfd: Likewise.
2509         * configure.in: Likewise.
2510         * elf.c: Likewise.
2511         * libbfd.h: Likewise.
2512         * targets.c: Likewise.
2513         * cpu-s390.c: New file.
2514         * elf32-s390.c: New file.
2515         * elf64-s390.c: New file.
2516
2517 2001-02-09  Nick Clifton  <nickc@redhat.com>
2518
2519         * peigen.c (_bfd_pe_get_symbol_info): Suppress addition of
2520         ImageBase.  This has already been done by coff_swap_hdr_in.
2521
2522 2001-02-09  Jakub Jelinek  <jakub@redhat.com>
2523
2524         * elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function.
2525
2526 2001-02-09  Jakub Jelinek  <jakub@redhat.com>
2527
2528         * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
2529         (sparc64_elf_relocate_section): Likewise.
2530
2531 2001-02-09  Mark Kettenis  <kettenis@gnu.org>
2532
2533         * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32
2534         similar to R_SPARC_32.
2535         * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
2536
2537 2001-02-08  H.J. Lu  <hjl@gnu.org>
2538
2539         * elf32-i386.c (elf_i386_check_relocs): Reserve R_386_PC32
2540         relocation entries for weak definitions when building DSO with
2541         -Bsymbolic.
2542
2543 2001-02-08  Richard Henderson  <rth@redhat.com>
2544
2545         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Respect weakness
2546         before visibility.  Locally defined protected symbols are not
2547         dynamic.
2548
2549 2001-02-08  Geoffrey Keating  <geoffk@redhat.com>
2550
2551         * config.bfd: Enable coff64 for rs6000-*.  Patch from
2552         <hzoli@austin.ibm.com>.
2553
2554 2001-02-07  Mark Elbrecht  <snowball3@bigfoot.com>
2555
2556         * coffgen.c (coff_find_nearest_line): If stabs info is successfully
2557         found, do not attempt to find dwarf2 info before returning.
2558
2559 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
2560
2561         * elflink.h (is_global_symbol_definition): Rename to
2562         is_global_data_symbol_definition and have it reject function
2563         symbols.
2564         (elf_link_is_defined_archive_symbol): Use renamed function.
2565
2566 2001-02-07  Todd Vierling  <tv@wasabisystems.com>
2567
2568         * libbfd-in.h (bfd_target_vector): Change extern array to pointer.
2569         * libbfd.h (bfd_target_vector): Likewise.
2570         * targets.c (bfd_target_vector): Rename to _bfd_target_vector and
2571         make static; create pointer reference named bfd_target_vector.
2572         (_bfd_target_vector_entries): Calculate this based on the array
2573         typed _bfd_target_vector.
2574
2575 2001-02-06  H.J. Lu  <hjl@gnu.org>
2576
2577         * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and
2578         internal symbols are not dynamic.
2579         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
2580
2581 2001-02-06  Nick Clifton  <nickc@redhat.com>
2582
2583         * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-ia64.c, so
2584         that it will not be pulled into the list of files that make up
2585         po/POTFILES.in.
2586         * Makefile.in: Regenerate.
2587         * po/bfd.pot:  Regenerate.
2588
2589 2001-02-06  H.J. Lu  <hjl@gnu.org>
2590
2591         * peicode.h (coff_swap_filehdr_in): Remove the e_magic
2592         checking.
2593         (pe_bfd_object_p): Rewrite with external_PEI_DOS_hdr and
2594         external_PEI_IMAGE_hdr.
2595
2596 2001-02-06  Kazu Hirata  <kazu@hxi.com>
2597
2598         * elf-m10200.c: Fix formatting.
2599
2600 2001-02-04  Nick Clifton  <nickc@redhat.com>
2601
2602         * elf32-v850.c (v850_elf_reloc): Do not convert reloc addend to PC
2603         rel, it will be handled later on.
2604
2605 2001-02-02  Fred Fish  <fnf@ninemoons.com>
2606
2607         * Makefile.in: Fix typo.
2608
2609 2001-02-01  Kazu Hirata  <kazu@hxi.com>
2610
2611         * elf-m10300.c: Fix formatting.
2612
2613 2001-01-30  Alan Modra  <alan@linuxcare.com.au>
2614
2615         * elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function.
2616         (elf_backend_get_symbol_type): Define.
2617         (elf64_hppa_object_p): Set architecture and machine from elf
2618         header flags.
2619
2620 2001-01-30  Curtis L. Janssen  <cljanss@ca.sandia.gov>
2621
2622         * elf64-alpha.c (elf64_alpha_find_nearest_line): Query dwarf2
2623         before mdebug.
2624
2625 2001-01-26  Richard Henderson  <rth@redhat.com>
2626
2627         * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Return false
2628         for non-default visibility.
2629         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise, but
2630         delete ugly macro and replace with pretty function.
2631
2632 2001-01-25  Mark Elbrecht  <snowball3@bigfoot.com>
2633
2634         * coff-go32.c: Update copyright.
2635         * coff-stgo32.c: Likewise.
2636         * coff-go32.c (COFF_LONG_FILENAMES): Define.
2637         * coff-stgo32.c (COFF_LONG_FILENAMES): Likewise.
2638         * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Remove .bss entry.
2639         * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2640
2641 2001-01-25  Kazu Hirata  <kazu@hxi.com>
2642
2643         * bfd-in2.h: Rebuild.
2644         * libbfd.h: Likewise.
2645
2646 2001-01-23  H.J. Lu  <hjl@gnu.org>
2647
2648         * bfd-in2.h: Rebuild.
2649
2650 2001-01-23  H.J. Lu  <hjl@gnu.org>
2651
2652         * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_buf)
2653         is NULL or PRIV(vms_rec) is outside of the buffer.
2654
2655 2001-01-23  Kazu Hirata  <kazu@hxi.com>
2656
2657         * coff64-rs6000.c: Fix formatting.
2658         * coff-arm.c: Likewise.
2659         * coffgen.c: Likewise.
2660         * cofflink.c: Likewise.
2661         * coff-mcore.c: Likewise.
2662         * coff-mips.c: Likewise.
2663         * coff-pmac.c: Likewise.
2664         * coff-ppc.c: Likewise.
2665         * coff-rs6000.c: Likewise.
2666         * elf32.c: Likewise.
2667         * elf32-fr30.c: Likewise.
2668         * elf32-i370.c: Likewise.
2669         * elf32-i860.c: Likewise.
2670         * elf32-m32r.c: Likewise.
2671         * elf32-m68k.c: Likewise.
2672         * elf32-mcore.c: Likewise.
2673         * elf32-ppc.c: Likewise.
2674         * elf32-sh.c: Likewise.
2675         * elf32-v850.c: Likewise.
2676         * elf64-alpha.c: Likewise.
2677         * elf64-sparc.c: Likewise.
2678         * elflink.c: Likewise.
2679         * elflink.h: Likewise.
2680         * elf-m10200.c: Likewise.
2681         * elf-m10300.c: Likewise.
2682         * elfxx-ia64.c: Likewise.
2683
2684         * aoutx.h: Fix formatting.
2685         * bfd.c: Likewise.
2686         * bfd-in2.h: Likewise.
2687         * bfd-in.h: Likewise.
2688         * cpu-i386.c: Likewise.
2689         * cpu-m68hc11.c: Likewise.
2690         * dwarf2.c: Likewise.
2691         * elf64-x86-64.c: Likewise.
2692         * format.c: Likewise.
2693         * freebsd.h: Likewise.
2694         * hash.c: Likewise.
2695         * hp300hpux.c: Likewise.
2696         * hppabsd-core.c: Likewise.
2697         * hpux-core.c: Likewise.
2698
2699 2001-01-22  Bo Thorsen  <bo@suse.de>
2700
2701         * elf64-x86-64.c: Added PIC support for X86-64.
2702         (elf64_x86_64_link_hash_newfunc): Function added.
2703         (elf64_x86_64_link_hash_table_create): Likewise.
2704         (elf64_x86_64_check_relocs): Likewise.
2705         (elf64_x86_64_gc_mark_hook): Likewise.
2706         (elf64_x86_64_gc_sweep_hook): Likewise.
2707         (elf64_x86_64_adjust_dynamic_symbol): Likewise.
2708         (elf64_x86_64_size_dynamic_sections): Likewise.
2709         (elf64_x86_64_discard_copies): Likewise.
2710         (elf64_x86_64_finish_dynamic_symbol): Likewise.
2711         (elf64_x86_64_finish_dynamic_sections): Likewise.
2712         (elf64_x86_64_relocate_section): Add relocation of PIC sections.
2713
2714 2001-01-21  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
2715
2716         * Makefile.am (install-data-local): Make use of $(DESTDIR).
2717         * Makefile.in: Regenerate.
2718
2719 2001-01-21  Kazu Hirata  <kazu@hxi.com>
2720
2721         * coff-a29k.c: Fix formatting.
2722
2723 2001-01-19  H.J. Lu  <hjl@gnu.org>
2724
2725         * elf32-i386.c (elf_i386_check_relocs): Report files with bad
2726         relocation section names.
2727         (elf_i386_relocate_section): Report files with bad relocation
2728         section names and return false.
2729
2730 2001-01-17  Bo Thorsen  <bo@suse.de>
2731
2732         * targets.c: Alphabetize list of xvecs.
2733
2734 2001-01-14  Alan Modra  <alan@linuxcare.com.au>
2735
2736         * config.bfd: Add linux target variant for elfxx-hppa.
2737         * configure.in: Recognize bfd_elf32_hppa_linux_vec and
2738         bfd_elf64_hppa_linux_vec.
2739         * configure: Regenerate.
2740         * elf64-hppa.c: Include elf64-target.h again to support linux
2741         target variant.
2742         (elf64_hppa_post_process_headers): Set ELFOSABI_LINUX for linux.
2743         * elf32-hppa.c: Include elf32-target.h again to support linux
2744         target variant.
2745         (elf32_hppa_post_process_headers): New function.
2746         (elf_backend_post_process_headers): Define.
2747         * targets.c (bfd_target_vector): Add bfd_elf64_hppa_linux_vec and
2748         bfd_elf32_hppa_linux_vec.
2749
2750         * elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base,
2751         and data_segment_base fields.
2752         (elf32_hppa_link_hash_table_create ): Init them.
2753         (elf32_hppa_check_relocs): Update comments.
2754         (hppa_record_segment_addr): New function.
2755         (elf32_hppa_relocate_section): Call it.
2756         (final_link_relocate): Handle R_PARISC_SEGREL32.
2757         (elf32_hppa_final_link): New function.
2758         (bfd_elf32_bfd_final_link): Define to call it.
2759         (hppa_unwind_entry_compare): New function.
2760         * cache.c (bfd_open_file): Create files in write+read mode.
2761
2762         * elf-hppa.h (elf_hppa_howto_table): Set bitsize value for
2763         SEGREL32 and numerous other relocs.  Change duplicate
2764         R_PARISC_NONE relocs to R_PARISC_UNIMPLEMENTED.
2765
2766         * opncls.c (bfd_fdopenr): Add parens like the comment says around
2767         O_ACCMODE.
2768
2769         * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Don't create
2770         .plt entries for DT_INIT and DT_FINI.
2771         (elf32_hppa_finish_dynamic_sections): Remove special handling of
2772         DT_INIT and DT_FINI.
2773
2774         * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Use 16-bit
2775         offsets for stub .plt access if wide mode.  Check offset in range.
2776
2777 2001-01-13  Nick Clifton  <nickc@redhat.com>
2778
2779         * elf32-fr30.c (fr30_elf_howto_table): Remove spurious blank
2780         line.
2781
2782         * coffcode.h (coff_canonicalize_reloc): Remove spurious blank
2783         line.
2784
2785 2001-01-12  Alan Modra  <alan@linuxcare.com.au>
2786
2787         * configure.in ([bfd_elf64_x86_64_vec]): Set target64.
2788         * configure: Regenerate.
2789
2790 2001-01-11  Peter Targett  <peter.targett@arccores.com>
2791
2792         * bfd-in2.h (bfd_architecture): Add bfd_mach_arc_5,
2793         bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8 for ARC variants.
2794         * cpu-arc.c (arch_info_struct): Add entries for variants.
2795         (bfd_arc_arch) Set default to bfd_mach_arc_5.
2796         (arc_get_mach) Don't assume machine names prefixed arc- before
2797         testing.
2798         * elf32-arc.c (arc_elf_object_p): Set machine number based on new
2799         selections.
2800         (arc_elf_final_write_processing) Likewise.
2801         (ELF_MACHINE_CODE) Use EM_ARC.
2802
2803 2001-01-10  Nick Clifton  <nickc@redhat.com>
2804
2805         * coff-arm.c (LOCAL_LABEL_PREFIX): Change definition to "".
2806
2807 2001-01-07  Philip Blundell  <philb@gnu.org>
2808
2809         * README: Replace `bug-gnu-utils@gnu.org' with
2810         `bug-binutils@gnu.org'.
2811
2812 2001-01-04  Kazu Hirata  <kazu@hxi.com>
2813
2814         * som.c: Fix formatting.
2815
2816 2001-01-03  Kazu Hirata  <kazu@hxi.com>
2817
2818         * ecoffswap.h: Fix formatting.
2819         * elf-bfd.h: Likewise.
2820         * elfarm-nabi.c: Likewise.
2821         * elfarm-oabi.c: Likewise.
2822         * elfcode.h: Likewise.
2823         * elfcore.h: Likewise.
2824         * elflink.c: Likewise.
2825         * elflink.h: Likewise.
2826         * elfxx-ia64.c: Likewise.
2827         * elfxx-target.h: Likewise.
2828         * libbfd.c: Likewise
2829         * linker.c: Likewise.
2830         * lynx-core.c: Likewise.
2831
2832 2001-01-02  Kazu Hirata  <kazu@hxi.com>
2833
2834         * pc532-mach.c: Fix formatting.
2835         * pe-arm.c: Likewise.
2836         * pe-i386.c: Likewise.
2837         * pe-mips.c: Likewise.
2838         * pe-ppc.c: Likewise.
2839         * pe-sh.c: Likewise.
2840         * pei-mips.c: Likewise.
2841         * pei-sh.c: Likewise.
2842         * peicode.h: Likewise.
2843         * ppcboot.c: Likewise.
2844         * ptrace-core.c: Likewise.
2845
2846 2001-01-01  Kazu Hirata  <kazu@hxi.com>
2847
2848         * reloc.c: Fix formatting.
2849         * riscix.c: Likewise.
2850         * rs6000-core.c: Likewise.
2851         * xcoff-target.h: Likewise.
2852
2853 2000-12-29  Hans-Peter Nilsson  <hp@bitrange.com>
2854
2855         * elfcode.h (elf_object_p): Also restore the bfd mach field on
2856         error, by calling bfd_default_set_arch_mach with incoming
2857         values.
2858
2859 2000-12-26  Kazu Hirata  <kazu@hxi.com>
2860
2861         * vaxnetbsd.c: Fix formatting.
2862         * versados.c: Likewise.
2863         * vms-gsd.c: Likewise.
2864         * vms-hdr.c: Likewise.
2865         * vms-misc.c: Likewise.
2866
2867 2000-12-25  Alexandre Oliva  <aoliva@redhat.com>
2868
2869         * archive.c (coff_write_armap): Don't write more than symbol_count
2870         `archive_member_file_ptr's.
2871
2872 2000-12-25  Kazu Hirata  <kazu@hxi.com>
2873
2874         * vms-tir.c: Fix formatting.
2875
2876 2000-12-23  Kazu Hirata  <kazu@hxi.com>
2877
2878         * vms.c: Fix formatting.
2879         * vms.h: Likewise.
2880
2881 2000-12-21  Santeri Paavolainen <santtu@ssh.com>
2882
2883         * vms-hdr.c: Include alloca.h if HAVE_ALLOCA_H is defined.
2884
2885         * peicode.h (pe_ILF_object_p): Add const to import of TARGET_LITTLE_SYM.
2886
2887         * elf32-m32r.c (m32r_elf_generic_reloc): Add cast to avoid (void *)
2888         arithmetic.
2889
2890         * elf32-fr30.c: Add casts to avoid (void *) arithmetic.
2891
2892         * coffcode.h (styp_to_sec_flags): Add empty statement after label.
2893
2894 2000-12-21  Richard Sandiford  <rsandifo@redhat.com>
2895
2896         * libbfd.c (bfd_get_bits): Added
2897         (bfd_put_bits): Likewise
2898         * bfd-in.h: Declared the above.
2899         * bfd-in2.h: Regenerated.
2900
2901 2000-12-20  Kazu Hirata  <kazu@hxi.com>
2902
2903         * targets.c: Fix formatting.
2904         * tekhex.c: Likewise.
2905         * trad-core.c: Likewise.
2906
2907 2000-12-19  Kazu Hirata  <kazu@hxi.com>
2908
2909         * sco5-core.c: Fix formatting.
2910         * section.c: Likewise.
2911         * sparclinux.c: Likewise.
2912         * sparclynx.c: Likewise.
2913         * sparcnetbsd.c: Likewise.
2914         * srec.c: Likewise.
2915         * stabs.c: Likewise.
2916         * stab-syms.c: Likewise.
2917         * sunos.c: Likewise.
2918         * syms.c: Likewise.
2919         * sysdep.h: Likewise.
2920
2921 2000-12-18  Nick Clifton  <nickc@redhat.com>
2922
2923         * coff-arm.c (EXTRA_S_FLAGS): Only define if not already
2924         defined.
2925         * epoc-pe-arm.c (EXTRA_S_FLAGS): Define.
2926         * epoc-pei-arm.c (EXTRA_S_FLAGS): Define.
2927
2928 2000-12-18  Nick Clifton  <nickc@redhat.com>
2929
2930         * vms-misc.c (_bfd_vms_get_record): Add default case to
2931         file_format switch.
2932
2933 2000-12-15  Miloslav Trmac <mitr@volny.cz>
2934
2935         * elfcore.h (elf_core_file_p): Move to the start of the program
2936         headers before attempting to read them.
2937
2938 2000-12-14  Kazu Hirata  <kazu@hxi.com>
2939
2940         * peigen.c: Fix formatting.
2941         * som.c: Likewise.
2942         * som.h: Likewise.
2943
2944 2000-12-13  Kazu Hirata  <kazu@hxi.com>
2945
2946         * peigen.c: Fix formatting.
2947
2948 2000-12-12  Jim Wilson  <wilson@redhat.com>
2949
2950         *  elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *.
2951
2952 2000-12-08  Mark Salter  <msalter@redhat.com>
2953
2954         * binary.c (binary_set_section_contents): Ignore sections
2955         with zero size.
2956
2957 2000-12-12  Kazu Hirata  <kazu@hxi.com>
2958
2959         * m68klinux.c: Fix formatting.
2960         * m68knetbsd.c: Likewise.
2961         * mipsbsd.c: Likewise.
2962         * netbsd-core.c: Likewise.
2963         * netbsd.h: Likewise.
2964         * newsos3.c: Likewise.
2965         * nlm32-alpha.c: Likewise.
2966         * nlm32-i386.c: Likewise.
2967         * nlm32-ppc.c: Likewise.
2968         * nlm32-sparc.c: Likewise.
2969         * nlmcode.h: Likewise.
2970         * nlmswap.h: Likewise.
2971         * nlm-target.h: Likewise.
2972         * ns32knetbsd.c: Likewise.
2973
2974 2000-12-10  Fred Fish  <fnf@be.com>
2975
2976         * elflink.h (elf_link_output_extsym): Don't complain about undefined
2977         symbols in shared objects if allow_shlib_undefined is true.
2978
2979 2000-12-12  Nick Clifton  <nickc@redhat.com>
2980
2981         * cpu-sh.c: Fix formattng.
2982         * elf.c: Fix formattng.
2983         * elf32-mips.c: Fix formattng.
2984         * elf32-sh.c: Fix formattng.
2985         * elf64-alpha.c: Fix formattng.
2986
2987 2000-12-09  Nick Clifton  <nickc@redhat.com>
2988
2989         * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Pass
2990         dwarf2_find_line_info as last parameter to invocation of
2991         _bfd_dwarf2_find_nearest_line.
2992         * elf32-arm.h (elf32_arm_find_nearest_line): Pass
2993         dwarf2_find_line_info as last parameter to invocation of
2994         _bfd_dwarf2_find_nearest_line.
2995
2996 2000-12-08  Mark Elbrecht  <snowball3@bigfoot.com>
2997
2998         * Makefile.am (BFD32_BACKENDS): Move dwarf2.lo from here...
2999         (BFD_LIBS): ...to here.
3000         (BFD32_BACKENDS_CFILES): Move dwarf2.c from here...
3001         (BFD_LIBS_CFILES): ...to here.
3002         * Makefile.in: Regenerate.
3003         * configure.in: Remove dwarf.lo from the elf shell variable.
3004         * configure: Regenerate.
3005         * libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info.
3006         * libcoff.h: Regenerate.
3007         * coffgen.c (coff_find_nearest_line): Call
3008         _bfd_dwarf2_find_nearest_line.
3009         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update
3010         accordingly.
3011         (read_abbrevs): Likewise
3012         (decode_line_info): Likewise.
3013         (parse_comp_unit): Likewise.
3014         (comp_unit_find_nearest_line): Likewise.
3015         * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
3016         * libbfd.h: Regenerate.
3017         * elf.c (_bfd_elf_find_nearest_line): Update call.
3018         * elf-bfd.h (elf_obj_tdata): Change dwarf2_find_line_info to type PTR.
3019         * dwarf2.c (concat_filename): Use IS_ABSOLUTE_PATH.
3020         * coffcode.h (STYP_XCOFF_DEBUG, STYP_DEBUG_INFO): New macros.
3021         (sec_to_styp_flags): Use them. Handle DWARF2 sections.
3022         (styp_to_sec_flags): Handle DWARF2 sections.
3023         * elf32-arm.h (elf32_arm_find_nearest_line): Add parameter to call
3024         to _bfd_find_nearest_line.
3025         * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to
3026         call to _bfd_find_nearest_line.
3027
3028 2000-12-08  Kazu Hirata  <kazu@hxi.com>
3029
3030         * coffgen.c: Fix formatting.
3031         * elf-m10300.c: Likewise.
3032         * elf32-i386.c: Likewise.
3033         * elf32-i960.c: Likewise.
3034         * elf32-m68k.c: Likewise.
3035         * elf32-mcore.c: Likewise.
3036         * elf32-ppc.c: Likewise.
3037         * elf32-sh.c: Likewise.
3038         * elf32-sparc.c: Likewise.
3039         * elf32-v850.c: Likewise.
3040         * elf64-alpha.c: Likewise.
3041         * elf64-hppa.c: Likewise.
3042         * elf64-mips.c: Likewise.
3043         * elf64-sparc.c: Likewise.
3044
3045 2000-12-07  Kazu Hirata  <kazu@hxi.com>
3046
3047         * elf32-ppc.c: Fix formatting.
3048         * elf64-x86-64.c: Likewise.
3049
3050 2000-12-06  Ulf Carlsson  <ulfc@engr.sgi.com>
3051
3052         From  Ralf Baechle  <ralf@gnu.org>
3053
3054         * elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit
3055         BFDs containing no sections or empty .text, .data or .bss sections
3056         to be merged, regardless of their flags.
3057
3058 2000-12-06  Kazu Hirata  <kazu@hxi.com>
3059
3060         * elf32-m32r.c: Fix formatting.
3061         * elf32-m68hc11.c: Likewise.
3062         * elf32-m68hc12.c: Likewise.
3063         * elf32-m68k.c: Likewise.
3064         * elf32-mcore.c: Likewise.
3065         * elf32-pj.c: Likewise.
3066         * elf32-ppc.c: Likewise.
3067
3068 2000-12-05  Kazu Hirata  <kazu@hxi.com>
3069
3070         * elf32-fr30.c: Fix formatting.
3071         * elf32-hppa.c: Likewise.
3072         * elf32-i370.c: Likewise.
3073         * elf32-i386.c: Likewise.
3074         * elf32-i860.c: Likewise.
3075         * elf32-i960.c: Likewise.
3076
3077 2000-12-03  Kazu Hirata  <kazu@hxi.com>
3078
3079         * elf32-arm.h: Fix formatting.
3080         * elf32-avr.c: Likewise.
3081         * elf32-cris.c: Likewise.
3082         * elf32-d10v.c: Likewise.
3083         * elf32-d30v.c: Likewise.
3084         * elf-hppa.h: Likewise.
3085         * elf-m10200.c: Likewise.
3086         * elf-m10300.c: Likewise.
3087
3088 2000-12-01  Chris Demetriou  <cgd@sibyte.com>
3089
3090         * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and
3091         bfd_mach_mips32_4k.  Update FIXME comment.
3092         * archures.c (bfd_mach_mips32): New constant.
3093         (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
3094         the latter, renumber it.
3095         * bfd-in2.h (bfd_mach_mips32): New constant.
3096         (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
3097         the latter, renumber it.
3098         * cpu-mips.c (I_mips32): New constant.
3099         (I_mips4K, I_mips32_4k): Rename the former to the latter.
3100         (arch_info_struct): Add bfd_mach_mips32 entry, replace
3101         bfd_mach_mips4K entry with bfd_mach_mips32_4k entry.
3102         * elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case.
3103         (elf_mips_mach): Likewise.  Also, replace E_MIPS_MACH_MIPS32
3104         with E_MIPS_MACH_MIPS32_4K.
3105         (_bfd_mips_elf_final_write_processing): Replace
3106         bfd_mach_mips4K with bfd_mach_mips32_4k case, add
3107         bfd_mach_mips32 case.
3108         (_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing
3109         comparison with support for MIPS32.
3110         (_bfd_mips_elf_print_private_bfd_data): Print ISA name for
3111         MIPS32.
3112
3113         * aoutx.h (NAME(aout,machine_type)): Add cases for
3114         bfd_mach_mips5 and bfd_mach_mips64.
3115         * archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants.
3116         * bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise.
3117         * cpu_mips.c (I_mips5, I_mips64): New definitions.
3118         (arch_info_struct): Add entries for bfd_mach_mips5 and
3119         bfd_mach_mips64.
3120         * elf32-mips.c (elf_mips_isa, elf_mips_mach,
3121         _bfd_mips_elf_print_private_bfd_data): Add cases for
3122         E_MIPS_ARCH_5 and E_MIPS_ARCH_64.
3123         (_bfd_mips_elf_final_write_processing): Add cases for
3124         bfd_mach_mips5 and bfd_mach_mips64.
3125
3126         * aoutx.h (NAME(aout,machine_type)): Add a
3127         bfd_mach_mips_sb1 case.
3128         * archures.c (bfd_mach_mips_sb1): New constant.
3129         * bfd-in2.h (bfd_mach_mips_sb1): New constant.
3130         * cpu-mips.c (I_sb1): New constant.
3131         (arch_info_struct): Add entry for bfd_mach_mips_sb1.
3132         * elf32-mips.c (elf_mips_mach): Add case for
3133         E_MIPS_MACH_SB1.
3134         (_bfd_mips_elf_final_write_processing): Add case for
3135         bfd_mach_mips_sb1.
3136
3137 2000-12-01  Joel Sherrill <joel@OARcorp.com>
3138
3139         * config.bfd (arm-*-rtems*, a29k-*rtems*): New targets.
3140         (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
3141         (sparc*-*-rtems*): Switched from a.out to ELF.
3142
3143 2000-11-30  Jan Hubicka  <jh@suse.cz>
3144
3145         * Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo
3146         BFD64_BACKENDS_CFILES): Add elf64-x86-64.c
3147         (elf64-x86-64.lo): Add dependencies.
3148         * archures.c (DESCRIPTION): Add bfd_mach_x86_64,
3149         bfd_mach_x86_64_intel_syntax.
3150         * elf.c (prep_headers): Use EM_x86_64 for 64bit output.
3151         * config.bfd (x86_64): Add.
3152         * configure.in: Add support for bfd_elf64_x86_64_vec.
3153         * cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add.
3154         (bfd_i386_arch, i8086_ar): Link in.
3155         * elf64-x86-64.c: New file.
3156         * reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*.
3157         * targets.c (bfd_elf64_x86_64_vec): Add.
3158         (bfd_target_vect): Add bfd_elf64_x86_64_vec.
3159
3160 2000-11-30  Kazu Hirata  <kazu@hxi.com>
3161
3162         * xcofflink.c: Fix formatting.
3163
3164 2000-11-28  Kazu Hirata  <kazu@hxi.com>
3165
3166         * aoutx.h: Fix formatting.
3167         * bfd-in.h: Likewise.
3168         * bfd-in2.h: Likewise.
3169         * cache.c: Likewise.
3170         * cisco-core.c: Likewise.
3171         * coff64-rs6000.c: Likewise.
3172         * coffcode.h: Likewise.
3173         * coffswap.h: Likewise.
3174         * corefile.c: Likewise.
3175         * elf32-mips.c: Likewise.
3176
3177 2000-11-27  Kazu Hirata  <kazu@hxi.com>
3178
3179         * aout-adobe.c: Fix formatting.
3180         * coff64-rs6000.c: Likewise.
3181         * coffgen.c: Likewise.
3182         * cofflink.c: Likewise.
3183
3184 2000-11-27  Philip Blundell  <pb@futuretv.com>
3185
3186         * libcoff-in.h (coff_tdata): Add `strings_written' flag.
3187         (obj_coff_strings_written): New accessor macro for above.
3188         * libcoff.h: Regenerate.
3189         * cofflink.c (_bfd_coff_final_link): Say that we wrote the
3190         strings.
3191         * coffcode.h (coff_write_object_contents): No need to write out
3192         the string table if it's already been done.
3193
3194 2000-11-22  Philip Blundell  <pb@futuretv.com>
3195
3196         * cofflink.c (_bfd_coff_generic_relocate_section): Don't object to
3197         weak undefined symbols.
3198
3199 2000-11-24  Nick Clifton  <nickc@redhat.com>
3200
3201         * archures.c (bfd_mach_arm_5TE): Define.
3202         (bfd_mach_arm+XScale): Define.
3203         * bfd-in2.h: Regenerate.
3204
3205         * coff-arm.c (coff_arm_reloc_type_lookup): Accept
3206         BFD_RELOC_ARM_PCREL_BLX.
3207
3208         * coffcode.h (coff_set_flags): Set flags for 5t, 5te and
3209         XScale machine numbers.
3210
3211         * config.bfd (xscale-elf): Add target.
3212         (xscale-coff): Add target.
3213
3214         * cpu-arm.c: Add xscale machine name.
3215         Add v5t, v5te and XScale machine numbers.
3216
3217 2000-11-23  Kazu Hirata  <kazu@hxi.com>
3218
3219         * aix386-core.c: Fix formatting.
3220
3221 2000-11-22  Jim Wilson  <wilson@redhat.com>
3222
3223         * coff-ia64.c (howto_table): Use EMPTY_HOWTO.
3224         (in_reloc_p): Add ATTRIBUTE_UNUSED to unused parameters.
3225         * cpu-ia64-opc.c (ins_rsvd, ext_rsvd, ins_const, ext_const): Likewise.
3226         (ins_imms_scaled): Initialize sign_bit at function entry.
3227         (elf64_ia64_operands): Add missing initializers.
3228         * elfxx-ia64.c (elfNN_ia64_reloc, elfNN_ia64_reloc_type_lookup,
3229         elfNN_ia64_info_to_howto, elfNN_ia64_fake_sections,
3230         elfNN_ia64_add_symbol_hook, elfNN_ia64_is_local_label_name,
3231         elfNN_ia64_local_hash_table_init, get_fptr, get_pltoff,
3232         elfNN_ia64_adjust_dynamic_symbol): Add ATTRIBUTE_UNUSED for unused
3233         parameters.
3234         (elfNN_ia64_info_to_howto): Initialize free_relocs, free_contents,
3235         and free_extsyms at function entry.
3236         (elfNN_add_symbol_hook): Add unsigned cast to bfd_get_gp_size result.
3237         (elfNN_ia64_create_dynamic_sections): Delete unused local h.
3238         (get_got): Delete unused local srel.
3239         (elfNN_ia64_check_relocs): Initialize dynrel_type when declared.
3240         (elfNN_ia64_relocate_section): Delete unused local dynindx.
3241
3242 2000-11-21  Kazu Hirata  <kazu@hxi.com>
3243
3244         * coff-a29k.c: Fix formatting.
3245         * coff-h8500.c: Likewise.
3246         * coff-i960.c: Likewise.
3247         * coff-ppc.c: Likewise.
3248         * coff-rs6000.c: Likewise.
3249         * coff-stgo32.c: Likewise.
3250         * coff-tic54x.c: Likewise.
3251         * coff-w65.c: Likewise.
3252         * cpu-h8500.c: Likewise.
3253         * cpu-hppa.c: Likewise.
3254         * cpu-ns32k.c: Likewise.
3255         * ecoff.c: Likewise.
3256         * ecofflink.c: Likewise.
3257
3258 2000-11-21  Nick Clifton  <nickc@redhat.com>
3259
3260         * elf32-sh.c (sh_elf_reloc_loop): Fix compile time warning, and
3261         remove possibility of infinite loop.
3262
3263 2000-11-20  Kazu Hirata  <kazu@hxi.com>
3264
3265         * aix386-core.c: Fix formatting.
3266         * aout-adobe.c: Likewise.
3267         * aout-arm.c: Likewise.
3268         * aout-encap.c: Likewise.
3269         * aout-ns32k.c: Likewise.
3270         * aout-target.h: Likewise.
3271         * aout-tic30.c: Likewise.
3272         * aoutf1.h: Likewise.
3273         * aoutx.h: Likewise.
3274         * archive.c: Likewise.
3275         * bfd-in.h: Likewise.
3276         * bfd-in2.h: Likewise.
3277         * bfd.c: Likewise.
3278         * bout.c: Likewise.
3279
3280 2000-11-17  H.J. Lu  <hjl@gnu.org>
3281
3282         * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Don't create
3283         pltoff entries for DT_INIT and DT_FINI.
3284         (elfNN_ia64_final_link): Don't set DT_INIT/FINI entries.
3285         (elfNN_ia64_finish_dynamic_sections): Don't fill in DT_INIT/FINI
3286         entries.
3287
3288 2000-11-16  Richard Henderson  <rth@redhat.com>
3289
3290         * elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs.
3291         (allocate_dynrel_entries): Likewise.
3292         (elfNN_ia64_relocate_section): Likewise.  Set REL addends correctly.
3293         (set_pltoff_entry): Likewise.
3294         (ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB
3295         (elfNN_ia64_reloc_type_lookup): Likewise.
3296         (elfNN_ia64_install_value): Likewise.
3297         (elfNN_ia64_relocate_section): Likewise.
3298         * reloc.c (BFD_RELOC_IA64_SEGBASE): Remove.
3299         (BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove.
3300
3301 2000-11-16  Kazu Hirata  <kazu@hxi.com>
3302
3303         * cpu-a29k.c: Fix formatting.
3304         * cpu-alpha.c: Likewise.
3305         * cpu-arm.c: Likewise.
3306         * cpu-avr.c: Likewise.
3307         * cpu-d10v.c: Likewise.
3308         * cpu-h8500.c: Likewise.
3309         * cpu-hppa.c: Likewise.
3310         * cpu-i370.c: Likewise.
3311         * cpu-i386.c: Likewise.
3312         * cpu-i960.c: Likewise.
3313         * cpu-ia64-opc.c: Likewise.
3314         * cpu-ia64.c: Likewise.
3315         * cpu-m32r.c: Likewise.
3316         * cpu-m68hc11.c: Likewise.
3317         * cpu-m68hc12.c: Likewise.
3318         * cpu-m68k.c: Likewise.
3319         * cpu-m88k.c: Likewise.
3320         * cpu-mips.c: Likewise.
3321         * cpu-ns32k.c: Likewise.
3322         * cpu-pj.c: Likewise.
3323         * cpu-powerpc.c: Likewise.
3324         * cpu-sh.c: Likewise.
3325         * cpu-sparc.c: Likewise.
3326         * cpu-tic54x.c: Likewise.
3327         * cpu-v850.c: Likewise.
3328         * cpu-vax.c: Likewise.
3329         * cpu-w65.c: Likewise.
3330         * cpu-we32k.c: Likewise.
3331         * cpu-z8k.c: Likewise.
3332         * dwarf1.c: Likewise.
3333         * dwarf2.c: Likewise.
3334
3335 2000-11-15  Kazu Hirata  <kazu@hxi.com>
3336
3337         * coff-arm.c: Fix formatting.
3338         * coff-ppc.c: Likewise.
3339         * coff-rs6000.c: Likewise.
3340         * coff-sh.c: Likewise.
3341         * coff-sparc.c: Likewise.
3342         * coff-tic30.c: Likewise.
3343         * coff-tic54x.c: Likewise.
3344         * coff-tic80.c: Likewise.
3345         * coff-w65.c: Likewise.
3346         * coff-we32k.c: Likewise.
3347         * coff-z8k.c: Likewise.
3348
3349 2000-11-15  Richard Henderson  <rth@redhat.com>
3350
3351         * elf64-alpha.c (elf64_alpha_check_relocs): Create the reloc
3352         section with the same ALLOC|LOAD flags as the source section.
3353
3354 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3355
3356         * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used
3357         by STO_ALPHA constants.
3358
3359 2000-11-14  Kazu Hirata  <kazu@hxi.com>
3360
3361         * coff-pmac.c: Fix formatting.
3362         * coff-ppc.c: Likewise.
3363
3364 2000-11-13  H.J. Lu  <hjl@gnu.org>
3365
3366         * elflink.h (elf_link_add_object_symbols): Also add indirect
3367         symbols for common symbols with the default version.
3368
3369 2000-11-09  Philip Blundell  <pb@futuretv.com>
3370
3371         * section.c (STD_SECTION): Set gc_mark flag.
3372
3373 2000-11-11  Kazu Hirata  <kazu@hxi.com>
3374
3375         * coff-i960.c: Likewise.
3376         * coff-m68k.c: Likewise.
3377         * coff-m88k.c: Likewise.
3378         * coff-mcore.c: Likewise.
3379         * coff-mips.c: Likewise.
3380
3381 2000-11-11  Bernd Schmidt  <bernds@cygnus.co.uk>
3382
3383         * elf32-sh.c (sh_elf_relocate_section): Ignore R_SH_NONE relocs.
3384
3385 2000-11-10  Kazu Hirata  <kazu@hxi.com>
3386
3387         * coff-h8300.c: Fix formatting.
3388         * coff-h8500.c: Likewise.
3389         * coff-i386.c: Likewise.
3390         * coff-i860.c: Likewise.
3391         * coff-i960.c: Likewise.
3392         * coff-ia64.c: Likewise.
3393
3394 2000-11-09  Kazu Hirata  <kazu@hxi.com>
3395
3396         * archive.c: Fix formatting.
3397         * archures.c: Likewise.
3398
3399 2000-11-07  Richard Henderson  <rth@redhat.com>
3400
3401         * elfxx-ia64.c (elf64_ia64_final_link): New local unwind_output_sec.
3402         Set it before bfd_elf64_bfd_final_link call.  Use it after the call.
3403         * section.c (bfd_set_section_contents): Call memcpy if
3404         section->contents set and location not equal to contents plus offset.
3405
3406 2000-11-08  Kazu Hirata  <kazu@hxi.com>
3407
3408         * bfd-in.h: Fix formatting.
3409         * bfd-in2.h: Likewise.
3410         * bfd.c: Likewise.
3411         * binary.c: Likewise.
3412         * bout.c: Likewise.
3413         * coff-a29k.c: Likewise.
3414         * coff-alpha.c: Likewise.
3415         * coff-apollo.c: Likewise.
3416         * coff-aux.c: Likewise.
3417
3418 2000-11-07  Kazu Hirata  <kazu@hxi.com>
3419
3420         * aix386-core.c: Fix formatting.
3421         * aoutf1.h: Likewise.
3422         * aoutx.h: Likewise.
3423         * archures.c: Likewise.
3424         * armnetbsd.c: Likewise.
3425
3426 2000-11-07  Alan Modra  <alan@linuxcare.com.au>
3427
3428         * coff-h8300.c (special): Adjust reloc address.
3429
3430 2000-11-06  Steve Ellcey <sje@cup.hp.com>
3431
3432         * archures.c (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32): Add defines
3433         to differentiate elf32 and elf64 on ia64.
3434         * bfd-in2.h: Regenerate.
3435         * config.bfd: Add target for "ia64*-*-hpux*".
3436         * configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch.
3437         * configure: Regenerate.
3438         * cpu-ia64.c (bfd_ia64_elf32_arch): Add elf32 arch info structure.
3439         * targets.c: Add bfd_target bfd_elf32_ia64_big_vec.
3440
3441         * Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects
3442         from elfxx-ia64.c.  Add depenency rules for making elf32-ia64.lo.
3443         * Makefile.in: Regnerate.
3444         * elf64-ia64.c: Deleted.
3445         * elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c.
3446
3447 2000-11-06  Kazu Hirata  <kazu@hxi.com>
3448
3449         * aout-adobe.c: Fix formatting.
3450         * aout-arm.c: Likewise.
3451         * aout-cris.c: Likewise.
3452         * aout-encap.c: Likewise.
3453         * aout-ns32k.c: Likewise.
3454         * aout-target.h: Likewise.
3455         * aout-tic30.c: Likewise.
3456
3457 2000-11-05  Philip Blundell  <philb@gnu.org>
3458
3459         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit
3460         BFDs containing no sections to be merged, regardless of their flags.
3461
3462 2000-11-04  Philip Blundell  <philb@gnu.org>
3463
3464         * elf32-arm.h (elf32_arm_relocate_section): Suppress error message
3465         if a relocation for an undefined symbol also results in an
3466         overflow.
3467
3468 2000-11-06  Christopher Faylor <cgf@cygnus.com>
3469
3470         * config.bfd: Add support for Sun Chorus.
3471
3472 2000-11-05  David O'Brien  <obrien@FreeBSD.org>
3473
3474         * configure.in: Recognize alpha-*-freebsd*.
3475         * configure: Regenerate.
3476
3477 2000-11-02  Luciano Gemme <ishitawa@yahoo.com>
3478
3479         * srec.c (CHUNK): Rename to DEFAULT_CHUNK.
3480         (Chunk): New global variable set by a parameter in objcopy.c.
3481         (S3Forced): New global variable set by a parameter in
3482         objcopy.c.
3483         (srec_set_section_contents): If S3Forced is true, always generate
3484         S3 records.
3485         (srec_write_section): Use 'Chunk' to limit maximum length of S
3486         records.
3487
3488 2000-11-02  Per Lundberg  <plundis@chaosdev.org>
3489
3490         * config.bfd: Add support for i[3456]86-chaosdev-storm-chaos.
3491         * Makefile.in: Regenerate.
3492         * bfd-in2.h: Regenerate.
3493         * po/bfd.pot: Regenerate.
3494
3495 2000-10-31  Philip Blundell  <philb@gnu.org>
3496
3497         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
3498         EF_SOFT_FLOAT if it is defined.
3499
3500 2000-10-27  Philip Blundell  <philb@gnu.org>
3501
3502         * elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
3503         attempts to mix PIC code with non-PIC, just mark the output as
3504         being position dependent.
3505         (elf32_arm_merge_private_bfd_data): Likewise.  Print an error
3506         message for EF_SOFT_FLOAT mismatches.  Display diagnostics for
3507         all mismatches, not just the first one.
3508
3509 2000-10-25  Chris Demetriou  <cgd@sibyte.com>
3510
3511         * ieee.c (ieee_archive_p): Plug one of many possible
3512         memory leaks in error handling.
3513
3514 2000-10-20  Jakub Jelinek  <jakub@redhat.com>
3515
3516         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
3517         elf32_sparc_object_p, elf32_sparc_final_write_processing):
3518         Support v8plusb.
3519         * elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
3520         sparc64_elf_object_p): Support v9b.
3521         * archures.c: Declare v8plusb and v9b machines.
3522         * bfd-in2.h: Ditto.
3523         * cpu-sparc.c: Ditto.
3524
3525 2000-10-16  Geoffrey Keating  <geoffk@shoggoth.cygnus.com>
3526
3527         * elf64-sparc.c (sparc64_elf_relocate_section): Clear the location
3528         of a GOT reloc.
3529
3530         * elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): New macro.
3531         (SYMBOL_CALLS_LOCAL): New macro.
3532         (ppc_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
3533         (ppc_elf_check_relocs): Use SYMBOL_REFERENCES_LOCAL.
3534         (ppc_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
3535         (ppc_elf_relocate_section): Use flag variable to determine
3536         whether the relocation refers to a local symbol.
3537         Test whether a PLTREL24 reloc will produce a reloc by looking
3538         to see whether a PLT entry was made.
3539
3540 2000-10-14  Geoffrey Keating  <geoffk@shoggoth.cygnus.com>
3541
3542         * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
3543         entries that could serve as a definition for a weak symbol.
3544
3545 2000-10-13  Ulf Carlsson  <ulfc@engr.sgi.com>
3546
3547         From  Ralf Baechle  <ralf@gnu.org>
3548
3549         * elf32-mips.c (mips_elf_create_dynamic_relocation): New argument
3550         local_p.  Add symbol value only for non-R_MIPS_REL32 relocations
3551         against local symbols.
3552         (_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
3553
3554 2000-10-12  Alan Modra  <alan@linuxcare.com.au>
3555
3556         * section.c (struct sec): Add kept_section.
3557         (struct bfd_comdat_info): Remove sec, we can use above.
3558         (STD_SECTION): Add initializer.
3559         (bfd_make_section_anyway): Init here too.
3560
3561         * bfd-in2.h: Regenerate.
3562
3563         * elflink.h (elf_link_add_object_symbols): Remove unnecessary
3564         zeroing of `flags'.
3565         (elf_link_input_bfd): Set all asection->symbol->value's here, and
3566         fudge values for discarded link-once section symbols.
3567
3568         * elf64-hppa.c: Include alloca-conf.h
3569
3570 2000-10-11  Alan Modra  <alan@linuxcare.com.au>
3571
3572         * elf.c (swap_out_syms): Revert 2000-10-07 changes.
3573
3574         * ieee.c (ieee_make_empty_symbol): Oops, bfd_zalloc needs another arg.
3575
3576 2000-10-10  Alan Modra  <alan@linuxcare.com.au>
3577
3578         * ieee.c (ieee_make_empty_symbol): Use bfd_zalloc, not bfd_zmalloc.
3579
3580 2000-10-10  Tom Rix <trix@redhat.com>
3581
3582         * section.c (bfd_make_section_anyway): Release newsect ptr when
3583         newsect->symbol fails to alloc.  Use bfd_release instead of free.
3584
3585 2000-10-09  Richard Henderson  <rth@cygnus.com
3586
3587         * elf64-ia64.c (elf64_ia64_unwind_entry_compare_bfd): New.
3588         (elf64_ia64_unwind_entry_compare): New.
3589         (elf64_ia64_final_link): Sort the .IA_64.unwind section.
3590
3591 2000-10-07  Alan Modra  <alan@linuxcare.com.au>
3592
3593         * elflink.h (size_dynamic_sections): Don't create various tags if
3594         .dynstr is excluded from the link.  Don't set first dynsym entry
3595         if dynsymcount is zero.
3596         (elf_bfd_final_link): Don't try to swap out dynamic syms if
3597         .dynsym excluded from the link.  Don't try to write any dynamic
3598         sections excluded from the link.
3599
3600         * elf.c (swap_out_syms): Handle global section symbols.
3601
3602 2000-10-05  DJ Delorie  <dj@redhat.com>
3603
3604         * peigen.c (_bfd_pei_swap_scnhdr_out): note extended relocs
3605         * coffcode.h (coff_set_alignment_hook): read extended reloc count
3606         (coff_write_relocs): write extended reloc count
3607         (coff_write_object_contents): account for extended relocs
3608
3609 2000-10-05  Jim Wilson  <wilson@cygnus.com>
3610
3611         * elf-bfd.h (struct elf_backend_data): Add elf_backend_section_flags
3612         field.
3613         * elf.c (_bfd_elf_make_section_from_shdr): Call the
3614         elf_backend_section_flags function.
3615         * elf64-ia64.c (elf64_ia64_section_from_shdr): Delete flag conversion
3616         code.
3617         (elf64_ia64_section_flags): New function containing flag conversion
3618         code.
3619         (elf_backend_section_flags): Define to elf64_ia64_section_flags.
3620         * elfxx-target.h (elf_backend_section_flags): Define.
3621         (elfNN_bed): Initialize elf_backend_section_flags field.
3622
3623 2000-10-02  Alan Modra  <alan@linuxcare.com.au>
3624
3625         * elf32-hppa.c (elf32_hppa_check_relocs): Correct call to
3626         _bfd_elf32_gc_record_vtable.  Correct a comment.
3627
3628 2000-10-01  Ulf Carlsson  <ulfc@engr.sgi.com>
3629
3630         From  Ralf Baechle  <ralf@gnu.org>
3631
3632         * elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld
3633         produces binaries with got[1] = 0x80000001 to differenciate them
3634         for the dynamic linker from the broken binaries produced by old
3635         versions.
3636
3637 2000-09-30  Petr Sorfa <petrs@sco.com>
3638
3639         * elf.c (elfcore_grok_pstatus): Check for size of pxstatus_t.
3640         (elfcore_grok_lwpstatus): Check for size of lwpxstatus_t.
3641         * configure.in: Add check for pxstatus_t and lwpxstatus_t.
3642         * configure: Regenerate.
3643
3644 2000-09-27  Hans-Peter Nilsson  <hp@axis.com>
3645
3646         Define two bfd_targets for absence and presence of leading
3647         underscore on symbols.  Make sure to only link same kind.
3648         * elf32-cris.c (cris_elf_object_p,
3649         cris_elf_final_write_processing, cris_elf_print_private_bfd_data,
3650         cris_elf_merge_private_bfd_data): New.
3651         (elf_backend_object_p, elf_backend_final_write_processing,
3652         bfd_elf32_bfd_print_private_bfd_data,
3653         bfd_elf32_bfd_merge_private_bfd_data): Define.
3654         <Target vector definition>: Include elf32-target.h twice with
3655         different macro settings:
3656         (TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as
3657         bfd_elf32_us_cris_vec.
3658         (TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris".
3659         (elf_symbol_leading_char): First as 0, then '_'.
3660         (INCLUDED_TARGET_FILE): Define for second include of elf32-target.h.
3661         * config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs.
3662         * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector.
3663         * configure: Regenerate.
3664         * targets.c: Declare bfd_elf32_us_cris_vec.
3665         * po/bfd.pot: Regenerate.
3666
3667 2000-09-29  Momchil Velikov  <velco@fadata.bg>
3668
3669         * elf32-arm.h (arm_add_to_rel): Correctly adjust the addend for
3670         R_ARM_THM_PC22 relocations.
3671
3672 2000-09-29  NIIBE Yutaka <gniibe@chroot.org>
3673
3674         * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath.
3675
3676 2000-09-29  Momchil Velikov <velco@fadata.bg>
3677
3678         * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if
3679         is has the SEC_HAS_CONTENTS flag set.
3680
3681 2000-09-28  \81Örjan Friberg  <orjanf@axis.com>
3682             Hans-Peter Nilsson  <hp@axis.com>
3683
3684         * aout-cris.c (N_TXTADDR): Define.
3685
3686 2000-09-28  John David Anglin <dave@hiauly1.hia.nrc.ca>
3687
3688         * som.c: Include alloca-conf.h.
3689         * Makefile.am: "make dep-am"
3690         * Makefile.in: Regenerate.
3691
3692 2000-09-27  Alan Modra  <alan@linuxcare.com.au>
3693
3694         * elf32-hppa.c (plt_stub): New.
3695         (PLT_STUB_ENTRY): Define.
3696         (elf32_hppa_link_hash_table): Change multi_subspace to packed
3697         boolean.  Add need_plt_stub, has_12bit_branch and has_17bit_branch.
3698         (elf32_hppa_link_hash_table_create): Init to suit.
3699         (elf32_hppa_check_relocs): Set has_12bit_branch and
3700         has_17bit_branch as appropriate.
3701         (elf32_hppa_adjust_dynamic_symbol): Set need_plt_stub for
3702         non-local functions.
3703         (elf32_hppa_size_dynamic_sections): Correct setting of reltext.
3704         Add space for plt_stub as needed.
3705         (elf32_hppa_finish_dynamic_symbol): Point .plt entries for global
3706         functions at plt_stub.
3707         (elf32_hppa_finish_dynamic_sections): Write plt_stub.
3708         (elf32_hppa_create_dynamic_sections): Leave .plt executable.
3709
3710         * elf32-hppa.h (elf32_hppa_size_stubs): Add group_size param.
3711         * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.  Use it instead
3712         of fixed size, and if negative, disable handling of input sections
3713         before stub section.  Set up default stub group size depending
3714         on detected branch relocs.
3715         (hppa_build_one_stub): Use lrsel and rrsel for import stubs to
3716         ensure different offsets from sym_value aren't rounded to
3717         different 2k blocks.  Use lrsel and rrsel for other stubs too for
3718         consistency rather than necessity.
3719         (elf32_hppa_check_relocs): Handle R_PARISC_DIR14F.
3720         (final_link_relocate): Likewise.
3721         (elf32_hppa_relocate_section): Likewise.
3722
3723         * elf-hppa.h (elf_hppa_howto_table): Add R_PARISC_DIR14F reloc.
3724         (_bfd_elf_hppa_gen_reloc_type): Generate them.
3725         (elf_hppa_final_link_relocate): Handle them.
3726         (elf_hppa_relocate_insn): Likewise.
3727         (_bfd_elf_hppa_gen_reloc_type): Add missing e_ldsel and e_rdsel cases.
3728
3729 2000-09-26  Hans-Peter Nilsson  <hp@axis.com>
3730
3731         * elfcode.h (elf_object_p): Preserve and clear abfd section
3732         information.  Restore at error.
3733
3734 2000-09-26  Paul Sokolovsky  <Paul.Sokolovsky@technologist.com>
3735
3736         * peigen.c (_bfd_pei_swap_aouthdr_in): If some DataDirectory
3737         is empty, make sure that its rva also 0. NT loader dislikes
3738         having otherwise.
3739
3740 2000-09-26  Steve Ellcey <sje@cup.hp.com>
3741
3742         * som.c (som_bfd_derive_misc_symbol_info): Make weak symbols
3743         global by default.
3744
3745 2000-09-21  Alan Modra  <alan@linuxcare.com.au>
3746
3747         * elf32-hppa.c (elf32_hppa_check_relocs): Fix weak sym handling in
3748         currently unused RELATIVE_DYNAMIC_RELOCS code.
3749         (hppa_discard_copies): Likewise.
3750         (elf32_hppa_size_stubs): Size `input_list' array correctly.  Correct
3751         comments.  Don't check non-code output sections for stub grouping.
3752
3753 2000-09-20  Alan Modra  <alan@linuxcare.com.au>
3754
3755         * section.c (bfd_get_unique_section_name): Return NULL if
3756         bfd_malloc fails.
3757
3758 2000-09-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3759
3760         * elf32-m68k.c (elf_cpu32_plt0_entry): Change the PLT entry 0
3761         instruction sequence to actually work.
3762         (elf_m68k_finish_dynamic_sections): Change the patch-in offset
3763         accordingly.
3764
3765 2000-09-18  Alexandre Oliva  <aoliva@redhat.com>
3766
3767         * elf32-sh.c (sh_elf_relocate_section): Use
3768         _bfd_final_link_relocate to apply the relocation against a section
3769         symbol, when doing relocatable links.
3770
3771 2000-09-18  Alan Modra  <alan@linuxcare.com.au>
3772
3773         * elf32-hppa.c (elf32_hppa_stub_hash_entry): Rename input_section
3774         to id_sec.
3775         (stub_hash_newfunc): Here too.
3776         (hppa_add_stub): And here.
3777         (elf32_hppa_link_hash_table): Remove stub_section_created,
3778         reloc_section_created, first_init_sec and first_fini_sec.  Add
3779         stub_group.
3780         (elf32_hppa_link_hash_table_create): Init to suit.
3781         (hppa_get_stub_entry): Add support for grouping stub sections.
3782         (hppa_add_stub): Likewise.  Remove sec_count param and init/fini
3783         section code.  Index stub vars by section->id.
3784         (elf32_hppa_size_stubs): Likewise.  Remove duplicated function
3785         exit paths.  Zap allocation of above removed vars.  Refine
3786         link-once test.
3787
3788         * elf32-hppa.h (elf32_hppa_size_stubs): Add output_bfd param.
3789         * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
3790         (hppa_get_stub_entry): Pass in pointer to elf32_hppa_link_hash_table
3791         rather than pointer to bfd_link_info.
3792         (hppa_add_stub): Likewise.
3793         (final_link_relocate): Likewise.
3794
3795 2000-09-17  David Huggins-Daines  <dhd@linuxcare.com>
3796
3797         (elf32_hppa_size_stubs): Don't try to build stubs for discarded
3798         link-once sections.
3799
3800 2000-09-16  Alexandre Oliva  <aoliva@redhat.com>
3801
3802         * elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match
3803         ld/emulparams/shelf.sh.
3804
3805 2000-09-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3806
3807         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): New function.
3808         * bfd-in.h (bfd_m68k_elf32_create_embedded_relocs): Add declaration.
3809         * bfd-in2.h: Regenerate.
3810
3811 2000-09-15  Kenneth Block  <Kenneth.Block@compaq.com>
3812
3813         * elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs
3814         LITUSE relocations incorrectly if -relax is specified on the ld
3815         command line and the displacement field of the load or store
3816         instruction is non-zero. (Patch by paul.winalski@compaq.com)
3817
3818 2000-09-15  Alan Modra  <alan@linuxcare.com.au>
3819
3820         * elf32-hppa.c (hppa_add_stub): Dont set first_init_sec and
3821         first_fini_sec here.
3822         (elf32_hppa_size_stubs): Instead correctly find the first .init
3823         and .fini section here.
3824
3825 2000-09-15  David Huggins-Daines  <dhd@linuxcare.com>
3826
3827         * elf32-hppa.c (clobber_millicode_symbols): New function.
3828         (elf32_hppa_size_dynamic_sections): Call it.
3829
3830 2000-09-14  Alan Modra  <alan@linuxcare.com.au>
3831
3832         * elf32-hppa.c (elf32_hppa_link_hash_entry): Make pic_call
3833         packed.  Add plabel, plt_abs packed booleans.
3834         (hppa_link_hash_newfunc): Init new fields.
3835         (PLABEL_PLT_ENTRY_SIZE): Define.
3836         (hppa_stub_name): Use size_t len vars.
3837         (hppa_add_stub): Likewise.
3838         (elf32_hppa_build_stubs): Likewise.
3839         (hppa_build_one_stub): Kill some compiler warnings.
3840         (elf32_hppa_check_relocs): Always generate a plt entry for PLABELs
3841         if dynamic linking.  Munge the local plt offsets into
3842         local_got_refcounts.  Set h->plabel for all global PLABELs.  Use
3843         size_t len vars.  Add assert for plabel addend.
3844         (elf32_hppa_gc_sweep_hook): Sweep local plt entries too.
3845         (elf32_hppa_hide_symbol): New function.
3846         (elf_backend_hide_symbol): Define.
3847         (elf32_hppa_adjust_dynamic_symbol): Don't throw away plt entries
3848         with h->plabel set.  Don't make plt entries to have dynamic syms
3849         when they have been forced local.  If plt entry is used by a
3850         plabel, make it PLABEL_PLT_ENTRY_SIZE.
3851         (elf32_hppa_size_dynamic_sections): Set plt_abs for init fns.
3852         Set up .plt offsets for local syms.
3853         (elf32_hppa_relocate_section): Initialise plt entries for local
3854         syms.  Leave weak undefined plabels zero.  Make global plabel
3855         relocs against function symbol, and leave the addend zero.
3856         Use *ABS* DIR32 relocs instead of SEGREL32 for dynamic got relocs.
3857         (elf32_hppa_finish_dynamic_symbol): Set up IPLT relocs for
3858         non-dynamic syms.  Init extra plt for plabels.  Use *ABS* DIR32
3859         relocs instead of SEGREL32 for dynamic got relocs.
3860         (elf32_hppa_finish_dynamic_sections): Reserve one more .got entry.
3861         (elf_backend_got_header_size): Adjust.
3862         (elf32_hppa_set_gp): Calculate an "ideal" LTP.
3863
3864         * elf32-hppa.c (LONG_BRANCH_VIA_PLT): Define.
3865         (hppa_type_of_stub): Use it instead of #if 0
3866         (hppa_discard_copies): Use it here too.
3867         (elf32_hppa_size_dynamic_sections): And here.
3868
3869         * elf32-hppa.c (elf32_hppa_link_hash_table): Remove `offset' field.
3870         (elf32_hppa_link_hash_table_create): And here.
3871         (hppa_build_one_stub): And here.  Instead keep track of stub
3872         offset using _raw_size.
3873         (elf32_hppa_size_stubs): Likewise.
3874         (elf32_hppa_build_stubs): Likewise.
3875         (hppa_size_one_stub): Likewise.  Resize reloc section too.
3876
3877         * elf32-hppa.c (hppa_add_stub): Correct first_init_sec and
3878         first_fini_sec handling.  Don't search for reloc section or set
3879         hplink->reloc_section_created here.
3880         (elf32_hppa_size_stubs): Instead search for reloc sections, and
3881         set reloc_section_created here.
3882         (hppa_handle_PIC_calls): Set ELF_LINK_HASH_NEEDS_PLT.
3883         (elf32_hppa_size_dynamic_sections): Make a .plt entry for DT_INIT
3884         and DT_FINI.
3885         (elf32_hppa_finish_dynamic_sections): Set DT_INIT and DT_FINI.
3886
3887         * elf32-hppa.c (hppa_build_one_stub): Replace `elf_hash_table (info)'
3888         with `hplink->root.'.
3889         (elf32_hppa_check_relocs): Likewise.
3890         (elf32_hppa_gc_sweep_hook): Likewise.
3891         (elf32_hppa_adjust_dynamic_symbol): Likewise.
3892         (hppa_handle_PIC_calls): Likewise.
3893         (elf32_hppa_size_dynamic_sections): Likewise.
3894         (elf32_hppa_set_gp): Likewise.
3895         (elf32_hppa_relocate_section): Likewise.
3896         (elf32_hppa_finish_dynamic_symbol): Likewise.
3897         (elf32_hppa_finish_dynamic_sections): Likewise.
3898
3899         From  David Huggins-Daines  <dhd@linuxcare.com>
3900         * elf32-hppa.c (hppa_type_of_stub): Generate import stubs for
3901         defined weak symbols in shared links.
3902         (final_link_relocate): Calls to defined weak symbols in shared
3903         objects must go via import stubs, as the target might not be known
3904         at link time.
3905
3906 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
3907
3908         * elf32-sh.c (sh_elf_howto_table): Moved R_SH_GOT32, R_SH_PLT32,
3909         R_SH_COPY, R_SH_GLOB_DAT, R_SH_JMP_SLOT, R_SH_RELATIVE,
3910         R_SH_GOTOFF, R_SH_GOTPC) to the range from 160 to 167.  Replaced
3911         the original entries with EMPTY_HOWTOs, and added new ones to fill
3912         in the gap.
3913         (sh_elf_info_to_howto): Make sure the new gap isn't used.
3914         (sh_elf_relocate_section): Likewise.
3915
3916 2000-09-13  Anders Norlander  <anorland@acc.umu.se>
3917
3918         * cpu-mips.c (arch_info_struct): Add mips:4K
3919         * bfd-in2.h (bfd_mach_mips4K): New define.
3920         * archures.c: Add bfd_mach_mips4K to comment.
3921         * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
3922         E_MIPS_ARCH_2 for bfd_mach_mips4K.
3923
3924 2000-09-13  Marco Franzen <marcof@thyron.com>
3925
3926         * som.c (som_write_symbol_strings): Do not used fixed buffers,
3927         use size_t as a counter.
3928         (som_write_space_strings): Similarly.
3929
3930 2000-09-12  Jason Eckhardt  <jle@cygnus.com>
3931
3932         * elf32-i860.c (elf32_i860_relocate_pc26): New function
3933         and prototype.
3934         (elf32_i860_relocate_section): Invoke new function from here.
3935
3936 2000-09-11  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3937
3938         * elf.c (_bfd_elf_make_section_from_shdr): Make debug_sec_names
3939         static.
3940
3941 2000-09-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3942
3943         * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Emit 8 NULs for
3944         target section name instead of dumping core when the target symbol is
3945         undefined.
3946
3947 2000-09-09  Kazu Hirata  <kazu@hxi.com>
3948
3949         * riscix.c: Remove DEFUN.
3950
3951 2000-09-08  Nick Clifton  <nickc@redhat.com>
3952
3953         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not
3954         initialise flags in output bfd if the input bfd is the default
3955         architecture with the default flags.
3956
3957 2000-09-08  Kazu Hirata  <kazu@hxi.com>
3958
3959         * archive.c: Fix formatting.
3960         * coff-arm.c: Likewise.
3961         * doc/chew.c: Likewise.
3962
3963 2000-09-08  Alan Modra  <alan@linuxcare.com.au>
3964
3965         * section.c (bfd_get_unique_section_name): Put a dot before the
3966         numeric suffix.
3967
3968 2000-09-07  Kazu Hirata  <kazu@hxi.com>
3969
3970         * doc/chew.c: Remove all uses of DEFUN and DEFUN_VOID.
3971         * elf.c: Fix formatting.
3972
3973 2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
3974
3975         * config.bfd (sh-*-linux*): Added.
3976         * configure.in (bfd_elf32_shlin_vec, bfd_elf32_shblin_vec): New.
3977         * targets.c: Declare them.
3978         * elf32-sh-lin.c: New file.
3979         * Makefile.am: Compile it.
3980         * elf32-sh.c: Don't override defines from elf32-sh-lin.c.
3981         * configure, Makefile.in: Rebuilt.
3982
3983 2000-09-06  Geoffrey Keating  <geoffk@cygnus.com>
3984
3985         * xcofflink.c (xcoff_link_input_bfd): Include the .tocbss
3986         pseduo-section when determining where the TOC ends.
3987
3988         * coff-rs6000.c (_bfd_xcoff_swap_aux_out): Use bfd_h_put_16 to
3989         output x_tvndx as it is only two bytes wide.
3990
3991         * coff-rs6000.c (xcoff_howto_table): A modifiable branch-absolute
3992         reloc is 26 or 32 bits wide.
3993
3994         * coff-rs6000.c (_bfd_xcoff_rtype2howto): The bitsize is irrelevant
3995         for relocs that don't change anything.  Also look at the full
3996         6 bits of bitsize.
3997
3998 2000-09-06  Philip Blundell  <philb@gnu.org>
3999
4000         * config.bfd (arm*-*-uclinux*): New target.
4001
4002 2000-09-06  Alexandre Oliva  <aoliva@redhat.com>
4003
4004         * configure: Rebuilt with new libtool.m4.
4005
4006 2000-09-06  Alan Modra  <alan@linuxcare.com.au>
4007
4008         * section.c (bfd_get_unique_section_name): Avoid c++ reserved
4009         word for variable name.
4010         * bfd-in2.h: Regenerate.
4011
4012 2000-09-05  Nick Clifton  <nickc@redhat.com>
4013
4014         * config.in: Regenerate.
4015         * libbfd.h: Regenerate.
4016         * po/bfd.pot: Regenerate.
4017         * doc/bfdint.texi: Remove CVS date string - it foils compares with
4018         local versions.
4019
4020 2000-09-05  Steven Johnson  <sbjohnson@ozemail.com.au>
4021
4022         * cpu-powerpc.c  (arch_info_struct): Added MPC860 Family entry.
4023
4024 2000-09-05  Alan Modra  <alan@linuxcare.com.au>
4025
4026         Shared library and PIC support.
4027         * elf32-hppa.c (PLT_ENTRY_SIZE): New.
4028         (GOT_ENTRY_SIZE): New.
4029         (ELF_DYNAMIC_INTERPRETER): New.
4030         (STUB_SUFFIX): Define.
4031         (LONG_BRANCH_PIC_IN_SHLIB): Define.
4032         (RELATIVE_DYNAMIC_RELOCS): Define.
4033         (enum elf32_hppa_stub_type): New.
4034         (struct elf32_hppa_stub_hash_entry): Rename offset to
4035         stub_offset.  Add a number of new fields.
4036         (struct elf32_hppa_link_hash_entry): New.
4037         (struct elf32_hppa_link_hash_table): Add numerous fields.  Remove
4038         global_value.
4039         (elf32_hppa_hash_table): Rename to hppa_link_hash_table.
4040         (elf32_hppa_stub_hash_lookup): Rename to hppa_stub_hash_lookup.
4041         (elf32_hppa_stub_hash_newfunc): Rename to stub_hash_newfunc.  Init
4042         new fields.
4043         (hppa_link_hash_newfunc): New function.
4044         (elf32_hppa_link_hash_table_create): Use above function. Init new
4045         fields.
4046         (elf32_hppa_stub_name): Rename to hppa_stub_name.  Pass in reloc
4047         instead of addend, and remove sym_name from args.  Don't use
4048         symbol name for local syms, instead use sym index.
4049         (elf32_hppa_size_of_stub): Rename to hppa_type_of_stub, and return
4050         stub type rather than size.  Pass in hash and handle import stub
4051         case.  Also pass in reloc instead of offset so we can calculate
4052         PCREL22F and PCREL12F branches properly.
4053         (elf32_hppa_build_one_stub): Rename to hppa_build_one_stub.  Build
4054         import and export stubs too.
4055         (elf32_hppa_size_one_stub): Rename to hppa_size_one_stub.  Handle
4056         import and export stub sizing.
4057         (elf32_hppa_check_relocs): New function.
4058         (elf32_hppa_adjust_dynamic_symbol): New function.
4059         (hppa_discard_copies): New function.
4060         (elf32_hppa_size_dynamic_sections): New function.
4061         (elf_backend_size_dynamic_sections): Define.
4062         (elf32_hppa_finish_dynamic_symbol): New function.
4063         (elf_backend_finish_dynamic_symbol): Define.
4064         (elf32_hppa_size_stubs): Stash params in link hash table, and move
4065         some local vars into the link hash table too.  For shared links,
4066         trundle over function syms, generating export stubs.  Handle
4067         PCREL22F branches.  Break out stub creation code from here..
4068         (hppa_add_stub): .. to here.  New function.
4069         (elf32_hppa_final_link): Rename to elf32_hppa_set_gp, and don't
4070         call the bfd linker.  Use elf_gp to record global pointer.
4071         Calculate a value from sections if $global$ is missing.
4072         (bfd_elf32_bfd_final_link): Define as _bfd_elf32_gc_common_final_link.
4073         (elf32_hppa_gc_mark_hook): New function.
4074         (elf_backend_gc_mark_hook): Define.
4075         (elf32_hppa_gc_sweep_hook): New function.
4076         (elf_backend_gc_sweep_hook): Define.
4077         (elf32_hppa_bfd_final_link_relocate): Rename to final_link_relocate.
4078         Add rel to args, and remove howto, input_bfd, offset, addend,
4079         sym_name as we can recalculate these locally.  Handle calls to
4080         dynamic objects, extra PIC relocs, PCREL22F branches.  Change
4081         handling of undefined weak syms.  Check that stubs are in range.
4082         Only look for import stubs on PCREL17F and PCREL22F relocs.  Add
4083         message on hitting a DPREL21L reloc that needs fixing.  Subtract
4084         off PC for PCREL14F.  Break out code that does a stub lookup from
4085         here..
4086         (hppa_get_stub_entry): ..to here.  New function.
4087         (elf32_hppa_relocate_insn): Merge into final_link_relocate.
4088         (elf32_hppa_relocate_section): Handle got and plt relocs, dynamic
4089         relocs, etc. etc.
4090         (elf32_hppa_finish_dynamic_sections): New function.
4091         (elf_backend_finish_dynamic_sections): Define.
4092         (elf_backend_final_write_processing) Define.
4093         (hppa_handle_PIC_calls): New function.
4094         (elf32_hppa_build_stubs): Call it.  Pass link_info to
4095         hppa_build_one_stub.
4096         (elf32_hppa_create_dynamic_sections): New function
4097         to create .plt and .got then set .plt flags correctly.
4098         (elf_backend_create_dynamic_sections): Define.
4099         (elf32_hppa_object_p): New function.
4100         (elf_backend_object_p): Define.
4101         (elf32_hppa_elf_get_symbol_type): New function.
4102         (elf_backend_get_symbol_type): Define.
4103         (elf_backend_can_gc_sections): Define.
4104         (elf_backend_want_got_plt): Define.
4105         (elf_backend_plt_alignment): Set to 2.
4106         (elf_backend_plt_readonly): Define.
4107         (elf_backend_want_plt_sym): Define.
4108         (elf_backend_got_header_size): Reserve one entry.
4109
4110         * elf32-hppa.h (elf32_hppa_build_stubs): Don't pass stub bfd.
4111         (elf32_hppa_size_stubs): Pass in multi_subspace.
4112         (elf32_hppa_set_gp): Declare.
4113
4114         * section.c (SEC_HAS_GOT_REF): Define new flag for asection.
4115         (bfd_get_unique_section_name): New function.
4116         * bfd-in2.h: Regenerate.
4117
4118         * elf64-hppa.c (elf64_hppa_check_relocs): Handle R_PARISC_PCREL12F.
4119         (elf64_hppa_size_dynamic_sections): Remove the FIXME at bfd_zalloc
4120         comment.
4121
4122         From  David Huggins-Daines  <dhd@linuxcare.com>
4123         * elf64-hppa.c (elf64_hppa_check_relocs): Fix a warning.
4124         (elf64_hppa_mark_exported_functions): Set dyn_h->st_shndx.
4125         (elf64_hppa_link_output_symbol_hook): Test dyn_h->st_shndx has
4126         been updated in finish_dynamic_symbol before modifying function
4127         symbol.
4128
4129         * elf-hppa.h (elf_hppa_howto_table): Restructure into groups of
4130         eight entries.  Replace NULL with bfd_elf_generic_reloc.  Add
4131         R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT and R_PARISC_PCREL12F.
4132         (_bfd_elf_hppa_gen_reloc_type): Handle R_PARISC_GNU_VT*.  Add some
4133         comments.  Handle format == 12 for R_HPPA_PCREL_CALL.
4134         (elf_hppa_final_link_relocate): Handle R_PARISC_PCREL12F.
4135         (elf_hppa_relocate_insn): Likewise.  Reformat some comments.
4136         (elf_hppa_final_write_processing): Expose it for ARCH_SIZE == 32.
4137
4138         From David Huggins-Daines  <dhd@linuxcare.com>
4139         * elf-hppa.h (elf_hppa_is_local_label_name): Accept the SysV/ELF
4140         style of local labels as well.
4141
4142 2000-09-03  Philip Blundell  <philb@gnu.org>
4143
4144         * elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
4145         references to undefined symbols in debugging sections.
4146
4147 2000-09-02  H.J. Lu  <hjl@gnu.org>
4148
4149         * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
4150         BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE,
4151         BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH
4152         section.
4153
4154 2000-09-02  Jason Eckhardt  <jle@cygnus.com>
4155
4156         * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
4157         (elf32_i860_is_local_label_name): New function and prototype.
4158
4159 2000-09-02  Nick Clifton  <nickc@redhat.com>
4160
4161         * configure.in: Increase version number to 2.10.91.
4162         * configure: Regenerate.
4163         * aclocal.m4: Regenerate.
4164         * config.in: Regenerate.
4165         * po/bfd.pot: Regenerate.
4166
4167 2000-09-02  Daniel Berlin <dberlin@redhat.com>
4168
4169         * elf.c (_bfd_elf_make_section_from_shdr): Add
4170         .gnu.linkobce.wi. to the list of debug section names.
4171
4172 2000-09-02  Nick Clifton  <nickc@redhat.com>
4173
4174         * dwarf2.c (find_debug_info): New function: Locate a section
4175         containing dwarf2 debug information.
4176         (bfd_dwarf2_find_nearest_line): Find all sections containing
4177         debug information and include them in the stash.
4178
4179 2000-09-01  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
4180
4181         * elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
4182         R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
4183         (sh_reloc_map): Add new relocs.
4184         (sh_elf_check_relocs, sh_elf_link_hash_newfunc,
4185         sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
4186         sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
4187         sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
4188         functions.
4189         (ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
4190         (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
4191         elf_sh_plt_entry_be, elf_sh_plt_entry_le,
4192         elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
4193         New array constants.
4194         (elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
4195         New variables.
4196         (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
4197         elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
4198         elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
4199         elf_sh_plt_reloc_offset): Define.
4200         (elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
4201         elf_sh_link_hash_table): New structs.
4202         (sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
4203         (sh_elf_relocate_section, sh_elf_check_relocs): Handle new
4204         relocation types.
4205         (elf_backend_create_dynamic_sections,
4206         bfd_elf32_bfd_link_hash_table_create,
4207         elf_backend_adjust_dynamic_symbol,
4208         elf_backend_size_dynamic_sections,
4209         elf_backend_finish_dynamic_symbol,
4210         elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
4211         elf_backend_plt_readonly, elf_backend_want_plt_sym,
4212         elf_backend_got_header_size, elf_backend_plt_header_size):
4213         Define.
4214         * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
4215         BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
4216         New relocs.
4217         * bfd-in2.h, libbfd.h: Rebuilt.
4218
4219 2000-09-01  Alan Modra  <alan@linuxcare.com.au>
4220
4221         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27
4222         change.
4223
4224 2000-08-31  J"orn Rennecke <amylaar@cygnus.co.uk>
4225
4226         * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
4227         not initialized, set them to indicate the SH1 instruction set.
4228
4229 2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
4230
4231         * acinclude.m4: Include libtool and gettext macros from the
4232         top level.
4233         * aclocal.m4, configure: Rebuilt.
4234
4235 2000-08-29  Michael Snyder  <msnyder@seadog.cygnus.com>
4236
4237         * elf.c: Eliminate references to __sparcv9 macro; replace with
4238         autoconf variables HAVE_PSINFO32_T etc.
4239         * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T,
4240         HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO.
4241         * config.in: Ditto.
4242         * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can
4243         detect the above typedefs.  (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto.
4244         * aclocal.m4: Ditto.
4245         * configure: Regenerate.
4246
4247 2000-08-27  Alan Modra  <alan@linuxcare.com.au>
4248
4249         * elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied
4250         for any shared link, not just shared -Bsymbolic.
4251         (elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on
4252         any shared link, and pass link info to it.
4253         (elf_i386_size_dynamic_sections): Update comment.
4254         (elf_i386_discard_copies): Modify to discard relocs for symbols
4255         that have been forced local.
4256         (elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols
4257         that have been forced local.
4258
4259 2000-08-24  Denis Chertykov  <denisc@overta.ru> & Nick Clifton  <nickc@redhat.com>
4260
4261         * elflink.h (elf_link_add_object_symbols): Allow common
4262         symbols to have an alignment of 1 if explicitly requested, and
4263         not overridden by other definitions.
4264
4265 2000-08-22  Doug Kwan <dkwan@transmeta.com>
4266
4267         * coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo.
4268         * coffcode.h (coff_set_flags): Add detection of w65 architecture.
4269
4270 2000-08-22  H.J. Lu  <hjl@gnu.org>
4271
4272         * elf-bfd.h (elf_link_hash_table): Add runpath.
4273
4274         * bfd-in.h (bfd_elf_get_runpath_list): New prototype.
4275         * bfd-in2.h: Rebuilt.
4276
4277         * elf.c (_bfd_elf_link_hash_table_init): Initialize the
4278         "runpath" field to NULL.
4279         (bfd_elf_get_runpath_list): New function.
4280
4281         * elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
4282         DT_RUNPATH entries.
4283
4284 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
4285
4286         * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W,
4287         R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them
4288         explicitly.  Improve validation of r_type.
4289
4290 2000-08-21  H.J. Lu  <hjl@gnu.org>
4291
4292         * elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the
4293         dynamic allocated content space.  Add a comment to remind us that
4294         one day this ought to be fixed.
4295         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
4296         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
4297         * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
4298
4299 2000-08-21  Jason Eckhardt  <jle@cygnus.com>
4300
4301         * elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
4302         field with the newly relocated value instead of adding it to the
4303         existing immediate field.
4304         (elf32_i860_relocate_splitn): Likewise.
4305         (elf32_i860_relocate_highadj): Likewise.
4306
4307 2000-08-16  Jason Eckhardt  <jle@cygnus.com>
4308
4309         * elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it
4310         was previously just a stub).
4311
4312 2000-08-16  Alexandre Oliva  <aoliva@redhat.com>
4313
4314         * elflink.c (_bfd_elf_create_got_section): Don't abort().
4315         Formatting fixes.
4316         (_bfd_elf_create_dynamic_sections): Likewise.
4317
4318 2000-08-16  Andrew Macleod  <amacleod@cygnus.com>
4319
4320         * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address
4321         for undefined symbols to be the beginning of the section.
4322
4323         * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate
4324         four extra entries at the beginning of the .rela.plt section.
4325         (sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt
4326         section to account for the four reserved entries in the .plt section.
4327
4328 2000-08-15  Geoffrey Keating  <geoffk@cygnus.com>
4329
4330         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
4331         to the list of NOPs we recognize after a branch-and-link.
4332         Use the ori NOP when one is needed.
4333
4334         * coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
4335         for large archives.
4336
4337 2000-08-14  Jim Wilson  <wilson@cygnus.com>
4338
4339         * elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
4340         EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
4341         (elf64_ia64_print_private_bfd_data): Likewise.  Also handle
4342         EF_IA_64_ABSOLUTE.
4343
4344 2000-08-11  Alexandre Oliva  <aoliva@redhat.com>
4345
4346         * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static.
4347
4348 2000-08-10  Jason Eckhardt  <jle@cygnus.com>
4349
4350         * elf32-i860.c (elf32_i860_relocate_section): New function.
4351         (i860_final_link_relocate): New function.
4352         (elf32_i860_relocate_splitn): New function.
4353         (elf32_i860_relocate_pc16): New function.
4354         (elf32_i860_relocate_highadj): New function.
4355         (elf32_i860_howto): Minor adjustments to some relocations.
4356         (elf_info_to_howto_rel): Define.
4357         (elf_backend_relocate_section): Define.
4358
4359 2000-08-10  Nick Clifton  <nickc@cygnus.com>
4360
4361         * elf32-arm.h: Fix formatting.
4362
4363 2000-08-10  Bernd Schmidt  <bernds@cygnus.co.uk>
4364
4365         * elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static.
4366
4367 2000-08-08  Jason Eckhardt  <jle@cygnus.com>
4368
4369         * elf32-i860.c (elf32_i860_howto_table): Updated some fields.
4370
4371 2000-08-07  Kazu Hirata  <kazu@hxi.com>
4372
4373         * ieee.c (ieee_write_debug_part): Rewrite a comment.
4374         * elf64-ia64.c: Fix a typo.
4375
4376 2000-08-05  Jason Eckhardt  <jle@cygnus.com>
4377
4378         * elf32-i860.c (elf32_i860_howto_table): New structure.
4379         (lookup_howto): New function.
4380         (elf32_i860_reloc_type_lookup): New function.
4381         (elf32_i860_info_to_howto_rela): New function.
4382         (elf_code_to_howto_index): New structure.
4383         (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela.
4384         (bfd_elf32_bfd_reloc_type_lookup): Re-define as
4385         elf32_i860_reloc_type_lookup.
4386
4387 2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
4388
4389         * som.c (struct fixup_format): Constify `format'.
4390         (som_hppa_howto_table): Use SOM_HOWTO macro.
4391         (try_prev_fixup, hppa_som_reloc): Decorate unused parameter.
4392         (som_bfd_reloc_type_lookup): Likewise.
4393         (compare_subspaces): Remove unused `count1', `count2'.
4394         (som_begin_writing): Remove unused `total_reloc_size'.
4395         (som_bfd_derive_misc_symbol_info): Decorate unused parameter.
4396         (som_print_symbol, som_bfd_is_local_label_name): Likewise.
4397         (som_set_reloc_info): Constify `cp'. Remove unused `addend'.
4398         (som_find_nearest_line): Decorate unused parameter(s).
4399         (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise.
4400         (som_bfd_link_split_section): Likewise.
4401
4402 2000-08-03  Nick Clifton  <nickc@cygnus.com>
4403
4404         * section.c: Restore backed out code.
4405         * elf.c: Restore backed out code.
4406         (copy_private_bfd_data): Fix bug preventing stipped dynamic
4407         binaries from working.
4408         * bfd-in2.h: Regenerate.
4409
4410 2000-08-03  H.J. Lu  <hjl@gnu.org>
4411
4412         * section.c: Back out the change made by Nick Clifton
4413         <nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
4414         binaries.
4415         * bfd-in2.h: Likewise.
4416         * elf.c: Likewise.
4417
4418 2000-08-03  Alexandre Oliva  <aoliva@redhat.com>
4419
4420         * elf32-sh.c (sh_elf_reloc_loop): Warning removal.
4421
4422 2000-07-31  Jason Eckhardt  <jle@cygnus.com>
4423
4424         * reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
4425         * bfd-in2.h, libbfd.h: Regenerate.
4426
4427 2000-07-31  Nick Clifton  <nickc@cygnus.com>
4428
4429         * section.c (struct sec): Add new boolean field 'segment_mark'.
4430         (STD_SECTION): Initialise new field to zero.
4431
4432         * bfd-in2.h: Regenerate.
4433
4434         * elf.c (copy_private_bfd_data): Reorganise section to segment
4435         mapping to cope with moved sections requiring new segments,
4436         and overlapping segments.
4437         (SEGMENT_END): New macro: Return the end address of a segment.
4438         (IS_CONTAINED_BY_VMA): New macro: Determine if a segment
4439         contains a section by comparing their VMA addresses.
4440         (IS_CONTAINED_BY_LMA): New macro: Determine if a segment
4441         contains a section by comparing their LMA addresses.
4442         (INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a
4443         section should be included in a segment.
4444         (SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment
4445         follows another in memory.
4446         (SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two
4447         segments overlap.
4448
4449 2000-07-22  Jason Eckhardt  <jle@cygnus.com>
4450
4451         * cpu-i860.c: Added comments.
4452
4453         * elf32-i860.c (TARGET_LITTLE_SYM): Defined to
4454         bfd_elf32_i860_little_vec.
4455         (TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
4456         (ELF_MAXPAGESIZE): Changed to 4096.
4457
4458         * targets.c (bfd_elf32_i860_little_vec): Declaration of
4459         new target.
4460         (bfd_target_vector): Added bfd_elf32_i860_little_vec.
4461
4462         * config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
4463         config for little endian elf32 i860.
4464         (targ_defvec): Define for the new config above
4465         as "bfd_elf32_i860_little_vec".
4466         (targ_selvecs): Define for the new config above
4467         as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
4468
4469         * configure.in (bfd_elf32_i860_little_vec): Added recognition
4470         of new target vec.
4471
4472         * configure: Regenerated.
4473
4474 2000-07-27  H.J. Lu  <hjl@gnu.org>
4475
4476         * elflink.h (elf_merge_symbol): Take one more argument,
4477         dt_needed, to indicate if the symbol comes from a DT_NEEDED
4478         entry. Don't overide the existing weak definition if dt_needed
4479         is true.
4480         (elf_link_add_object_symbols): Pass dt_needed to
4481         elf_merge_symbol ().
4482
4483 2000-07-27  Nick Clifton  <nickc@cygnus.com>
4484
4485         * elflink.h (elf_link_size_reloc_section): Zeroes the section's
4486         allocated contents.
4487
4488 2000-07-25  Geoffrey Keating  <geoffk@cygnus.com>
4489
4490         * configure.host (*-*-aix*): AIX has 'long long' always.
4491
4492         * coff-rs6000.c (xcoff_write_one_armap_big): New procedure.
4493         (xcoff_write_armap_big): Write both 32-bit and 64-bit armaps.
4494         (xcoff_write_archive_contents_big): Don't update the offset
4495         of the symbol table, xcoff_write_armap will do it.
4496
4497 2000-07-23  Ulf Carlsson  <ulfc@engr.sgi.com>
4498
4499         * elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
4500         of dynobj for SGI_COMPAT checks.
4501
4502 2000-07-21  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4503
4504         * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function.
4505         * bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration.
4506         * bfd-in2.h: Regenerate.
4507
4508 2000-07-21  Nick Clifton  <nickc@cygnus.com>
4509
4510         * elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of
4511         range symbol indices in relocs and issue an error message.
4512
4513 2000-07-20  H.J. Lu  <hjl@gnu.org>
4514
4515         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check
4516         info->new_dtags when setting DT_FLAGS_1. It will only be set
4517         by the new linker options. It shouldn't break anything.
4518
4519 2000-07-20  H.J. Lu  <hjl@gnu.org>
4520
4521         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1
4522         only if info->new_dtags is true.
4523
4524 2000-07-20  H.J. Lu  <hjl@gnu.org>
4525
4526         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
4527         DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
4528
4529 2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
4530
4531         * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
4532         (ALL_MACHINES_CFILES): Add cpu-cris.c.
4533         (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
4534         (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
4535         (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
4536         * Makefile.in: Rebuild.
4537         * aclocal.m4: Rebuild.
4538         * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
4539         * archures.c (enum bfd_architecture): Add bfd_arch_cris.
4540         (bfd_cris_arch): Declare.
4541         (bfd_archures_list): Add bfd_cris_arch.
4542         * bfd-in2.h: Rebuild.
4543         * config.bfd: (cris-*-*): New target.
4544         * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
4545         * configure: Rebuild.
4546         * elf.c (prep_headers): Add bfd_arch_cris.
4547         * libbfd.h: Rebuild.
4548         * libaout.h (enum machine_type): Add M_CRIS.
4549         * reloc.c: Add CRIS relocations.
4550         * targets.c (bfd_elf32_cris_vec, cris_aout_vec): Declare.
4551         (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
4552         * cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
4553         * po/POTFILES.in, po/bfd.pot: Regenerate.
4554
4555 2000-07-19  H.J. Lu  <hjl@gnu.org>
4556
4557         * elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
4558         DF_TEXTREL if DT_TEXTREL is set.
4559         * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
4560         * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
4561         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
4562         * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
4563         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
4564         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
4565         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
4566         * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
4567         * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
4568         * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
4569
4570         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
4571         set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
4572         DT_RPATH is set.
4573         Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
4574
4575 2000-07-19  H.J. Lu  <hjl@gnu.org>
4576
4577         * bfd-in.h (bfd_elf_set_dt_needed_soname): New.
4578         * bfd-in2.h: Rebuild.
4579
4580         * elf-bfd.h (elf_obj_tdata): Add dt_soname.
4581         (elf_dt_soname): New.
4582
4583         * elf.c (bfd_elf_set_dt_needed_soname): New.
4584
4585         * elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
4586         entry if the shared object loaded by DT_NEEDED is used to
4587         resolve the reference in a regular object.
4588
4589 2000-07-19  H.J. Lu  <hjl@gnu.org>
4590
4591         * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG,
4592         DT_DEPAUDIT and DT_AUDIT as strings.
4593
4594 2000-07-19  Nick Clifton  <nickc@cygnus.com>
4595
4596         * format.c: Fix formatting.
4597
4598 2000-07-19  H.J. Lu  <hjl@gnu.org>
4599
4600         * elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM.
4601
4602 2000-07-19  H.J. Lu  <hjl@gnu.org>
4603
4604         * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW,
4605         DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ,
4606         DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ,
4607         DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1,
4608         DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT,
4609         DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT,
4610         DT_FLAGS_1, DT_USED and DT_CHECKSUM.
4611
4612 2000-07-18  Andrew Cagney  <cagney@b1.cygnus.com>
4613
4614         * elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move
4615         renamed functions from here...
4616         (assign_section_numbers): Use renamed functions.
4617         (prep_headers): Use renamed functions.
4618
4619         * bfd.c (bfd_get_sign_extend_vma, bfd_get_arch_size): ...To here.
4620         * bfd-in.h (bfd_get_sign_extend_vma, bfd_get_arch_size): Update.
4621         * bfd-in2.h: Regenerate.
4622
4623 2000-07-18  Ulf Carlsson  <ulfc@engr.sgi.com>
4624
4625         * elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
4626         parenthesis in if statement.
4627
4628 2000-07-17  Koundinya K  <kk@ddeorg.soft.net>
4629
4630         Enable the support for Traditional MIPS.
4631         * elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
4632         return ict_none appropriately for traditional mips targets.
4633         (STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
4634         (STUB_MOVE): Conditionalize for traditonal mips.
4635         (STUB_LI16): Likewise.
4636         (_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
4637         room for RTPROC header.
4638         (_bfd_mips_elf_modify_segment_map): For a normal mips executable set
4639         the permission for the PT_DYNAMIC as read, write and execute.
4640         (mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
4641         for traditonal mips.
4642         (_bfd_mips_elf_create_dynamic_sections): Add the symbol
4643         _DYNAMIC_LINKING for traditonal mips.
4644         (_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
4645         in case of traditonal mips.
4646         (_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
4647         entry is required. For a function if PLT is not required then set the
4648         corresponding hash table entry to 0.
4649         (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
4650         traditonal mips.
4651         (_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
4652         shared object set the value to 0.
4653         (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
4654         _DYNAMIC_LINKING for traditonal mips.
4655         (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
4656         for traditonal mips.
4657
4658 2000-07-15  H.J. Lu  <hjl@gnu.org>
4659
4660         * aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL.
4661
4662 2000-07-12  Charles Wilson  <cwilson@ece.gatech.edu>
4663
4664         * libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing
4665         out a structure that is BFD_IN_MEMORY.
4666
4667 2000-07-11  Alan Modra  <alan@linuxcare.com.au>
4668
4669         * elf64-hppa.c (get_dyn_name): Pass in section pointer instead of
4670         bfd pointer.  Print section id instead of bfd pointer for local
4671         syms.  Prefix addend with `+' for global syms as well as local.
4672         Correct calculation of name component lengths.
4673         (elf64_hppa_check_relocs): Update call to get_dyn_name.
4674
4675         From David Huggins-Daines  <dhd@linuxcare.com>
4676         * elf-hppa.h (elf_hppa_relocate_section): Update calls here too.
4677         * elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings.
4678         (elf64_hppa_modify_segment_map): Likewise.
4679
4680 2000-07-11  Andrew Cagney  <cagney@b1.cygnus.com>
4681
4682         * elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA
4683         addresses to be "naturally" sign extended.  Return -1 if unknown.
4684         * bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration.
4685         * bfd-in2.h: Regenerate.
4686
4687 2000-07-11  Andrew Cagney  <cagney@b1.cygnus.com>
4688
4689         * ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32
4690         and ECOF_SIGNED_64 to list ways to extract an offset.
4691         (ecoff_swap_fdr_in, ecoff_swap_fdr_out, ecoff_swap_pdr_in,
4692         ecoff_swap_pdr_out, ecoff_swap_ext_in, ecoff_swap_ext_out):
4693         Update.
4694         * elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64.
4695         * elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32.
4696
4697 2000-07-11  Andrew Cagney  <cagney@b1.cygnus.com>
4698
4699         * elfcode.h (elf_object_p): Use bfd_set_start_address and not
4700         bfd_get_start_address.
4701         (elf_swap_ehdr_in): Sign extend e_entry when applicable.
4702         (elf_swap_ehdr_out): Ditto.
4703
4704 2000-07-10  Alexander Aganichev  <AAganichev@hypercom.com>
4705
4706         * archures.c (bfd_default_scan): Add set of bfd_mach_ cases for
4707         compatibility with older binutils.
4708
4709 2000-07-10  Alan Modra  <alan@linuxcare.com.au>
4710
4711         * section.c (bfd_make_section_anyway): Start section_id at 0x10.
4712         (STD_SECTION): Avoid negative ids, instead use 0 to 3.
4713
4714         From Ryan Bradetich  <rbradetich@uswest.net>
4715         * dwarf1.c (parse_die): Cure signed/unsigned char warnings.
4716         (parse_line_table): Ditto.
4717         (_bfd_dwarf1_find_nearest_line): Ditto.
4718         * syms.c (cmpindexentry): Remove extra `*' from params.
4719
4720 2000-07-09  Koundinya K  <kk@ddeorg.soft.net>
4721
4722         * elf32-mips.c (sort_dynamic_relocs): New Function.
4723         (_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs
4724         via qsort to sort the dynamic relocations in increasing r_symndx
4725         value.
4726
4727 2000-07-09  Alan Modra  <alan@linuxcare.com.au>
4728
4729         * elf64-hppa.c (elf64_hppa_dyn_hash_table_init): Add
4730         ATTRIBUTE_UNUSED to unused args.
4731         (get_opd): Likewise.
4732         (get_plt): Likewise.
4733         (get_dlt): Likewise.
4734         (get_stub): Likewise.
4735         (elf64_hppa_adjust_dynamic_symbol): Likewise.
4736         (elf64_hppa_link_output_symbol_hook): Likewise.
4737         (elf64_hppa_check_relocs): Delete unused var.
4738         (elf64_hppa_size_dynamic_sections): Likewise.
4739         (elf64_hppa_finalize_opd): Likewise.
4740         (elf64_hppa_finalize_dynreloc): Likewise.
4741         (elf64_hppa_modify_segment_map): Likewise.
4742         (elf64_hppa_finish_dynamic_sections): Likewise.
4743
4744         * elf-hppa.h (elf_hppa_final_write_processing): Add
4745         ATTRIBUTE_UNUSED to unused args.
4746         (elf_hppa_final_link_relocate): Likewise.
4747         (elf_hppa_record_segment_addrs): Add paretheses.
4748         (elf_hppa_relocate_section): Constify dyn_name.
4749
4750         From  David Huggins-Daines  <dhd@linuxcare.com>
4751         * config.bfd: Add hppa*64*-*-linux-gnu 64-bit target, and
4752         rearrange case statement so that it gets preferred to 32-bit ones.
4753
4754         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Use
4755         asection->id instead of address of asection structure.
4756         (elf32_hppa_size_stubs): Likewise.
4757
4758         * elf32-hppa.c (elf32_hppa_size_stubs): Use just one stub section
4759         for .init* and .fini*.
4760
4761         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Mask pointers
4762         and addends used in stub names to 32 bits.
4763         (elf32_hppa_size_stubs): Likewise.
4764
4765         * elf-hppa.h (elf_hppa_final_link_relocate): Don't sum addend
4766         twice for R_PARISC_GPREL64.  Use bfd_put_32 for R_PARISC_PCREL32,
4767         not bfd_put_64.  Fix minor comment typo and formatting.
4768
4769         Changes to create multiple linker stubs, positioned immediately
4770         before the section where they are required.
4771         * elf32-hppa.c: Don't include hppa_stubs.h.
4772         (elf32_hppa_stub_hash_entry): Add a pointer to the stub section.
4773         (elf32_hppa_stub_hash_table): Delete.
4774         (elf32_hppa_link_hash_entry): Delete.
4775         (elf32_hppa_link_hash_table): Use plain bfd_hash_table for
4776         stub_hash_table, and store the struct here rather than a pointer.
4777         Delete output_symbol_count.  Add offset array.  Change
4778         global_value to a bfd_vma.
4779         (elf32_hppa_stub_hash_lookup): Use table instead of table->root.
4780         (elf32_hppa_stub_hash_traverse): Delete.
4781         (elf32_hppa_name_of_stub): Delete.
4782         (elf32_hppa_link_hash_lookup): Delete.
4783         (elf32_hppa_link_hash_traverse): Delete.
4784         (elf32_hppa_stub_hash_table_init): Delete.
4785         (elf32_hppa_size_of_stub): Pass input section and offset rather
4786         than location and calculate location here.  Don't pass name as all
4787         stubs are now the same size.
4788         (elf32_hppa_stub_hash_newfunc): Init new fields.
4789         (elf32_hppa_link_hash_table_create): Likewise, and stub_hash_table
4790         too.
4791         (elf32_hppa_bfd_final_link_relocate): Cast enums to int before
4792         comparing against ints.  Rewrite stub handling code.
4793         (elf32_hppa_relocate_section): Make r_type and r_symndx unsigned.
4794         Case enums to int before comparing against ints.  Remove
4795         bfd_reloc_dangerous case.
4796         (elf32_hppa_build_one_stub): Rewrite.
4797         (elf32_hppa_size_one_stub): New function.
4798         (elf32_hppa_build_stubs): Rewrite.
4799         (elf32_hppa_size_stubs): Pass in linker call-back functions.
4800         Rewrite stub-handling specific code.
4801
4802         * elf32-hppa.h (elf32_hppa_size_stubs): Update prototype.
4803
4804         * elf64-hppa.c (elf64_hppa_dyn_hash_entry): Fix a comment typo.
4805
4806         * hppa_stubs.h: Delete.
4807         * Makefile.am (SOURCE_HFILES): Remove hppa_stubs.h
4808         (elf32-hppa.lo): Remove hppa_stubs.h from dependencies.
4809         * Makefile.in: Regenerate.
4810
4811         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle e_nlsel and
4812         e_nlrsel.
4813
4814         * libhppa.h (hppa_field_adjust): Correct e_nsel case.
4815
4816         * elf32-hppa.c (elf32_hppa_relocate_section): Mention the offset
4817         and section name for bfd_reloc_notsupported error message.
4818         (elf32_hppa_bfd_final_link_relocate): Print reasons for returning
4819         bfd_reloc_notsupported.
4820         (elf32_hppa_relocate_section): Add ATTRIBUTE_UNUSED to output_bfd.
4821
4822         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Handle
4823         undefined weak symbols for all relocs.
4824         (elf32_hppa_size_of_stub): Adjust calculation by 8 since branch
4825         offsets are relative to one past the delay slot.
4826         (elf32_hppa_size_stubs): Account for reloc addend when calculating
4827         branch destination.  Put addend into stub name too.
4828         (elf32_hppa_bfd_final_link_relocate): Account for reloc addend and
4829         adjust by 8 when deciding whether a linker stub is needed.  Put
4830         addend into stub name as for above.
4831
4832         * elf32-hppa.c (hppa_elf_relocate_insn): Change signed/unsigned on
4833         various args and vars.
4834         (elf32_hppa_bfd_final_link_relocate): Here too.
4835         (elf32_hppa_size_stubs): Rename index -> indx.  Use e_indx for
4836         inner block var to avoid shadowing.
4837
4838         * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type):  Make `field' arg
4839         unsigned.
4840         * elf64-hppa.h (_bfd_elf64_hppa_gen_reloc_type): Ditto.
4841         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Ditto.
4842         (elf_hppa_fake_sections): Rename local var to avoid shadowing.
4843
4844         * libhppa.h: Change practically all unsigned ints to plain ints.
4845         Remove tests on gcc version.  Instead use ATTRIBUTE_UNUSED for
4846         prototypes.
4847
4848         From Ryan Bradetich  <rbradetich@uswest.net>
4849         * libhppa.h (hppa_opcode_type): New enum to replace #define's.
4850         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Modify to
4851         suit above.
4852         From  David Huggins-Daines  <dhd@linuxcare.com>
4853         * elf-hppa.h (elf_hppa_relocate_insn): Update the opcode constants
4854         to the new OP_* ones.
4855
4856         * elf32-hppa.c (elf32_hppa_size_stubs): Consolidate freeing on
4857         error exit.  Bail out earlier on plabel relocs that we aren't
4858         interested in.  Don't tell elf32_hppa_stub_hash_lookup to copy
4859         string, and then don't free our copy.
4860         (elf32_hppa_build_one_stub): Make insn unsigned int.
4861
4862         * libhppa.h (bfd_hppa_insn2fmt): 22 bit branches are only
4863         available with BL, not BE and BLE.
4864
4865         * elf32-hppa.c (hppa_elf_relocate_insn): Add some more example
4866         code for elf arg relocs.
4867         (elf32_hppa_bfd_final_link_relocate): Replace boolean is_local
4868         argument with elf_link_hash_entry h.  Handle undefined weak
4869         symbols.  Move $global$ lookup from here...
4870         (elf32_hppa_relocate_section): ...to here.  Return correct error
4871         message for non-handled relocs.
4872         (elf32_hppa_size_of_stub): Correctly test branch range.  Previous
4873         wrong test was -0x3ffff to +0x40000.
4874
4875         * elf-hppa.h (elf_hppa_final_link_relocate): R_PARISC_DIR17R,
4876         R_PARISC_DIR17F, and R_PARISC_DIR21L are for absolute branches;
4877         Handle them as such.
4878         (elf_hppa_relocate_insn): Fix a typo.
4879
4880         * libhppa.h (GET_FIELD, GET_BIT, MASK, CATENATE, ELEVEN): Delete.
4881         (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
4882         assemble_17, assemble_21): Delete.
4883         Supply defines for all 64 possible opcodes.
4884         (bfd_hppa_insn2fmt): Add bfd argument, and use to select wide mode
4885         formats.  Handle COMICLR.
4886         (hppa_rebuild_insn): Delete bfd argument.  Handle formats 10, -11,
4887         -10, -16, 16, 22.
4888
4889         * elf32-hppa.c (hppa_elf_relocate_insn): Complete rewrite.
4890         (elf32_hppa_bfd_final_link_relocate): Major rewrite.
4891         (elf32_hppa_build_one_stub): Modify hppa_elf_relocate_insn calls
4892         to suit.
4893         (elf32_hppa_size_stubs): Don't free stub_name twice.  Read in all
4894         the local syms - did this code get deleted accidentally?  Ignore
4895         undefined and undefweak syms.
4896
4897         * elf-hppa.h (elf_hppa_final_link): Move hppa_info to outermost
4898         block.  Use it instead of elf64_hppa_hash_table (info).
4899         (elf_hppa_final_link_relocate): Use hppa_info instead of
4900         elf64_hppa_hash_table (info).
4901
4902         * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
4903         re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
4904         (hppa_rebuild_insn): Mask immediate bits here instead.
4905         * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
4906
4907 2000-07-08  Alan Modra  <alan@linuxcare.com.au>
4908
4909         * section.c (struct sec): Add id field.  Tidy comment formatting.
4910         (bfd_make_section_anyway): Set id.
4911         (STD_SECTION): Init id too.
4912         Change CONST to const throughout.
4913         * archures.c (bfd_arch_info): Tidy comment.
4914         (bfd_arch_list): Change a CONST to const.
4915         * libbfd-in.h: Tidy comments and replace CONST with const.
4916         * elf-bfd.h: Likewise.
4917         * libbfd.h: Regenerate.
4918         * bfd-in2.h: Regenerate.
4919         * libcoff.h: Regenerate.
4920
4921 2000-07-07  DJ Delorie  <dj@redhat.com>
4922
4923         * archive.c (_bfd_write_archive_contents): Add an informative
4924         comment.
4925
4926 2000-07-06  Kazu Hirata  <kazu@hxi.com>
4927
4928         * srec.c: Fix formatting.
4929
4930 2000-06-05  DJ Delorie  <dj@redhat.com>
4931
4932         * MAINTAINERS: new
4933
4934 2000-07-04  Alexandre Oliva  <aoliva@redhat.com>
4935
4936         * coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol
4937         value of PC-relative offsets.
4938
4939 2000-07-03  Jim Wilson  <wilson@cygnus.com>
4940
4941         * elf64-alpha.c (alpha_elf_size_info): New.
4942         (elf_backend_size_info): Define to alpha_elf_size_info.
4943         * elfcode.h (elf_size_info): Change hash bucket size to 4.
4944
4945 2000-07-03  Ulf Carlsson  <ulfc@engr.sgi.com>
4946
4947         * elf32-mips.c: Include elf32-target.h again for the traditional
4948         MIPS targets.
4949
4950 2000-07-03  Marek Michalkiewicz  <marekm@linux.org.pl>
4951
4952         * elf32-avr.c (bfd_elf32_bfd_reloc_type_lookup):
4953         Add ATTRIBUTE_UNUSED to unused arguments to avoid warnings.
4954         (avr_info_to_howto_rela): Likewise.
4955         (elf32_avr_gc_mark_hook): Likewise.
4956         (elf32_avr_gc_sweep_hook): Likewise.
4957         (elf32_avr_relocate_section): Likewise.
4958
4959 2000-07-03  Mark Elbrecht  <snowball3@bigfoot.com>
4960
4961         * cofflink.c (_bfd_coff_write_global_sym): Turn a weak symbol into
4962         an external symbol for a non-shared, non-relocatable link.
4963
4964 2000-07-03  Nick Clifton  <nickc@redhat.com>
4965
4966         * cofflink.c (IS_EXTERNAL): New macro: Return true if the symbol
4967         is an external symbol.
4968         (IS_WEAK_EXTERNAL): New macro: Return true if the symbol is a weak
4969         external symbol.
4970
4971 2000-07-03  Kazu Hirata  <kazu@hxi.com>
4972
4973         * reloc16.c: Fix formatting.
4974
4975 2000-07-01  Koundinya K  <kk@ddeorg.soft.net>
4976
4977         * config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4*
4978         to add a new target for traditional mips i.e
4979         bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec.
4980         * configure.in: Likewise.
4981         * configure: Rebuild.
4982         * targets.c (bfd_elf32_tradbigmips_vec): Declare and put in
4983         bfd_target_vector.
4984         (bfd_elf32_tradlittlemips_vec): Likewise.
4985         * elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test
4986         to see that elfNN_bed does not get redefined even if the target file
4987         is included twice for a chip. See elf32-mips.c.
4988
4989 2000-07-01  Alan Modra  <alan@linuxcare.com.au>
4990
4991         * Makefile.am (DEP): Fix 2000-06-22.  grep after running dep.sed
4992         (CLEANFILES): Add DEPA.
4993         * Makefile.in: Regenerate.
4994
4995 2000-06-30  DJ Delorie  <dj@cygnus.com>
4996
4997         * peicode.h (coff_swap_filehdr_in): can't use e_magic because we
4998         can't assume the PE header is at 0x80.
4999
5000 2000-06-29  Mark Elbrecht  <snowball3@bigfoot.com>
5001
5002         * syms.c (_bfd_stab_section_find_nearest_line): Use IS_ABSOLUTE_PATH.
5003
5004 2000-06-28  Mark Elbrecht  <snowball3@bigfoot.com>
5005
5006         * go32stub.h: Update stub.
5007
5008 2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>
5009
5010         * archures.c (bfd_mach_avr5): Define.
5011         * bfd-in2.h (bfd_mach_avr5): Define.
5012         * cpu-avr.c (arch_info_struct): Rename bfd_mach_avr4 to
5013         bfd_mach_avr5, add bfd_mach_avr4.  Update comments.
5014         (compatible): Update comment.  Add missing test.
5015         * elf32-avr.c (avr_final_link_relocate): Support 8K wrap
5016         for avr2 and avr4.  Simplify 8K wrap code.
5017         (bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr5.
5018         (elf32_avr_object_p): Recognize E_AVR_MACH_AVR5.
5019
5020 2000-06-26  Kazu Hirata  <kazu@hxi.com>
5021
5022         * coff-h8300.c: Fix formatting.
5023         * cpu-h8300.c: Likewise.
5024
5025 2000-06-24  Alexandre Oliva  <aoliva@redhat.com>
5026
5027         * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)'
5028         for local symbols whose names are unknown.
5029
5030 2000-06-22  Alan Modra  <alan@linuxcare.com.au>
5031
5032         * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
5033         find one.
5034         * Makefile.in: Regenerate.
5035         * doc/Makefile.in: Regenerate.
5036
5037 2000-06-20  H.J. Lu  <hjl@gnu.org>
5038
5039         * Makefile.am: Rebuild dependency.
5040         * Makefile.in: Rebuild.
5041
5042 2000-06-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
5043
5044         * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function.
5045         (elf_backend_copy_indirect_symbol): Map to the new function.
5046
5047 2000-06-20  Alan Modra  <alan@linuxcare.com.au>
5048
5049         * archive.c (normalize): Correct pointer comparison when checking
5050         for backslashes.
5051         (bfd_bsd_truncate_arname): Likewise.
5052         (bfd_gnu_truncate_arname): Likewise.
5053
5054 2000-06-20  Ulf Carlsson  <ulfc@engr.sgi.com>
5055
5056         * elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual
5057         sections elf_{text,data}_{section,symbol}.
5058         * elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove.
5059         (_bfd_mips_elf_hide_symbol): New function.
5060         (elf_backend_hide_symbol): Map to the new function.
5061         (_bfd_mips_elf_add_symbol_hook): Change to use new per BFD
5062         definitions of mips_elf_{text,data}_{section,symbol}.
5063         (mips_elf_local_relocation_p): Try to find the direct symbol
5064         based on new check_forced argument.
5065         (mips_elf_calculate_relocation): Use new version of
5066         mips_elf_local_relocation_p.
5067         (mips_elf_relocate_section): Likewise.
5068         (_bfd_mips_elf_relocate_section): Likewise.
5069         (mips_elf_sort_hash_table): Only assert that have enough GOT
5070         space.
5071         (mips_elf_got16_entry): Match all 32 bits to the existing GOT
5072         entry if the relocation based on the new external argument.
5073         (mips_elf_create_dynamic_relocation): Assert that we have a
5074         section contents allocated where we can swap out the dynamic
5075         relocations.
5076         (mips_elf_calculate_relocation): Find the real hash-table entry
5077         correctly by using h->root.root.type.  Only create a dynamic
5078         relocation entry if the symbol is defined in a shared library.
5079         Create an external GOT entry for the GOT16 relocation if the
5080         symbol was forced local.
5081         (_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a
5082         dynamic index if the symbol was forced local.
5083
5084 2000-06-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
5085
5086         * elf32-mips.c: Fix typos in comments.
5087
5088 2000-06-19  Mark Kettenis  <kettenis@gnu.org>
5089
5090         * rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef
5091         CORE_VERSION_1.
5092
5093 2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
5094
5095         * Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild.
5096         * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS,
5097         BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files.
5098         * configure.in (bfd_elf32_m68hc12_vec): Recognize.
5099         (bfd_elf32_m68hc11_vec): Likewise.
5100         * config.bfd (targ_cpu): Recognize 68hc12 and 68hc11.
5101         Supports 68hc11 & 68hc12  at the same time.
5102         * targets.c (bfd_elf32_m68hc12_vec): Declare and put in
5103         bfd_target_vector.
5104         (bfd_elf32_m68hc11_vec): Likewise.
5105         * elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11.
5106         * archures.c (bfd_m68hc12_arch): Define and register in global list
5107         (bfd_m68hc11_arch): Likewise.
5108         * reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8,
5109         BFD_RELOC_M68HC11_3B): Define.
5110         * cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support.
5111         * cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support.
5112
5113 2000-06-18  Ulf Carlsson  <ulfc@engr.sgi.com>
5114
5115         * elf_bfd.h (struct elf_backend_data): Add info argument to
5116         elf_backend_hide_symbol.
5117         (_bfd_elf_link_hash_hide_symbol): Likewise.
5118         * elf.c (_bfd_elf_link_hash_hide_symbol): Likewise.
5119         * elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise.
5120         * elflink.h (elf_link_add_object_symbols): Likewise.
5121         (elf_link_assign_sym_version): Likewise.
5122
5123 2000-06-18  H.J. Lu  <hjl@gnu.org>
5124
5125         * coff-i386.c (coff_i386_reloc): Don't return in case of
5126         output_bfd == (bfd *) NULL if COFF_WITH_PE is defined.
5127         Compensate PE relocations when linking with non-PE object
5128         files to generate a non-PE executable.
5129
5130 2000-06-17  Ulf Carlsson  <ulfc@engr.sgi.com>
5131
5132         * elf32-mips.c (mips_elf_calculate_relocation): Explicitly write
5133         GOT entries if we're doing a static link or -Bsymbolic link.
5134
5135 2000-06-15  Ulf Carlsson  <ulfc@engr.sgi.com>
5136
5137         * elflink.h (elf_link_adjust_relocs): Check for and call backend
5138         specifific swap_reloc_{in,out} and swap_reloca_{in,out} if
5139         available.
5140         (elf_link_output_relocs): Likewise.
5141         (elf_reloc_link_order): Likewise.
5142
5143 2000-06-16  Nicholas Duffek  <nsd@redhat.com>
5144
5145         * archures.c (enum bfd_architecture): #define constants for
5146         PowerPc and RS6000 machine numbers.
5147         * bfd-in2.h: Regenerate.
5148         * coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
5149         to bfd_arch_powerpc instead of bfd_arch_rs6000.  Refer to PowerPc
5150         and RS6000 machine numbers using #defined constants from
5151         archures.c.
5152         * cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
5153         machine numbers using #defined constants from archures.c.  Add
5154         entries for EC603e, 630, A35, RS64II, RS64III, 7400.  Specify
5155         64-bit words in 620 entry.
5156         * cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
5157         RSC, and RS2.
5158         (bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).
5159
5160 2000-06-16  Nicholas Duffek  <nsd@cygnus.com>
5161
5162         * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.
5163         * libcoff-in.h (struct xcoff_tdata): Define xcoff64 field.
5164         * libcoff.h (struct xcoff_tdata): Define xcoff64 field.
5165
5166 2000-06-16  Nicholas Duffek  <nsd@redhat.com>
5167
5168         * bfd-in.h (bfd_family_coff): Define.
5169         * bfd-in2.h: Regenerate.
5170         * coffgen.c (coff_count_linenumbers, coff_symbol_from,
5171         coff_find_nearest_line): Check COFFness using bfd_family_coff()
5172         instead of bfd_target_coff_flavour.
5173         * cofflink.c (_bfd_coff_final_link): Likewise.
5174         * cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to
5175         exclude XCOFF files.
5176         * reloc.c (bfd_perform_relocation, bfd_install_relocation):
5177         Likewise.
5178         * targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour.
5179         * xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour.
5180         * xcofflink.c (XCOFF_XVECP): Delete.
5181         (bfd_xcoff_link_record_set, bfd_xcoff_import_symbol,
5182         bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc,
5183         bfd_xcoff_record_link_assignment,
5184         bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with
5185         check for bfd_target_xcoff_flavour.
5186
5187 2000-06-16  Nicholas Duffek  <nsd@redhat.com>
5188
5189         * rs6000-core.c: Support 64-bit core files, support pre-4.3 core
5190         files on AIX 4.3.
5191         (read_hdr): New function.
5192         (rs6000coff_core_p): Store mstsave or __context64 struct instead
5193         of trying to extract individual registers.  Set abfd->arch_info
5194         to match the architecture that created the core file.
5195         (rs6000coff_get_section_contents): Delete.
5196         * xcoff-target.h (rs6000coff_get_section_contents): Delete.
5197
5198 2000-06-14  H.J. Lu  <hjl@gnu.org>
5199
5200         * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec)
5201         is NULL.
5202
5203 2000-06-13  H.J. Lu  <hjl@gnu.org>
5204
5205         * configure: Regenerate.
5206
5207 2000-06-13  J"orn Rennecke <amylaar@cygnus.co.uk>
5208
5209         * peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of
5210         armpei_little_vec.
5211
5212 2000-06-08  David O'Brien  <obrien@FreeBSD.org>
5213
5214         * configure.in (VERSION): Update to show this is the CVS mainline.
5215
5216 2000-06-07  Alan Modra  <alan@linuxcare.com.au>
5217
5218         * elf32-d10v.c: Include elf/d10v.h
5219         (enum reloc_type): Delete.
5220         * elf32-d30v.c: Include elf/d30v.h
5221         (enum reloc_type): Delete.
5222
5223         * Makefile.am: Run "make dep-am" to regenerate dependencies.
5224         * Makefile.in: Regenerate.
5225
5226         * elf32-i386.c (elf_howto_table): Remove EMPTY_HOWTOs.
5227         (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and
5228         move HOWTOs into elf_howto_table.
5229         (R_386_standard, R_386_ext_offset): Define.
5230         (R_386_ext, R_386_vt_offset, R_386_vt): Define.
5231         (elf_i386_reloc_type_lookup): Modify calculation of index into
5232         elf_howto_table since we've removed the padding.
5233         (elf_i386_info_to_howto_rel): Likewise.
5234         (elf_i386_relocate_section): Likewise.
5235
5236 2000-06-06  Michael Snyder  <msnyder@seadog.cygnus.com>
5237
5238         * elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t.
5239
5240 2000-06-05  H.J. Lu  <hjl@gnu.org>
5241
5242         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
5243         an error when seeing an undefined symbol with hidden/internal
5244         attribute. It is handled in *_relocate_section ().
5245
5246 2000-06-05  H.J. Lu  <hjl@gnu.org>
5247
5248         * elflink.h (elf_fix_symbol_flags): Follow the link for the
5249         indirect symbol for the ELF_LINK_NON_ELF bit.
5250         (elf_link_output_extsym): Don't output the indirect symbol even
5251         if the ELF_LINK_NON_ELF bit is set.
5252
5253 2000-06-01  J.T. Conklin  <jtc@redback.com>
5254
5255         * config.bfd (i[3456]86-*-netbsdelf*): New target.
5256         (i[3456]86-*-netbsdaout*): New target.
5257         (i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
5258         (i[3456]86-*-openbsd*): Likewise.
5259
5260 2000-05-30  Andrew Cagney  <cagney@b1.cygnus.com>
5261
5262         * trad-core.c: From hpux-core.c, include <dirent.h> or
5263         <sys/ndir.h> when possible.
5264
5265 2000-05-31  Ulrich Drepper  <drepper@redhat.com>
5266
5267         * elf.c (_bfd_elf_slurp_version_tables): Correct reading of version
5268         definitions.  We must not assume they are sorted in the file
5269         according to their index numbers.
5270
5271 2000-05-31  Alan Modra  <alan@linuxcare.com.au>
5272
5273         * elf-hppa.h: (elf_hppa_final_link_relocate): Use e_rsel field
5274         selector for R_PARISC_PCREL17R.  R_PARISC_DIR17R and
5275         R_PARISC_DIR17F are for absolute branches; Handle them as such.
5276
5277 2000-05-30  Nick Clifton  <nickc@cygnus.com>
5278
5279         * cpu-i960.c (scan_960_mach): Accept 80960KA, 80960KB,
5280         80960CA, 80960MC as valid machine names.
5281
5282 2000-05-30  H.J. Lu  <hjl@gnu.org>
5283
5284         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
5285         visibility bits if the symbol is undefined. Correctly handle
5286         weak undefined symbols with hidden and internal attributes.
5287
5288         * elflink.h (elf_link_add_object_symbols): Always turn the
5289         symbol into local if it has the hidden or internal attribute.
5290
5291 2000-05-29  Philip Blundell  <philb@gnu.org>
5292
5293         * ppcboot.c:  Add packed attribute if compiling with GCC.
5294
5295 2000-05-29  Anatoly Vorobey  <mellon@pobox.com>
5296
5297         * elf.c (_bfd_elf_link_hash_table_init): Initialize dynlocal.
5298
5299 2000-05-26  Michael Snyder  <msnyder@seadog.cygnus.com>
5300
5301         * elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus,
5302         elfcore_grok_psinfo): Add code to allow debugging a 32-bit
5303         corefile on a 64-bit (Sparc Solaris) host.  Also clean up
5304         a few old comments.
5305
5306 2000-05-26  Alan Modra  <alan@linuxcare.com.au>
5307
5308         * Makefile.am: Update dependencies with "make dep-am"
5309         * Makefile.in: Regenerate.
5310
5311         * sysdep.h (gettext, dgettext, dcgettext, textdomain,
5312         bindtextdomain): Replace defines with those from intl/libgettext.h
5313         to quieten gcc warnings.
5314
5315 2000-05-26  Eli Zaretskii  <eliz@is.elta.co.il>
5316
5317         * aoutx.h (find_nearest_line): Use IS_ABSOLUTE_PATH.
5318
5319         * archive.c (normalize, bfd_bsd_truncate_arname,
5320         bfd_gnu_truncate_arname) [HAVE_DOS_BASED_FILE_SYSTEM]: Support
5321         file names with backslashes.
5322
5323         * cache.c (bfd_open_file) [__MSDOS__]: Don't unlink the file
5324         before opening it.
5325
5326         * sysdep.h: Include filenames.h.
5327
5328 2000-05-26  Alan Modra  <alan@linuxcare.com.au>
5329
5330         * opncls.c (bfd_close_all_done): Mask file perms with 0777 not 0x777.
5331
5332 2000-05-26  Jakub Jelinek  <jakub@redhat.com>
5333
5334         * elf64-sparc.c (sparc64_elf_relax_section): New.
5335         (sparc64_elf_relocate_section): Optimize tail call into branch always
5336         if possible.
5337         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5338         (elf32_sparc_relax_section): New.
5339
5340 2000-05-26  Jakub Jelinek  <jakub@redhat.com>
5341
5342         * elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters.
5343         Remove unusued variables.
5344         (sparc64_elf_relocate_section): Change r_symndx type to unsigned long.
5345         (sparc64_elf_merge_private_bfd_data): Fix shared library case from
5346         previous fix, so that shared libs really don't influence targets
5347         extension mask and memory model.
5348
5349 2000-05-23  H.J. Lu  <hjl@gnu.org>
5350
5351         * elf64-alpha.c (elf64_alpha_relocate_section): Check
5352         h->root.other not h->other.
5353         * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
5354
5355         * elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
5356
5357 2000-05-23  H.J. Lu  <hjl@gnu.org>
5358
5359         * elf32-i386.c (elf_i386_relocate_section): Don't allow the
5360         undefined symbol with the non-default visibility attributes.
5361         * elf-hppa.h (elf_hppa_relocate_section): Likewise.
5362         * elf32-arm.h (elf32_arm_relocate_section): Likewise.
5363         * elf32-i370.c (i370_elf_relocate_section): Likewise.
5364         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
5365         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
5366         * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
5367         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
5368         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5369         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
5370         * elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
5371         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5372
5373 2000-05-22  Richard Henderson  <rth@cygnus.com>
5374
5375         * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI,
5376         PCREL22, PCREL64I.  Zero size of special relocs.
5377         (elf64_ia64_reloc_type_lookup): Likewise.
5378         (USE_BRL, oor_brl, oor_ip): New.
5379         (elf64_ia64_relax_section): New.
5380         (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I.
5381         (elf64_ia64_install_value): Likewise, plus PCREL21BI.
5382         (elf64_ia64_relocate_section): Likewise.
5383         (bfd_elf64_bfd_relax_section): New.
5384         * reloc.c (BFD_RELOC_IA64_PCREL21BI): New.
5385         (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New.
5386         * bfd-in2.h, libbfd.h: Regenerate.
5387
5388 2000-05-22  Nick Clifton  <nickc@cygnus.com>
5389
5390         * configure.in : Add peigen.lo to MIPS PE targets.
5391         * configure: Regenerate.
5392
5393 2000-05-22  Momchil Velikov  <velco@fadata.bg>
5394
5395         * libbfd.c (_bfd_generic_verify_endian_match): Compare endianess
5396         only if it is known for both input and output bfds. Separate
5397         error message strings as in some languages, it may be necessary
5398         to change more than one place in the string to change between
5399         'big' and 'little'.
5400
5401         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove inline
5402         endianess checks, call _bfd_generic_verify_endian_match() instead.
5403
5404         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
5405
5406         * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
5407
5408         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Likewise. Verify
5409         endianess before checking bfd flavours.
5410
5411 2000-05-22  H.J. Lu  <hjl@gnu.org>
5412
5413         * elflink.h (elf_link_output_extsym): Clear the visibility
5414         field for symbols not defined locally.
5415
5416 2000-05-18  Alan Modra  <alan@linuxcare.com.au>
5417
5418         * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
5419         re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
5420         (hppa_rebuild_insn): Mask immediate bits here instead.
5421         * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
5422
5423 2000-05-18  Momchil Velikov <velco@fadata.bg>
5424
5425         * elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting
5426         relocs for an executable, ensure that they are virtual addresses.
5427
5428 2000-05-18  Jeffrey A Law  (law@cygnus.com)
5429
5430         * config.bfd (hppa*64*-*-hpux11*): New target triplet.
5431
5432 2000-05-17  S. Bharadwaj Yadavalli  <sby@scrugs.lkg.dec.com>
5433             Rick Gorton             <gorton@scrugs.lkg.dec.com>
5434
5435         * elflink.h: Add emitrelocations support: when enabled, relocation
5436         information and relocation sections are put into final output
5437         executables.  If the emitrelocations flag is set, do the following:
5438         (elf_bfd_final_link): Emit relocation sections.
5439         (elf_link_input_bfd): Compute relocation section contents.
5440         (elf_gc_sections): Don't clean relocation sections.
5441
5442 2000-05-16  Catherine Moore  <clm@cygnus.com>
5443
5444         * som.c (som_decode_symclass):  Recognize weak symbols.
5445
5446 2000-05-16  Szabolcs Szakacsits <szaka@F-Secure.com>
5447
5448         * peigen.c (pe_print_idata): Undo part of 2000-05-12 change that
5449         read idata section only from dataoff.
5450         (pe_print_edata): Correctly check for valid eat_member.
5451
5452 2000-05-16  J"orn Rennecke <amylaar@cygnus.co.uk>
5453
5454         * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
5455
5456 2000-05-14  Philip Blundell  <philb@gnu.org>
5457
5458         * config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets.
5459
5460 2000-05-12  Alan Modra  <alan@linuxcare.com.au>
5461
5462         * targets.c (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec
5463
5464         * peigen.c (pe_print_idata): Look for .idata section and print
5465         info even if data directory has zero entries.  Read idata section
5466         starting from dataoff, and adjust all data offsets to suit.  Cast
5467         all bfd_vma vars to unsigned long before passing to fprintf.
5468         * peigen.c (pe_print_edata): Similarly, look for .edata section
5469         and print info even if data directory has zero entries.  Cast
5470         all bfd_vma vars to unsigned long before passing to fprintf.
5471
5472         From Szabolcs Szakacsits <szaka@F-Secure.com>
5473         * peigen.c (pe_print_idata): Use bfd_section_size rather than data
5474         directory size which may be bogus.
5475         * peigen.c (pe_print_edata): Similarly.
5476
5477 2000-05-09  Alan Modra  <alan@linuxcare.com.au>
5478
5479         * elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela
5480         section is empty.
5481         (copy_private_bfd_data): Allow for space possibly taken up by elf
5482         headers when calculating segment physical address from lma.
5483
5484 2000-05-08  Alan Modra  <alan@linuxcare.com.au>
5485
5486         * versados.c (versados_scan): Init stringlen and pass_2_done.
5487
5488         * trad-core.c (trad_unix_core_file_p): Return
5489         bfd_error_wrong_format rather than bfd_error_file_truncated.
5490
5491         * peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to
5492         add_data_entry.  DataDirectory virtual address is relative.
5493         (pe_print_idata): Account for relative DataDirectory virtual
5494         addresses.  Don't trash datasize inside POWERPC_LE_PE code.
5495         (pe_print_edata): Similarly.
5496
5497         From Szabolcs Szakacsits <szaka@F-Secure.com>
5498         * peigen.c (dir_names): Add Delay Import Directory.
5499         (pe_print_idata):  Always search for bfd section containing
5500         idata address rather than looking up section name.  Print this
5501         section name rather than .idata.
5502         (pe_print_edata): Similarly.  Also print some fields as %08lx.
5503         (_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as
5504         Win32Version.
5505
5506 2000-05-05  Clinton Popetz  <cpopetz@cygnus.com>
5507
5508         * xcoff.h: Rename to xcoff-target.h
5509         * Makefile.am: Change all instances of xcoff.h to xcoff-target.h
5510         * coff-rs6000.c: Ditto.
5511         * coff64-rs6000.c: Ditto.
5512         * coff-pmac.c: Ditto.
5513         * Makefile.in: Regenerate.
5514
5515 2000-05-05  Clinton Popetz  <cpopetz@cygnus.com>
5516
5517         * coffcode.h (coff_set_arch_mach_hook, coff_set_flags):
5518         Change U802TOC64MAGIC to U803XTOCMAGIC.
5519
5520 2000-05-04  Michael Snyder  <msnyder@seadog.cygnus.com>
5521
5522         * elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1.
5523         * bfd-in.h: Prototype bfd_elf_get_arch_size.
5524         * bfd-in2.h: Prototype bfd_elf_get_arch_size.
5525
5526 2000-05-04  Alan Modra  <alan@linuxcare.com.au>
5527
5528         * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma.
5529
5530 2000-05-03  Martin v. L\81öwis  <loewis@informatik.hu-berlin.de>
5531
5532         * elflink.h (elf_link_add_object_symbols): Reset dynindx for
5533         hidden and internal symbols.
5534         (elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with
5535         visibility.
5536         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not
5537         assign a PLT or GOT entry to symbols with hidden and
5538         internal visibility.
5539
5540 2000-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
5541
5542         * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for
5543         the .bss section.
5544         * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
5545
5546 2000-05-02  H.J. Lu  <hjl@gnu.org>
5547
5548         * elf.c (prep_headers): Use ELFOSABI_NONE instead of
5549         ELFOSABI_SYSV.
5550
5551 2000-05-02  Alan Modra  <alan@linuxcare.com.au>
5552
5553         * targets.c (bfd_target_vector): Restore bfd_elf32_hppa_vec.
5554         * Makefile.am (BFD32_BACKENDS): Restore elf32-hppa.lo.  Regenerate
5555         dependencies.
5556         * Makefile.in: Regenerate.
5557
5558 2000-05-01  Jim Wilson  <wilson@cygnus.com>
5559
5560         * Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo.
5561         (BFD32_BACKENDS_CFILES): Add efi-app-ia32.c.
5562         (BFD64_BACKENDS): Delete coff-ia64.lo.  Add efi-app-ia64.lo.
5563         (BFD64_BACKENDS_CFILES): Delete coff-ia64.c.  Add efi-app-ia64.c.
5564         * Makefile.in: Rebuild.
5565
5566 2000-05-02  Alan Modra  <alan@linuxcare.com.au>
5567
5568         * config.bfd: Re-enable elf32-hppa.  It now compiles, even if it
5569         doesn't work very well.
5570
5571         * elf-hppa.h (elf_hppa_internal_shdr): Define.
5572         (elf_hppa_fake_sections): hdr is elf_hppa_internal_shdr.
5573         Set hdr->s_type to 1 if ARCH_SIZE == 32.
5574         (_bfd_elf_hppa_gen_reloc_type): Add prototype.
5575         (elf_hppa_info_to_howto): Likewise.
5576         (elf_hppa_info_to_howto_rel): Likewise.
5577         (elf_hppa_reloc_type_lookup): Likewise.
5578         (elf_hppa_is_local_label_name): Likewise.
5579         (elf_hppa_fake_sections): Likewise.
5580         (elf_hppa_final_write_processing): Likewise.
5581         (elf_hppa_howto_table): Fully initialise all entries.
5582         (_bfd_elf_hppa_gen_reloc_type): Add ATTRIBUTE_UNUSED to args.
5583         (elf_hppa_info_to_howto): Likewise.
5584         (elf_hppa_info_to_howto_rel): Likewise.
5585         (elf_hppa_reloc_type_lookup): Likewise.
5586         (elf_hppa_final_write_processing, elf_hppa_add_symbol_hook,
5587         elf_hppa_unmark_useless_dynamic_symbols,
5588         elf_hppa_remark_useless_dynamic_symbols,
5589         elf_hppa_record_segment_addrs, elf_hppa_final_link,
5590         elf_hppa_relocate_section, elf_hppa_final_link_relocate,
5591         elf_hppa_relocate_insn): Compile only if ARCH_SIZE == 64 until
5592         elf32-hppa.c mess is cleaned up.
5593         (elf_hppa_final_link_relocate): Make insn and r_type unsigned
5594         int.  Delete r_field.  In case R_PARISC_PCREL21L, don't set
5595         r_field then call hppa_field_adjust inline func with variable
5596         r_field arg, instead call hppa_field_adjust with fixed arg.
5597         In case R_PARISC_PCREL22F, don't set r_field.
5598         (elf_hppa_relocate_insn): Change args and return type to unsigned
5599         int.  Call re_assemble_* funcs to do the work.
5600
5601         * elf32-hppa.c (hppa_elf_relocate_insn): Don't assume 32 bit when
5602         sign extending.
5603
5604         * libhppa.h (HPPA_R_CONSTANT): Don't assume 32 bit when sign
5605         extending.
5606         (sign_extend): Mask first before sign extending.
5607         (low_sign_extend): Rewrite without condition expression.
5608         (ones, dis_assemble_3, dis_assemble_12, dis_assemble_16,
5609         dis_assemble_17, dis_assemble_21, dis_assemble_22): Delete.
5610         (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
5611         assemble_17, assemble_21, sign_unext, low_sign_unext): Return
5612         result as function return value rather than through pointer arg.
5613         Accept unsigned int args, and return unsigned int.
5614         (re_assemble_3): New.  Combines function of dis_assemble_3 with
5615         re-assembly of opcode and immediate.
5616         (re_assemble_12): Likewise.
5617         (re_assemble_16): Likewise.
5618         (re_assemble_17): Likewise.
5619         (re_assemble_21): Likewise.
5620         (re_assemble_22): Likewise.
5621         (hppa_field_adjust): Rewrite and document, paying attention to
5622         size of types and signed/unsigned issues.
5623         (get_opcode): Shift before masking.
5624         (FDLW): Rename to FLDW.
5625         (bfd_hppa_insn2fmt): Change arg to unsigned int.  Delete fmt.
5626         (hppa_rebuild_insn): Change args and return value to unsigned
5627         int.  Make use of re_assemble_*.  Correct case 11.
5628
5629         * dep-in.sed: Handle ../opcodes/.
5630         * Makefile.am (SOURCE_HFILES): Add elf-hppa.h, elf32-hppa.h,
5631         elf64-hppa.h, hppa_stubs.h, xcoff.h.
5632         (BFD32_BACKENDS_CFILES): Restore elf32-hppa.c.
5633         Remove elf64-hppa.lo, cpu-ia64.lo, elf64-ia64.lo, elfarm-oabi.lo,
5634         elfarm-nabi.lo dependencies outside of auto-dependency area.
5635         Regenerate dependencies.
5636         * Makefile.in: Regenerate.
5637
5638         * configure.in (TRAD_HEADER): Test non-null before
5639         AC_DEFINE_UNQUOTED.
5640         * configure: Regenerate.
5641
5642         * reloc.c: Fix mis-spelling in comment.
5643
5644 2000-05-01  Alan Modra  <alan@linuxcare.com.au>
5645
5646         * coff-sh.c (bfd_coff_small_swap_table): Fix Fri Apr 28 change.
5647         * vms.c (vms_openr_next_archived_file): Return NULL.
5648
5649 2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
5650
5651         * coffcode.h Copy changes mistakenly done to libcoff.h in
5652         4/24/2000 patch.
5653
5654 2000-04-29  Andreas Jaeger  <aj@suse.de>
5655
5656         * libbfd-in.h: Correctly check GCC version.
5657         * bfd-in.h: Likewise.
5658         * libhppa.h: Likewise.
5659         * libbfd.h: Regenerate.
5660         * bfd-in2.h: Regenerate.
5661
5662 2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
5663
5664         * Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add
5665         coffdu-rs6000.{lo,c}.
5666         (coff-pmac.lo, coff-rs6000.lo, coff64-rs6000.lo): Add dependency
5667         on xcoff.h
5668         * Makefile.in: Regenerate.
5669         * xcoff.h: New file.
5670         * coff-pmac.c: Use xcoff.h instead of coff-rs6000.c.
5671         * coff-rs6000.c: Move all declarations and defines that are
5672         common to the xcoff backends into xcoff.h
5673         * coff64-rs6000.c: Ditto,
5674
5675 2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
5676
5677         * coff-mips.c (mips_ecoff_backend_data):  Add initialization of
5678         _bfd_coff_force_symnames in strings and
5679         _bfd_coff_debug_string_prefix_length to their default values.
5680         * coff-sh.c: (bfd_coff_small_swap_table): Ditto.
5681
5682 2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
5683
5684         * coff-alpha.c (alpha_ecoff_backend_data): Add initialization of
5685         _bfd_coff_force_symnames in strings and
5686         _bfd_coff_debug_string_prefix_length to their default values.
5687
5688 2000-04-27  Alan Modra  <alan@linuxcare.com.au>
5689
5690         * elf32-m68k.c (elf_m68k_gc_sweep_hook):  Return if dynobj NULL.
5691         Check local_got_refcounts before dereferencing.
5692
5693         * elf32-ppc.c (ppc_elf_relocate_section): Check splt != NULL
5694         before deciding we don't need R_PPC_PLT32 relocation.
5695         (ppc_elf_gc_sweep_hook): Check local_got_refcounts before
5696         dereferencing.
5697
5698         * elflink.h (elf_gc_common_finalize_got_offsets): Fix comment.
5699
5700         * elf32-i386.c (elf_i386_check_relocs): Reference count .got and
5701         .plt entries.
5702         (elf_i386_gc_sweep_hook): Garbage collect .got and .plt entries.
5703         (elf_i386_adjust_dynamic_symbol): Recognize unused .plt entries.
5704         (elf_i386_relocate_section): Allow for .plt to go missing.
5705         (elf_i386_finish_dynamic_symbol): Use same test to decide if we
5706         can use a relative reloc for got as elf_i386_relocate_section.
5707         (bfd_elf32_bfd_final_link): Define to use gc form of final link.
5708
5709 2000-04-26  Clinton Popetz  <cpopetz@cygnus.com>
5710
5711         * config.bfd: Remove extraneous bfd_powerpc_64_arch.
5712
5713 2000-04-24  Clinton Popetz  <cpopetz@cygnus.com>
5714
5715         * Makefile.am (coff64-rs6000.lo): New rule.
5716         * Makefile.in: Regenerate.
5717         * coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
5718         xcoff_is_local_label_name, xcoff_rtype2howto,
5719         xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
5720         xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
5721         xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
5722         (NO_COFF_SYMBOLS): Define.
5723         (xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
5724         xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
5725         internally.
5726         (MINUS_ONE): New macro.
5727         (xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
5728         relocation.
5729         (coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
5730         coff_SWAP_aux_out): Map to the new functions.
5731         * coff64-rs6000.c: New file.
5732         * libcoff.h (bfd_coff_backend_data): Add new fields
5733         _bfd_coff_force_symnames_in_strings and
5734         _bfd_coff_debug_string_prefix_length.
5735         (bfd_coff_force_symnames_in_strings,
5736         bfd_coff_debug_string_prefix_length): New macros for above fields.
5737         * coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
5738         Set machine to 620 for XCOFF64.  Use bfd_coff_swap_sym_in instead
5739         of using coff_swap_sym_in directly.
5740         (FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
5741         (coff_set_flags) Set magic for XCOFF64.
5742         (coff_compute_section_file_positions): Add symbol name length to
5743         string section length if bfd_coff_debug_string_prefix_length is
5744         true.
5745         (coff_write_object_contents): Don't do reloc overflow for XCOFF64.
5746         (coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
5747         using coff_swap_lineno_in directly.
5748         (bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
5749         and _bfd_coff_debug_string_prefix_length fields.
5750         * coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
5751         symbol names into strings table when
5752         bfd_coff_force_symnames_in_strings is true.
5753         * coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
5754         SET_RELOC_VADDR): New macros.
5755         (coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
5756         (coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
5757         code.
5758         (coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
5759         changes within RS6000COFF_C specific code.
5760         (coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
5761         MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
5762         * reloc.c (bfd_perform_relocation, bfd_install_relocation):
5763         Extend existing hack on target name.
5764         * xcofflink.c (XCOFF_XVECP): Extend existing hack on
5765         target name.
5766         * coff-tic54x.c (ticof): Keep up to date with new fields
5767         in bfd_coff_backend_data.
5768         * config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
5769         targ_selvecs to include rs6000coff64_vec for rs6000.
5770         * configure.in: Add rs6000coff64_vec case.
5771         * cpu-powerpc.c: New bfd_arch_info_type.
5772
5773 2000-04-24  Jeffrey A Law  (law@cygnus.com)
5774
5775         * config.bfd: Only disable elf32-hppa vectors, not all of the
5776         BSD and OSF configuration support.  Provide (disabled) clauses
5777         for PA64 support.
5778         * configure.in: Add clause for PA64 support.
5779         * configure: Rebuilt.
5780
5781         * targets.c (bfd_target_vector): Add bfd_elf64_hppa_vec.
5782         (bfd_elf64_hppa_vec): Declare.
5783
5784         * Makefile.am (BFD64_BACKENDS): Add elf64-hppa.lo
5785         (BFD64_BACKENDS_CFILES): Add elf64-hppa.c
5786         (elf64-hppa.lo): Add dependencies.
5787         * Makefile.in: Rebuilt.
5788
5789         * elf64-hppa.c, elf64-hppa.h: New files with PA64 support.
5790
5791 2000-04-24  Jason Eckhardt  <jle@cygnus.com>
5792
5793         * libhppa.h (dis_assemble_16): New function.
5794         (pa_arch): Added pa20w element.
5795
5796 2000-04-24  Ulrich Drepper  <drepper@cygnus.com>
5797
5798         * elf-bfd.h: Add prototypes for bfd_elf32_write_relocs,
5799         bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and
5800         bfd_elf64_slurp_reloc_table.
5801
5802         * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New
5803         definitions to get external names.
5804         (elf_write_relocs): Renamed from write_relocs and make global.
5805         (elf_slurp_reloc_table): Make global.
5806         (_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs.
5807
5808         * archive.c (hpux_uid_gid_encode): New function.
5809         (bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is
5810         defined and the ID is greater than 99999.
5811         (bfd_generic_stat_arch_elt): If HPUX_LARGE_AR_IDS is defined decode
5812         special uid/gid fields into 32 bit values.
5813
5814 2000-04-21  Matthew Green  <mrg@cygnus.com>
5815
5816         * config.bfd: Add NetBSD/sparc64 support.
5817
5818 Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
5819                           David Mosberger  <davidm@hpl.hp.com>
5820                           Timothy Wall <twall@cygnus.com>
5821                           Jim Wilson  <wilson@cygnus.com>
5822
5823         * Makefile.am (ALL_MACHINES): Add cpu-ia64.lo.
5824         (ALL_MACHINES_CFILES): Add cpu-ia64.c.
5825         (BFD64_BACKENDS): Add elf64-ia64.lo.
5826         (BFD64_BACKENDS_CFILES): Add elf64-ia64.c.
5827         (cpu-ia64.lo, elf64-ia64.lo): New rules.
5828         * Makefile.in: Rebuild.
5829         * archures.c (enum bfd_architecture): Add bfd_arch_ia64.
5830         (bfd_ia64_arch): Declare.
5831         (bfd_archures_list): Add bfd_ia64_arch.
5832         * bfd-in2.h: Rebuild.
5833         * config.bfd: (ia64*-*-linux-gnu*, ia64*-*-elf*): New targets.
5834         * configure: Rebuild.
5835         * configure.host: (ia64-*-linux*): New host.
5836         * configure.in (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec,
5837         bfd_efi_app_ia64_vec, bfd_efi_app_ia64_vec): New vectors.
5838         * elf.c (prep_headers): Add bfd_arch_ia64.
5839         * libbfd.h: Rebuild.
5840         * reloc.c: Add IA-64 relocations.
5841         * targets.c (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec):
5842         Declare.
5843         (bfd_target_vect): Add bfd_elf64_ia64_little_vec.
5844         * cpu-ia64-opc.c, cpu-ia64.c, elf64-ia64.c: New files.
5845
5846 2000-04-21  Richard Henderson  <rth@cygnus.com>
5847
5848         * elf32-d30v.c (bfd_elf_d30v_reloc): Don't modify section
5849         contents when performing a partial link.
5850         (bfd_elf_d30v_reloc_21): Likewise.
5851
5852 2000-04-20  H.J. Lu  <hjl@gnu.org>
5853
5854         * elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10
5855         patch to symbols defined by a shared object.
5856         * elf32-ppc.c (ppc_elf_relocate_section): Similarly.
5857
5858 2000-04-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
5859
5860         K&R compiler fixes.
5861         * dwarf2.c (concat_filename): Avoid string literal concatenation.
5862         * ieee.c (ieee_get_symtab): Don't initialise union in struct.
5863
5864 Mon Apr 17 19:14:36 2000  David Mosberger  <davidm@hpl.hp.com>
5865
5866         * Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo.
5867         (BFD64_BACKENDS_CFILES): Mention coff-ia64.c
5868         (coff-ia64.lo): Add dependency.
5869         * Makefile.in: Regenerate.
5870         * coff-ia64.c: New file.
5871         * efi-app-ia32.c: Ditto.
5872         * efi-app-ia64.c: Ditto.
5873         * coffcode.h (coff_set_arch_mach_hook): Handle IA64MAGIC.
5874         (coff_set_flags): Ditto.
5875         (coff_write_object_contents) [IA64]: Set magic number to ZMAGIC.
5876         * config.bfd (i[3456]86-*-linux-gnu*): Mention bfd_efi_app_ia32_vec.
5877         * configure.in (elf): Handle bfd_efi_app_ia32 and bfd_efi_app_ia64_vec.
5878         * configure: Regenerate.
5879         * libpei.h (GET_OPTHDR_IMAGE_BASE): New macro.
5880         (PUT_OPTHDR_IMAGE_BASE): Ditto.
5881         (GET_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
5882         (PUT_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
5883         (GET_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
5884         (PUT_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
5885         (GET_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
5886         (PUT_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
5887         (GET_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
5888         (PUT_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
5889         (GET_PDATA_ENTRY): Ditto.
5890         * peigen.c (_bfd_pei_swap_aouthdr_in) [COFF_WITH_PEP64]: Don't read
5891         data_start.  Use above macros to read fields that are 64 bit wide for
5892         COFF_WITH_PEP64.  Don't truncate entry and text_start to 32 bits.
5893         (_bfd_pei_swap_aouthdr_out) [PEI_FORCE_MINIMUM_ALIGNMENT]: Force
5894         FileAlignment and SectionAlignment to minimum alignment if they
5895         are zero.
5896         (_bfd_pei_swap_aouthdr_out) [PEI_DEFAULT_TARGET_SUBSYSTEM]: Set
5897         Subsystem to default PEI_DEFAULT_TARGET_SUBSYSTEM.
5898         (_bfd_pei_swap_aouthdr_out) [COFF_WITH_PEP64]: Don't set data_start.
5899         Use above macros to write fields that are 64 bit wide for
5900         COFF_WITH_PEP64.
5901         (pe_print_pdata): Set PDATA_ROW_SIZE to 3*8 for COFF_WITH_PEP64,
5902         5*4 otherwise.  This should be right for IA-32 and IA-64, but may
5903         be wrong for platforms.  Use PDATA_ROW_SIZE instead of hardcoded
5904         value of 20 bytes.  Modify printing for COFF_WITH_PEP64 to print
5905         begin address, end address, and unwind info address only.  Use
5906         GET_PDATA_ENTRY() to read .pdata entries.  Use fprintf_vma() to
5907         print addresses.
5908         (tbl): Add SECTION, REL32, RESERVED1, MIPS_JMPADDR16, DIR64, and
5909         HIGH3ADJ relocation names.
5910         (_bfd_pe_print_private_bfd_data): Print Subsystem name in legible form.
5911         * targets.c: Declare bfd_efi_app_ia32_vec and
5912         bfd_efi_app_ia64_vec.
5913         (bfd_target_vector): Mention bfd_efi_app_ia32_vec and
5914         bfd_efi_app_ia64_vec.
5915
5916 2000-04-17  Timothy Wall  <twall@cygnus.com>
5917
5918         * bfd-in2.h: Add prototypes for tic54x load page access.
5919         * bfd-in.h: Regenerate.
5920         * coff-tic54x.c: Add load page functions; allow bfd_arch_unknown
5921         in customized _set_arch_mach function.
5922         * coffcode.h (coff_set_alignment_hook): Set section load page if
5923         the appropriate macro is defined.
5924         (write_object_contents): Read section load page.
5925
5926 2000-04-13  Alan Modra  <alan@linuxcare.com.au>
5927
5928         * elf32-hppa.h: Update copyright date.
5929
5930         * elf32-fr30.c (fr30_elf_i20_reloc): Don't use U suffix.
5931         * elf32-mips.c (_bfd_mips_elf_relocate_section): And here.
5932
5933         * elf32-d30v.c (MAX32): Don't use LL suffix.
5934         (MIN32): Define in terms of MAX32.
5935         (bfd_elf_d30v_reloc): Make relocation a bfd_signed_vma.
5936
5937         * coff-a29k.c (SIGN_EXTEND_HWORD): Replace with more concise
5938         expression.
5939
5940         * peicode.h (pe_ILF_build_a_bfd): Remove UL from hex constants.
5941
5942 2000-04-12  Alan Modra  <alan@linuxcare.com.au>
5943
5944         * dep-in.sed: Match space before file name, not after.
5945         * Makefile.am: Regenerate dependencies.
5946         * Makefile.in: Regenerate.
5947
5948         * reloc.c (_bfd_relocate_contents): In complain_overflow_bitfield
5949         case, allow address wrap-around stupidly removed 2000-03-17.  Sign
5950         extend without an if statement.
5951
5952 2000-04-11  Alan Modra  <alan@linuxcare.com.au>
5953
5954         * coff-mips.c (mips_gprel_reloc): Test for 16 bit range using
5955         signed quantites.
5956         * elf32-mips.c (gprel16_with_gp): Likewise.
5957         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Test range
5958         here using -0x40000, not (int)0xfffc0000.
5959         (elf32_hppa_size_of_stub): Likewise.
5960
5961 2000-04-11  Timothy Wall  <twall@cygnus.com>
5962
5963         * coff-tic54x.c: Now builds with all targets.
5964         * Makefile.am: Add coff/tic54x.h to coff-tic54x.o dependencies.
5965         * Makefile.in: Regenerate.
5966         * coffcode.h (coff_set_arch_mach_hook): Eliminate warning on
5967         unitialized variable.
5968
5969 Fri Apr  7 15:56:57 2000  Andrew Cagney  <cagney@b1.cygnus.com>
5970
5971         * configure.in (WARN_CFLAGS): Set to -W -Wall by default.  Add
5972         --enable-build-warnings option.
5973         * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
5974         * Makefile.in, configure: Re-generate.
5975
5976 2000-04-07  Nick Clifton  <nickc@cygnus.com>
5977
5978         * reloc.c: Add BFD_RELOC_ARM_PCREL_BLX and
5979         BFD_RELOC_THUMB_PCREL_BLX.
5980
5981         * elf32-arm.h (elf32_arm_final_link_relocate): Handle
5982         R_ARM_XPC25 and R_ARM_THM_PC22.
5983
5984         * elfarm-nabi.c (elf32_arm_howto_): Fix definitions of
5985         R_ARM_XPC25 and R_ARM_THM_XPC22.
5986         (elf32_arm_reloc_map): Make BFD_RELOC_{ARM|THUMB}_PCREL_BLX to
5987         R_ARM_[XPC25|THM_XPC22].
5988
5989         * elfarm-oabi.c: Define OLD_ARM_ABI and change include from
5990         elf/arm-oabi.h to elf/arm.h
5991
5992         * Makefile.am: Fix dependency for elfarm-oabi.c
5993         * Makefile.in: Regenerate.
5994
5995         * bfd-in2.h: Regenerate.
5996         * libbfd.h: Regenerate.
5997
5998 2000-04-06  Michael Snyder  <msnyder@seadog.cygnus.com>
5999
6000         * elfcore.h (elf_core_file_p): preserve value of tdata at entry,
6001         and restore it on failure.  Release newly allocated tdata on
6002         failure.
6003
6004 Fri Apr  7 11:33:47 2000  Jim Wilson  <wilson@cygnus.com>
6005
6006         * dwarf2.c (struct dwarf2_debug): New field dwarf_line_size.
6007         (decode_line_info): Set it.  Report error if unit->line_offset is
6008         equal to or larger than it.
6009
6010 2000-04-07  Timothy Wall  <twall@cygnus.com>
6011
6012         * targets.c: Added vecs for tic54x.
6013         * reloc.c: Added relocs for tic54x.
6014         * libbfd.h: Regenerated.
6015         * configure: Add TI COFF vecs for tic54x.
6016         * configure.in: Ditto.
6017         * config.bfd (targ_cpu): Recognize new tic54x target.
6018         * coffcode.h (coff_slurp_symbol_table): Additions for TI COFF handling.
6019         * bfd-in2.h: Add tic54x target and relocations.
6020         * Makefile.am, Makefile.in: Add tic54x target.
6021         * archures.c (bfd_archures_list): Add tic54x target.
6022         * coff-tic54x.c: New.
6023         * cpu-tic54x.c: New.
6024
6025 2000-04-06  Michael Snyder  <msnyder@seadog.cygnus.com>
6026
6027         * elfcore.h (elf_core_file_p): call backend_object_p which
6028         thereby gets an opportunity to update the arch/machine type.
6029
6030 2000-04-06  Timothy Wall  <twall@cygnus.com>
6031
6032         * coffcode.h (coff_slurp_symbol_table): Handle C_STATLAB storage
6033         class.  Handle SEC_CLINK and SEC_BLOCK flags.
6034         * section.c: Add SEC_CLINK and SEC_BLOCK flags.
6035         * bfd-in2.h: Add SEC_CLINK and SEC_BLOCK flags.
6036
6037 2000-04-06  Nick Clifton  <nickc@cygnus.com>
6038
6039         * elf32-arm.h (elf32_arm_set_private_flags): Only check for
6040         EF_INTERWORK if this is an unknown EABI.
6041         (elf32_arm_merge_private_bfd_data): Check EABI version
6042         numbers.  Only check EF_xxx flags if the EABI version number
6043         is unknown.
6044         (elf32_arm_check_private_bfd_data): Only check EF_xxx flags
6045         if the EABI version number is unknown.
6046         (elf32_arm_print_private_bfd_data): Only decode EF_xxx flags
6047         if the EABI version number is unknown.
6048
6049 Wed Apr  5 22:04:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
6050
6051         * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
6052         BFD_RELOC_SH_LOOP_END.
6053         * elf32-sh.c (sh_elf_howto_tab): Change special_func to
6054         sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
6055         Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
6056         (sh_elf_reloc_loop): New function.
6057         (sh_elf_reloc): No need to test for always-to-be-ignored relocs
6058         any more.
6059         (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
6060         (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
6061         * bfd-in2.h, libbfd.h: Regenerate.
6062
6063 2000-04-04  Alan Modra  <alan@linuxcare.com.au>
6064
6065         * po/bfd.pot: Regenerate.
6066
6067         * Makefile.am: Remove extraneous mkdep comment.
6068         (MKDEP): Use gcc -MM rather than mkdep.
6069         (DEP): Quote when passing vars to sub-make.  Add warning
6070         message to end.
6071         (DEP1): Rewrite for "gcc -MM".
6072         (CLEANFILES): Add DEP2.
6073         Update dependencies.
6074         * Makefile.in: Regenerate.
6075
6076 2000-04-03  Kevin Buettner  <kevinb@redhat.com>
6077
6078         * configure.in: Added corefile support for AIX 4.3.  In particular,
6079         AIX_CORE_DUMPX_CORE will be defined in addition to AIX_CORE when
6080         compiling rs6000-core.c.
6081         * configure: Regenerated.
6082
6083 2000-04-03  H.J. Lu  <hjl@gnu.org>
6084
6085         * cache.c (bfd_open_file): Unlink the output file only if
6086         it has non-zero size.
6087
6088 2000-04-01  Ken Block USG  <block@zk3.dec.com>
6089
6090         * elf64-alpha.c (elf64_alpha_relocate_section): Don't emit
6091         relative relocations for non-loaded sections in shared objects.
6092         (elf64_alpha_check_relocs): Similarly.
6093
6094 Mon Apr  3 13:37:15 2000  Hans-Peter Nilsson  <hp@axis.com>
6095
6096         * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
6097         BFD_RELOC_16 to switch for extended relocs.
6098         (MY_swap_ext_reloc_in): New.
6099         (MY_swap_ext_reloc_out): New.
6100         (NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather
6101         than NAME(aout,swap_ext_reloc_in) for extended relocs.
6102         (NAME(aout,squirt_out_relocs)): Similarly use
6103         MY_swap_ext_reloc_out.
6104         (aout_link_reloc_link_order): Use MY_put_ext_reloc if defined.
6105
6106 2000-04-03  Kazu Hirata  <kazu@hxi.com>
6107
6108         * coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to
6109         the R_PCRWORD_B case.
6110
6111 2000-03-31  Thomas de Lellis  <tdel@wrs.com>
6112
6113         * srec.c : Set CHUNK size to 16 bytes to prevent download failures
6114         on some targets.
6115         * ihex.c : Ditto.
6116
6117 Wed Mar 30 15:28:00 2000  Donald Lindsay  <dlindsay@cygnus.com>
6118
6119         * elf32-m32r.c (m32r_elf_generic_reloc): new function.  All
6120         HOWTO references to bfd_elf_generic_reloc, that have
6121         partial_inplace == true, now use the new function.  The function
6122         is based on the recent rewrite of m32r_elf_lo16_reloc(), and
6123         extends its fixes to the R_M32R_{16,24,32} relocs.
6124         The new logic in m32r_elf_lo16_reloc() has been removed, and
6125         it instead calls the new routine to obtain that functionality.
6126
6127 2000-03-27  Alan Modra  <alan@linuxcare.com.au>
6128
6129         * elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook,
6130         elf32_avr_check_relocs, avr_final_link_relocate,
6131         elf32_avr_relocate_section, bfd_elf_avr_final_write_processing,
6132         elf32_avr_object_p): Add prototypes.
6133         (elf32_avr_gc_mark_hook): Add default for h->root.type.
6134         (bfd_elf_avr_final_write_processing): Make static.
6135
6136 2000-03-27  Denis Chertykov  <denisc@overta.ru>
6137
6138         * cpu-avr.c: New file.  BFD support routines for AVR architecture.
6139         * archures.c (bfd_architecture): Add AVR architecture.
6140         (bfd_archures_list): Add reference to AVR architecture info.
6141         * elf.c (prep_headers): Handle bfd_arch_avr.
6142         * reloc.c: Add various AVR relocation enums.
6143         * targets.c (bfd_elf32_avr_vec): Declare and add to target vector
6144         list.
6145         * Makefile.am: Add support for AVR elf.
6146         * configure.in: Likewise.
6147         * config.bfd: Likewise.
6148         * Makefile.in: Regenerate.
6149         * configure: This too.
6150         * bfd-in2.h: And this.
6151         * libbfd.h: And this.
6152
6153 2000-03-24  H.J. Lu  <hjl@gnu.org>
6154
6155         * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype.
6156         (elf64_alpha_find_reloc_at_ofs): Likewise.
6157
6158 2000-03-17  Alan Modra  <alan@linuxcare.com.au>
6159
6160         * reloc.c (bfd_check_overflow): In case complain_overflow_bitfield,
6161         flag an overflow if the bitfield is outside -2**n to 2**n-1.  The
6162         allowable range used to be -2**(n-1) to 2**n-1.
6163         * reloc.c (_bfd_relocate_contents): Same here.  Also replace
6164         "boolean overflow" with "bfd_reloc_status_type flag".
6165
6166 2000-03-14  Doug Evans  <dje@casey.transmeta.com>
6167
6168         * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite.
6169
6170 2000-03-14  Kazu Hirata  <kazu@hxi.com>
6171
6172         * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number
6173         of shrinks properly, including the last reloc.
6174
6175 2000-03-13  Kazu Hirata  <kazu@hxi.com>
6176
6177         * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
6178         check for R_MOVL2.
6179
6180 2000-03-11  Alan Modra  <alan@linuxcare.com.au>
6181
6182         * ieee.c (ieee_archive_p): Return bfd_error_wrong_format on
6183         a format mismatch rather than an "error" from bfd_read such as
6184         bfd_error_file_truncated.
6185
6186 2000-03-10  Geoff Keating  <geoffk@cygnus.com>
6187
6188         * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper
6189         sign-extension and big-endian compensation for
6190         R_MIPS_64 even in ld -r.
6191
6192 2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>
6193
6194         * elf32-mips.c (mips_elf_next_relocation): Rename from
6195         mips_elf_next_lo16_relocation, and generalize to look
6196         for any relocation type.
6197         (elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
6198         (elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
6199         (elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
6200         (elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
6201         (elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
6202         (elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
6203         (bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
6204         (mips_rtype_to_howto): Likewise.
6205         (mips_elf_calculate_relocation): Handle new relocs.
6206         (_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
6207         are paired.  The addend for R_MIPS_GNU_REL16_S2
6208         is shifted right two bits.
6209
6210 2000-03-10  Alan Modra  <alan@linuxcare.com.au>
6211
6212         * reloc.c (bfd_perform_relocation): Undo emacs formatting of
6213         comment, and ensure it doesn't happen again.
6214         (bfd_install_relocation): Same here.
6215         (_bfd_relocate_contents): Don't bother assigning unused signmask
6216         shift result.  Fix typos in comments.
6217         Remove trailing whitespace throughout file.
6218
6219 2000-03-07  Doug Evans  <dje@casey.transmeta.com>
6220
6221         * reloc.c (reloc_howto_struct): Fix partial_inplace comment.
6222         * bfd-in2.h: Rebuild.
6223
6224 2000-03-06  Nick Clifton  <nickc@cygnus.com>
6225
6226         * peicode.h (struct pe_ILF_vars): Add sym_ptr_table and
6227         sym_ptr_ptr fields.
6228         (SIZEOF_ILF_SYM_PTR_TABLE): Define.
6229         (SIZEOF_ILF_STRINGS): Redefine.
6230         (pe_ILF_make_a_symbol-reloc): New function.  Creates a symbol
6231         relative reloc, as opposed to a section relative reloc.
6232         (pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT
6233         not C_LABEL.
6234         Add length of symbol's prefix to string pointer.
6235         Store a pointer to the symbol in the symbol pointer table.
6236         (pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7.
6237         Initialise the symbol pointer table.
6238         Store the hint in the Hint/Name table.
6239         Make the jump reloc be symbol realtive, not section relative.
6240         Create an import symbol for imported code.
6241
6242 2000-03-06  Catherine Moore  <clm@cygnus.com>
6243
6244         * elf.c (swap_out_syms):  Check for null type_ptr.
6245
6246 2000-03-01  Hans-Peter Nilsson  <hp@axis.com>
6247
6248         * aout-target.h (MY(write_object_contents)): Remove unused
6249         and unusable "#if CHOOSE_RELOC_SIZE".
6250         * pc532-mach.c (MY(write_object_contents)): Ditto.
6251         * netbsd.h (MY(write_object_contents)): Ditto.
6252         * hp300hpux.c (MY(write_object_contents)): Ditto.
6253         * freebsd.h (MY(write_object_contents)): Ditto.
6254         * aout-tic30.c (tic30_aout_write_object_contents): Ditto.
6255
6256 2000-02-29  H.J. Lu  <hjl@gnu.org>
6257
6258         * peicode.h (jtab): Make it static.
6259
6260         * coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is
6261         defined and COFF_IMAGE_WITH_PE is not defined.
6262         (_bfd_sh_align_load_span): Defined as sh_align_load_span if
6263         COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined.
6264
6265 2000-03-01  Nick Clifton  <nickc@cygnus.com>
6266
6267         * coff-arm.c (bfd_arm_process_before_allocation): Make
6268         'symndx' signed to prevent compile time warning.
6269
6270         * coff-mcore.c: Remove unused prototype for pe_object_p.
6271
6272         * coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static
6273         functions that are not used when COFF_IMAGE_WITH_PE is
6274         defined.
6275         (struct sh_opcode): Change type of 'flags' field to unsigned
6276         long so that it can hold the USESAS flag.
6277
6278         * coffcode.h (styp_to_sec_flags): Initialise 'target_name'.
6279
6280         * elf-m10300.c (mn10300_elf_relax_section): Initialise
6281         'sym_sec'.
6282
6283         * elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function
6284         parameters.
6285         Remove unusued variables and code.
6286         (elf_backend_add_symbol_hook): Fix prototype.
6287
6288         * elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and
6289         'srelgot'.
6290
6291         * elf32-mcore.c (mcore_elf_relocate_section): Initialise
6292         'oldinst'.
6293
6294         * elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function
6295         parameters.
6296         Remove unusued variables and code.
6297         (elf_backend_add_symbol_hook): Fix prototype.
6298
6299         * elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'.
6300
6301         * elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED
6302         to unused function parameter.
6303
6304         * pe-mips.c: Add ATTRIBUTE_UNUSED to unused function
6305         parameters.
6306         Use EMPTY_HOWTO to initialise empty howto slots.
6307         Remove unused variables.
6308
6309         * peicode.h (pe_ILF_build_a_bfd): Initialise id6.
6310
6311 2000-03-01  H.J. Lu  <hjl@gnu.org>
6312
6313         * aoutx.h (aout_link_input_section_std): Pass "true" to
6314         the undefined_symbol callback.
6315         (aout_link_input_section_ext): Likewise.
6316         * bout.c (get_value): Likewise.
6317         * coff-a29k.c (coff_a29k_relocate_section): Likewise.
6318         * coff-alpha.c (alpha_ecoff_get_relocated_section_conten):
6319         Likewise.
6320         (alpha_relocate_section): Likewise.
6321         * coff-arm.c (coff_arm_relocate_section): Likewise.
6322         * coff-i960.c (coff_i960_relocate_section): Likewise.
6323         * coff-mcore.c (coff_mcore_relocate_section): Likewise.
6324         * coff-mips.c (mips_relocate_section): Likewise.
6325         * coff-ppc.c (coff_ppc_relocate_section): Likewise.
6326         * coff-sh.c (sh_relocate_section): Likewise.
6327         * coff-tic80.c (coff_tic80_relocate_section): Likewise.
6328         * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
6329         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
6330         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
6331         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
6332         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
6333         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
6334         * elf32-i370.c (i370_elf_relocate_section): Likewise.
6335         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
6336         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
6337         * elf32-sh.c (sh_elf_relocate_section): Likewise.
6338         * elf32-v850.c (v850_elf_relocate_section): Likewise.
6339         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
6340         * elflink.h (elf_link_output_extsym): Likewise.
6341         * pe-mips.c (coff_pe_mips_relocate_section): Likewise.
6342         * reloc.c (bfd_generic_get_relocated_section_conten): Likewise.
6343         * reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise.
6344
6345         * elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the
6346         undefined_symbol callback when building shared library with
6347         -Bsymbolic and undefined symbols are allowed. Otherwise, pass
6348         "true".
6349         * elf32-arm.h (elf32_arm_relocate_section): Likewise.
6350         * elf32-i386.c (elf_i386_relocate_section): Likewise.
6351         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
6352         * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
6353         (elf32_mips_get_relocated_section_content): Likewise.
6354         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
6355         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6356         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
6357         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6358
6359 2000-02-28  Nick Clifton  <nickc@cygnus.com>
6360
6361         * Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects.
6362         * Makefile.in: Regenerate.
6363
6364         * configure.in: Add support for mips and sh pe vectors.
6365         * configure: regenerate.
6366
6367         * config.bfd: Add support for arm-wince, mips-pe and sh-pe
6368         targets.
6369
6370         * targets.c: Add mips and sh pe vectors.
6371
6372         * libpei.h (coff_final_link_postscript): Only define if not
6373         already defined.
6374
6375         * coffcode.h: Add support for WinCE magic numbers.
6376
6377         * peigen.c (pe_print_reloc): Update comment and rearrange
6378         appending of newline character.
6379
6380         * peicode.h: Add support for Image Library Format.
6381         (pe_ILF_vars): Structure containing data used by ILF code.
6382         (pe_ILF_make_a_section): New function.  Create a section based
6383         on ILF data.
6384         (pe_ILF_make_a_reloc): New function.  Create a reloc based on
6385         ILF data.
6386         (pe_ILF_make_a_symbol): New function.  Create a symbol based
6387         on ILF data.
6388         (pe_ILF_save_relocs): New function.  Store the relocs created
6389         by pe_ILF_make_a_reloc in a section.
6390         (pe_ILF_build_a_bfd): New function.  Create a BFD describing
6391         an ILF object.
6392         (pe_ILF_object_p): New function.  Return a bfd_target pointer
6393         for an ILF object.
6394         (pe_bfd_object_p): If an ILF object is detected call
6395         pe_ILF_object_p on it.
6396
6397         * coff-arm.c: Add support for WinCE relocs which are different
6398         from normal ARM COFF relocs.
6399         * pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target.
6400
6401         * coff-sh.c: Add support for sh-pe target.
6402         * pe-sh.c: New file.  Support code for sh-pe target.
6403         * pei-sh.c: New file.  Support code for sh-pe target.
6404
6405         * pe-mips.c: New file.  Support code for mips-pe target.
6406         * pei-mips.c: New file.  Support code for mips-pe target.
6407
6408 2000-02-27  Jakub Jelinek  <jakub@redhat.com>
6409
6410         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump
6411         architecture if the object causing the bump is dynamic.
6412         * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise,
6413         and also don't it for memory ordering.
6414         (sparc64_elf_write_relocs): Take src_rela out of the loop.
6415
6416 2000-02-27  Ian Lance Taylor  <ian@zembu.com>
6417
6418         * dwarf2.c (read_abbrevs): Use _raw_size directly rather than
6419         calling bfd_get_section_size_before_reloc.
6420         (decode_line_info): Likewise.
6421         (_bfd_dwarf2_find_nearest_line): Likewise.
6422
6423 2000-02-27  Eli Zaretskii  <eliz@is.elta.co.il>
6424
6425         * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
6426         name of the libtool directory.
6427         * Makefile.in: Rebuild.
6428
6429 Fri Feb 25 18:39:26 2000  Rodney Brown (RodneyBrown@pmsc.com)
6430
6431         * som.c (SOM_HOWTO): Define.
6432         (som_hppa_howto_table): Use it.
6433
6434 2000-02-25  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
6435
6436         * config.bfd: Enable 64 bit support for GNU/Linux/sparc.
6437
6438         * config.bfd: Enable 64 bit support for Solaris7+/sparc.
6439
6440 2000-02-24  Catherine Moore  <clm@cygnus.com>
6441
6442         * som.c (som_misc_symbol_info):  Add field
6443         secondary_def.
6444         (som_bfd_derive_misc_symbol_info):  Initialize
6445         secondary_def.
6446         (som_build_and_write_symbol_table): Keep track
6447         of secondary_def field.
6448         (som_slurp_symbol_table): Set BSF_WEAK symbol flag
6449         if secondary_def field is set.
6450         (som_bfd_ar_write_symbol_stuff): Initialize
6451         secondary_def.
6452
6453 2000-02-23  Stephane Carrez  <stcarrez@worldnet.fr>
6454
6455         * dwarf2.c (read_address): Read 16-bits addresses.
6456         (parse_comp_unit): Accept addr_size == 2.
6457
6458 2000-02-23  Alan Modra  <alan@spri.levels.unisa.edu.au>
6459
6460         * bfd-in.h: Update copyright date.
6461
6462 2000-02-23  Linas Vepstas <linas@linas.org>
6463
6464         * cpu-i370.c: New file.
6465         * elf32-i370.c:  New file.
6466         * archures.c (enum bfd_architecture): Add bfd_arch_i370.
6467         (bfd_i370_arch): New.
6468         (bfd_archures_list): Add bfd_i370_arch.
6469         * elf.c (prep_headers): Add bfd_arch_i370.
6470         * Makefile.am: Add support for IBM 370 elf.
6471         * config.bfd: Likewise.
6472         * configure.in: Likewise.
6473         * libbfd.h (bfd_reloc_code_real_names): Likewise.
6474         * reloc.c (bfd_reloc_code_type): Likewise.
6475         * targets.c: Likewise.
6476
6477         * Makefile.in: Regenerate.
6478         * configure: Regenerate.
6479         * bfd-in2.h: Regenerate.
6480
6481 2000-02-22  Ian Lance Taylor  <ian@zembu.com>
6482
6483         * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for
6484         invalid relocation types, and change them to R_386_NONE.
6485
6486 2000-02-22  H.J. Lu  <hjl@gnu.org>
6487
6488         * elflink.h (elf_link_add_object_symbols): If a version symbol is
6489         not defined, don't add a second ELF_VER_CHR.
6490
6491         * elflink.h (elf_bfd_final_link): Call output_extsym for global
6492         symbols converted to local symbols even when stripping all
6493         symbols.
6494         (elf_link_output_extsym): Process global symbols converted to
6495         local symbols even if they are being stripped.
6496
6497 2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
6498
6499         * archures.c (bfd_octets_per_byte): Return unsigned int.
6500         (bfd_arch_mach_octets_per_byte): Ditto.
6501         * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned
6502         comparison warning.
6503         * section.c (bfd_get_section_size_before_reloc): Quell signed
6504         vs. unsigned comparison warning.
6505         (bfd_get_section_size_after_reloc): Same here.  Fix parentheses too.
6506         * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27
6507         change.  What was I thinking?
6508         * bfd-in2.h: Regenerate.
6509
6510         * elflink.h (elf_gc_sweep): Skip non-elf input bfds.
6511         (elf_gc_sections): Same here.
6512         (elf_gc_common_finalize_got_offsets): And here.
6513
6514 2000-02-21  Ian Lance Taylor  <ian@zembu.com>
6515
6516         ELF HPPA doesn't work at present; remove it until it does.
6517         * config.bfd: Comment out setting targ_defvec to
6518         bfd_elf32_hppa_vec.
6519         * Makefile.am: Rebuild dependencies.
6520         (BFD32_BACKENDS): Remove elf32-hppa.lo.
6521         (BFD32_BACKENDS_CFILES): Remove elf32-hppa.c.
6522         (SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h.
6523         * Makefile.in: Rebuild.
6524         * targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec.
6525
6526 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
6527
6528         * coffcode.h (coff_set_arch_mach_hook): Use free(), because there
6529         is no bfd_free().  Revert bfd_free part of previous change.
6530
6531 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
6532
6533         * coffcode.h (coff_set_arch_mach_hook): Don't use variable-size
6534         arrays.
6535         (coff_compute_section_file_positions): Use bfd_free to pair
6536         bfd_malloc.
6537         (coff_write_object_contents): Likewise.
6538
6539         * coff-rs6000.c (xcoff_howto_table_16): New variable.
6540         (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs.
6541
6542 2000-02-18  Ulrich Drepper  <drepper@cygnus.com>
6543
6544         * coff-rs6000.c (XCOFFARMAGBIG): New macro.
6545         (xcoff_ar_file_hdr_big): New structure.
6546         (SIZEOF_AR_FILE_HDR_BIG): New macro.
6547         (xcoff_ar_hdr_big): New structure.
6548         (SIZEOF_AR_HDR_BIG): New macro.
6549         (xcoff_big_format_p): New macro.
6550         (xcoff_ardata_big): New macro.
6551         (arch_xhdr_big): New macro.
6552         (xcoff_slurp_armap): Handle large archives.
6553         (xcoff_archive_p): Detect large archives.
6554         (xcoff_read_ar_hdr): Handle large archives.
6555         (xcoff_openr_next_archived_file): Handle large archives.
6556         (xcoff_generic_stat_arch_elt): Handle large archives.
6557         (xcoff_write_armap_old): Rename from xcoff_write_armap.
6558         (xcoff_write_armap_big): New function.
6559         (xcoff_write_armap): New function, dispatch to _old or _big.
6560         (xcoff_write_archive_contents_old): Rename from
6561         xcoff_write_archive_contents.
6562         (xcoff_write_archive_contents_big): New function.
6563         (xcoff_write_archive_contents): New function, dispatch to _old or
6564         _big.
6565
6566 2000-02-18  Richard Henderson  <rth@cygnus.com>
6567
6568         * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect
6569         and hide_symbol members.
6570         (elf_link_hash_copy_indirect): Remove.
6571         (elf_link_hash_hide_symbol): Remove.
6572         (struct elf_backend_data): Add elf_backend_copy_indirect_symbol
6573         and elf_backend_hide_symbol.
6574         (_bfd_elf_link_hash_copy_indirect): Declare.
6575         (_bfd_elf_link_hash_hide_symbol): Declare.
6576         * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument.
6577         (_bfd_elf_link_hash_hide_symbol): Likewise.
6578         (_bfd_elf_link_hash_table_init): Don't init killed members.
6579         * elflink.h (elf_link_add_object_symbols): Use the bed function
6580         pointers not elf_link_hash_{copy_indirect,hide_symbol}.
6581         (elf_link_assign_sym_version): Likewise.
6582         * elfxx-target.h (elf_backend_copy_indirect_symbol): Default.
6583         (elf_backend_hide_symbol): Likewise.
6584         (elfNN_bed): Update for new members.
6585
6586 2000-02-17  Kevin Buettner  <kevinb@redhat.com>
6587
6588         * rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD,
6589         STACK_END_ADDR): Define for new core file format.
6590         (LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines
6591         for handling the vagaries of the various core file structures used
6592         by AIX over the years.
6593         (rs6000coff_core_p, rs6000coff_core_file_matches_executable,
6594         Rs6kCorData): Use above defines to adapt code to use AIX 4.3's
6595         core_dumpx structure.
6596
6597 Thu Feb 17 00:04:48 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
6598
6599         * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
6600         (bfd_mach_sh3_dsp): Likewise.
6601         (bfd_mach_sh4): Reinstate.
6602         (bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
6603         * bfd-in2.h: Regenerate.
6604         * coff-sh.c (struct sh_opcode): flags is no longer short.
6605         (USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
6606         (sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
6607         (sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
6608         (sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
6609         (sh_opcodes): No longer const.
6610         (sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
6611         (sh_insn_uses_reg): Check for USESAS and USESR8.
6612         (sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
6613         (_bfd_sh_align_load_span): Return early for SH4.
6614         Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
6615         Take into account that field b of a parallel processing insn
6616         could be mistaken for a separate insn.
6617         * cpu-sh.c (arch_info_struct): New array elements for
6618         sh2, sh-dsp and sh3-dsp.
6619         Reinstate element for sh4.
6620         (SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
6621         (SH4_NEXT): Reinstate.
6622         (SH3_NEXT, SH3E_NEXT): Adjust.
6623         * elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
6624         * elf32-sh.c (sh_elf_set_private_flags): New function.
6625         (sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
6626         (sh_elf_merge_private_data): New function.
6627         (elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
6628         (bfd_elf32_bfd_copy_private_bfd_data): Define.
6629         (bfd_elf32_bfd_merge_private_bfd_data): Change to
6630         sh_elf_merge_private_data.
6631
6632 2000-02-13  Richard Henderson  <rth@cygnus.com>
6633
6634         * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and
6635         hide_symbol members.
6636         (elf_link_hash_copy_indirect): New.
6637         (elf_link_hash_hide_symbol): New.
6638         * elflink.h (elf_link_add_object_symbols): Break out copy from
6639         indirect new new symbol to elf.c.
6640         (elf_link_assign_sym_version): Break out privatization of
6641         non-exported symbol to elf.c.
6642         * elf.c (_bfd_elf_link_hash_copy_indirect): New.
6643         (_bfd_elf_link_hash_hide_symbol): New.
6644         (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol.
6645
6646 2000-02-13  Ian Lance Taylor  <ian@zembu.com>
6647
6648         * section.c (_bfd_strip_section_from_output): Add info parameter.
6649         If it passed as non-NULL, use it to check whether any input BFD
6650         has an input section which uses this output section.  Change all
6651         callers.
6652         * bfd-in2.h: Rebuild.
6653
6654         * bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and
6655         bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of
6656         1999-11-29.
6657         * bfd-in2.h: Rebuild.
6658
6659 2000-02-10  Timothy Wall  <twall@cygnus.com>
6660
6661         * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to
6662         allow final modifications of swapped-in symbol.
6663         (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST.
6664         * coffcode.h (coff_write_relocs): Use macro
6665         SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether
6666         symbol index should be set to -1.
6667
6668 Thu Feb 10 20:07:50 GMT 2000  Toshiyasu Morita (toshi.morita@sega.com)
6669
6670         * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG,
6671         USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros.
6672         * (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes.
6673         * (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg,
6674         sh_insns_uses_or_sets_freg): New functions.
6675         * (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros.
6676         * (sh_insns_conflict): Use new functions and new macros to
6677         detect conflicts when two instructions both set same integer registers,
6678         both set same fp register, and both set special register.
6679
6680 2000-02-09  Timothy Wall  <twall@cygnus.com>
6681
6682         * coffgen.c (coff_real_object_p): Set arch/mach info prior to
6683         swapping in sections, so that the swapping routines have access to
6684         the arch/mach info.
6685
6686 2000-02-08 Mark Elbrecht <snowball3@bigfoot.com>
6687
6688         * coff-go32.c: Update comment. Update copyright.
6689
6690 2000-01-27  Thomas de Lellis  <tdel@windriver.com>
6691
6692         * syms.c (bfd_decode_symclass)
6693         Two new class characters were added - 'V' and 'v'.  The
6694         meaning of 'W' is now restricted to just weak non-object
6695         symbols.  This allows differentiation between, for example,
6696         weak functions vs weak objects.  nm for example now dumps:
6697         'W' = weak global
6698         'w' = weak unresolved
6699         'V' = weak global object
6700         'v' = weak unresolved object
6701
6702         (bfd_is_undefined_symclass): New function.  Return true if the
6703         given symbol class represents and undefined/unresolved symbol.
6704
6705         (bfd_symbol_info): Use bfd_is_undefined_symclass to check for
6706         unresolved symbols.
6707
6708         * bfd-in2.h: Add prototype for bfd_is_undefined_symbol().
6709
6710         * elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the
6711         STT_ARM_16BIT flag set, but it is not attached to a data object
6712         return STT_ARM_16BIT so that it will be treated as code by the
6713         disassembler.
6714
6715 2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
6716
6717         * coff-i386.c (i3coff_object_p): Remove prototype.
6718         Update copyright.
6719
6720         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const
6721         to name.  Update copyright.
6722
6723         * trad-core.c (trad_unix_core_file_p): Cast core_regsec
6724         assignment to avoid warning.  Update copyright.
6725
6726 2000-01-24  Robert Lipe  (robertl@sco.com)
6727
6728         * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc
6729         instead of using GNU C extension.
6730
6731 2000-01-21  Nick Clifton  <nickc@cygnus.com>
6732
6733         * libbfd.c (bfd_read): Do not attempt to get a negativly sized
6734         amount from a bfd_in_memory structure.
6735         (bfd_seek): Do not allow seeks past the end of a bfd_in_memory
6736         structure.
6737
6738 2000-01-14  Nick Clifton  <nickc@cygnus.com>
6739
6740         * linker.c (default_indirect_link_order): oops - fix incorrectly
6741         applied patch from Tim Wall.
6742
6743 2000-01-13  Timothy Wall (twall@tiac.net>
6744
6745         * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx
6746         = scnhsz, filhsz, relsz, aoutsz, etc)
6747
6748         * coffswap.h: Ditto.
6749
6750 2000-01-13  Nick Clifton  <nickc@cygnus.com>
6751
6752         * elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to
6753         interwork thumb to arm stub.
6754
6755 2000-01-13  Timothy Wall (twall@tiac.net>
6756
6757         * archures.c (bfd_octets_per_byte): New function: Return
6758         target byte size.
6759         (bfd_arch_mach_octets_per_byte): New function: Return target
6760         byte size.
6761
6762         * section.c: Distinguish between octets and bytes for usage of
6763         _cooked_size,  _raw_size, and output_offset.  Clarify
6764         description of bfd_set_section_contents.
6765
6766         * bfd-in2.h: Regenerate.
6767
6768         * coffgen.c: Indicate that the offset parameter is in bytes, not
6769         octets.
6770
6771         * cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte
6772         where appropriate to get the octet offset when calling
6773         bfd_set_section_contents.
6774         (bfd_coff_reloc_link_order): Ditto.
6775
6776         * linker.c (bfd_generic_reloc_link_order): Ditto.
6777         (_bfd_default_link_order): Ditto.
6778
6779         * reloc.c (bfd_perform_relocation):  Distinguish between octets
6780         and bytes.  Use octets when indexing into octet data; use bytes
6781         when calculating target addresses.
6782         (bfd_install_relocation): Ditto.
6783
6784         * srec.c (srec_write_section): Ditto.
6785
6786 2000-01-13  Nick Clifton  <nickc@cygnus.com>
6787
6788         * coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
6789         3 to 2.  This allows 4 byte sized sections, which is necessary for
6790         dlltool to build functioning DLLs.
6791
6792 2000-01-10  Philip Blundell  <pb@futuretv.com>
6793
6794         * config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu.
6795         (arm*-*-conix*): New target.
6796
6797 2000-01-10  Egor Duda  <deo@logos-m.ru>
6798
6799         * config.bfd: Include elf32_i386 vector to target list for cygwin
6800         and mingw.
6801
6802         * config.in: Undefine HAVE_WIN32_PSTATUS_T.
6803         * configure.in: Test for structure win32_pstatus_t in
6804         <sys/procfs.h>
6805         * configure: Regenerate.
6806
6807         * elf.c (elfcore_grok_win32pstatus): New function: process
6808         win32_pstatus_t notes in elf core file.
6809         (elfcore_grok_note): Detect win32_pstatus notes.
6810
6811 2000-01-03  Martin v. Loewis  <loewis@informatik.hu-berlin.de>
6812
6813         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol
6814         visibility.
6815         * elflink.h (elf_link_add_object_symbols): Combine visibilities.
6816         * elf.c (bfd_elf_print_symbol): Interpret st_other as visibility.
6817
6818 For older changes see ChangeLog-9899
6819 \f
6820 Local Variables:
6821 mode: change-log
6822 left-margin: 8
6823 fill-column: 74
6824 version-control: never
6825 End: