2000-11-20 Kazu Hirata <kazu@hxi.com>
[external/binutils.git] / bfd / ChangeLog
1 2000-11-20  Kazu Hirata  <kazu@hxi.com>
2
3         * aix386-core.c: Fix formatting.
4         * aout-adobe.c: Likewise.
5         * aout-arm.c: Likewise.
6         * aout-encap.c: Likewise.
7         * aout-ns32k.c: Likewise.
8         * aout-target.h: Likewise.
9         * aout-tic30.c: Likewise.
10         * aoutf1.h: Likewise.
11         * aoutx.h: Likewise.
12         * archive.c: Likewise.
13
14 2000-11-17  H.J. Lu  <hjl@gnu.org>
15
16         * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Don't create
17         pltoff entries for DT_INIT and DT_FINI.
18         (elfNN_ia64_final_link): Don't set DT_INIT/FINI entries.
19         (elfNN_ia64_finish_dynamic_sections): Don't fill in DT_INIT/FINI
20         entries.
21
22 2000-11-16  Richard Henderson  <rth@redhat.com>
23
24         * elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs.
25         (allocate_dynrel_entries): Likewise.
26         (elfNN_ia64_relocate_section): Likewise.  Set REL addends correctly.
27         (set_pltoff_entry): Likewise.
28         (ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB
29         (elfNN_ia64_reloc_type_lookup): Likewise.
30         (elfNN_ia64_install_value): Likewise.
31         (elfNN_ia64_relocate_section): Likewise.
32         * reloc.c (BFD_RELOC_IA64_SEGBASE): Remove.
33         (BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove.
34
35 2000-11-16  Kazu Hirata  <kazu@hxi.com>
36
37         * cpu-a29k.c: Fix formatting.
38         * cpu-alpha.c: Likewise.
39         * cpu-arm.c: Likewise.
40         * cpu-avr.c: Likewise.
41         * cpu-d10v.c: Likewise.
42         * cpu-h8500.c: Likewise.
43         * cpu-hppa.c: Likewise.
44         * cpu-i370.c: Likewise.
45         * cpu-i386.c: Likewise.
46         * cpu-i960.c: Likewise.
47         * cpu-ia64-opc.c: Likewise.
48         * cpu-ia64.c: Likewise.
49         * cpu-m32r.c: Likewise.
50         * cpu-m68hc11.c: Likewise.
51         * cpu-m68hc12.c: Likewise.
52         * cpu-m68k.c: Likewise.
53         * cpu-m88k.c: Likewise.
54         * cpu-mips.c: Likewise.
55         * cpu-ns32k.c: Likewise.
56         * cpu-pj.c: Likewise.
57         * cpu-powerpc.c: Likewise.
58         * cpu-sh.c: Likewise.
59         * cpu-sparc.c: Likewise.
60         * cpu-tic54x.c: Likewise.
61         * cpu-v850.c: Likewise.
62         * cpu-vax.c: Likewise.
63         * cpu-w65.c: Likewise.
64         * cpu-we32k.c: Likewise.
65         * cpu-z8k.c: Likewise.
66         * dwarf1.c: Likewise.
67         * dwarf2.c: Likewise.
68
69 2000-11-15  Kazu Hirata  <kazu@hxi.com>
70
71         * coff-arm.c: Fix formatting.
72         * coff-ppc.c: Likewise.
73         * coff-rs6000.c: Likewise.
74         * coff-sh.c: Likewise.
75         * coff-sparc.c: Likewise.
76         * coff-tic30.c: Likewise.
77         * coff-tic54x.c: Likewise.
78         * coff-tic80.c: Likewise.
79         * coff-w65.c: Likewise.
80         * coff-we32k.c: Likewise.
81         * coff-z8k.c: Likewise.
82
83 2000-11-15  Richard Henderson  <rth@redhat.com>
84
85         * elf64-alpha.c (elf64_alpha_check_relocs): Create the reloc
86         section with the same ALLOC|LOAD flags as the source section.
87
88 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
89
90         * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used
91         by STO_ALPHA constants.
92
93 2000-11-14  Kazu Hirata  <kazu@hxi.com>
94
95         * coff-pmac.c: Fix formatting.
96         * coff-ppc.c: Likewise.
97
98 2000-11-13  H.J. Lu  <hjl@gnu.org>
99
100         * elflink.h (elf_link_add_object_symbols): Also add indirect
101         symbols for common symbols with the default version.
102
103 2000-11-09  Philip Blundell  <pb@futuretv.com>
104
105         * section.c (STD_SECTION): Set gc_mark flag.
106
107 2000-11-11  Kazu Hirata  <kazu@hxi.com>
108
109         * coff-i960.c: Likewise.
110         * coff-m68k.c: Likewise.
111         * coff-m88k.c: Likewise.
112         * coff-mcore.c: Likewise.
113         * coff-mips.c: Likewise.
114
115 2000-11-11  Bernd Schmidt  <bernds@cygnus.co.uk>
116
117         * elf32-sh.c (sh_elf_relocate_section): Ignore R_SH_NONE relocs.
118
119 2000-11-10  Kazu Hirata  <kazu@hxi.com>
120
121         * coff-h8300.c: Fix formatting.
122         * coff-h8500.c: Likewise.
123         * coff-i386.c: Likewise.
124         * coff-i860.c: Likewise.
125         * coff-i960.c: Likewise.
126         * coff-ia64.c: Likewise.
127
128 2000-11-09  Kazu Hirata  <kazu@hxi.com>
129
130         * archive.c: Fix formatting.
131         * archures.c: Likewise.
132
133 2000-11-07  Richard Henderson  <rth@redhat.com>
134
135         * elfxx-ia64.c (elf64_ia64_final_link): New local unwind_output_sec.
136         Set it before bfd_elf64_bfd_final_link call.  Use it after the call.
137         * section.c (bfd_set_section_contents): Call memcpy if
138         section->contents set and location not equal to contents plus offset.
139
140 2000-11-08  Kazu Hirata  <kazu@hxi.com>
141
142         * bfd-in.h: Fix formatting.
143         * bfd-in2.h: Likewise.
144         * bfd.c: Likewise.
145         * binary.c: Likewise.
146         * bout.c: Likewise.
147         * coff-a29k.c: Likewise.
148         * coff-alpha.c: Likewise.
149         * coff-apollo.c: Likewise.
150         * coff-aux.c: Likewise.
151
152 2000-11-07  Kazu Hirata  <kazu@hxi.com>
153
154         * aix386-core.c: Fix formatting.
155         * aoutf1.h: Likewise.
156         * aoutx.h: Likewise.
157         * archures.c: Likewise.
158         * armnetbsd.c: Likewise.
159
160 2000-11-07  Alan Modra  <alan@linuxcare.com.au>
161
162         * coff-h8300.c (special): Adjust reloc address.
163
164 2000-11-06  Steve Ellcey <sje@cup.hp.com>
165
166         * archures.c (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32): Add defines
167         to differentiate elf32 and elf64 on ia64.
168         * bfd-in2.h: Regenerate.
169         * config.bfd: Add target for "ia64*-*-hpux*".
170         * configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch.
171         * configure: Regenerate.
172         * cpu-ia64.c (bfd_ia64_elf32_arch): Add elf32 arch info structure.
173         * targets.c: Add bfd_target bfd_elf32_ia64_big_vec.
174
175         * Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects
176         from elfxx-ia64.c.  Add depenency rules for making elf32-ia64.lo.
177         * Makefile.in: Regnerate.
178         * elf64-ia64.c: Deleted.
179         * elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c.
180
181 2000-11-06  Kazu Hirata  <kazu@hxi.com>
182
183         * aout-adobe.c: Fix formatting.
184         * aout-arm.c: Likewise.
185         * aout-cris.c: Likewise.
186         * aout-encap.c: Likewise.
187         * aout-ns32k.c: Likewise.
188         * aout-target.h: Likewise.
189         * aout-tic30.c: Likewise.
190
191 2000-11-05  Philip Blundell  <philb@gnu.org>
192
193         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit
194         BFDs containing no sections to be merged, regardless of their flags.
195
196 2000-11-04  Philip Blundell  <philb@gnu.org>
197
198         * elf32-arm.h (elf32_arm_relocate_section): Suppress error message
199         if a relocation for an undefined symbol also results in an
200         overflow.
201
202 Mon Nov  6 13:35:07 2000  Christopher Faylor <cgf@cygnus.com>
203
204         * config.bfd: Add support for Sun Chorus.
205
206 2000-11-05  David O'Brien  <obrien@FreeBSD.org>
207
208         * configure.in: Recognize alpha-*-freebsd*.
209         * configure: Regenerate.
210
211 2000-11-02  Luciano Gemme <ishitawa@yahoo.com> 
212
213         * srec.c (CHUNK): Rename to DEFAULT_CHUNK.
214         (Chunk): New global variable set by a parameter in objcopy.c.
215         (S3Forced): New global variable set by a parameter in
216         objcopy.c.
217         (srec_set_section_contents): If S3Forced is true, always generate
218         S3 records.
219         (srec_write_section): Use 'Chunk' to limit maximum length of S
220         records.
221
222 2000-11-02  Per Lundberg  <plundis@chaosdev.org>
223
224         * config.bfd: Add support for i[3456]86-chaosdev-storm-chaos.
225         * Makefile.in: Regenerate.
226         * bfd-in2.h: Regenerate.
227         * po/bfd.pot: Regenerate.
228         
229 2000-10-31  Philip Blundell  <philb@gnu.org>
230
231         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
232         EF_SOFT_FLOAT if it is defined.
233
234 2000-10-27  Philip Blundell  <philb@gnu.org>
235
236         * elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
237         attempts to mix PIC code with non-PIC, just mark the output as
238         being position dependent.
239         (elf32_arm_merge_private_bfd_data): Likewise.  Print an error 
240         message for EF_SOFT_FLOAT mismatches.  Display diagnostics for 
241         all mismatches, not just the first one.
242         
243 2000-10-25  Chris Demetriou  <cgd@sibyte.com>
244
245         * ieee.c (ieee_archive_p): Plug one of many possible
246         memory leaks in error handling.
247
248 2000-10-20  Jakub Jelinek  <jakub@redhat.com>
249
250         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
251         elf32_sparc_object_p, elf32_sparc_final_write_processing):
252         Support v8plusb.
253         * elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
254         sparc64_elf_object_p): Support v9b.
255         * archures.c: Declare v8plusb and v9b machines.
256         * bfd-in2.h: Ditto.
257         * cpu-sparc.c: Ditto.
258
259 2000-10-16  Geoffrey Keating  <geoffk@shoggoth.cygnus.com>
260
261         * elf64-sparc.c (sparc64_elf_relocate_section): Clear the location
262         of a GOT reloc.
263
264         * elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): New macro.
265         (SYMBOL_CALLS_LOCAL): New macro.
266         (ppc_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
267         (ppc_elf_check_relocs): Use SYMBOL_REFERENCES_LOCAL.
268         (ppc_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
269         (ppc_elf_relocate_section): Use flag variable to determine
270         whether the relocation refers to a local symbol.
271         Test whether a PLTREL24 reloc will produce a reloc by looking
272         to see whether a PLT entry was made.
273
274 2000-10-14  Geoffrey Keating  <geoffk@shoggoth.cygnus.com>
275
276         * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
277         entries that could serve as a definition for a weak symbol.
278
279 2000-10-13  Ulf Carlsson  <ulfc@engr.sgi.com>
280
281         From  Ralf Baechle  <ralf@gnu.org>
282
283         * elf32-mips.c (mips_elf_create_dynamic_relocation): New argument
284         local_p.  Add symbol value only for non-R_MIPS_REL32 relocations
285         against local symbols.
286         (_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
287         
288 2000-10-12  Alan Modra  <alan@linuxcare.com.au>
289
290         * section.c (struct sec): Add kept_section.
291         (struct bfd_comdat_info): Remove sec, we can use above.
292         (STD_SECTION): Add initializer.
293         (bfd_make_section_anyway): Init here too.
294
295         * bfd-in2.h: Regenerate.
296
297         * elflink.h (elf_link_add_object_symbols): Remove unnecessary
298         zeroing of `flags'.  
299         (elf_link_input_bfd): Set all asection->symbol->value's here, and
300         fudge values for discarded link-once section symbols.
301
302         * elf64-hppa.c: Include alloca-conf.h
303
304 2000-10-11  Alan Modra  <alan@linuxcare.com.au>
305
306         * elf.c (swap_out_syms): Revert 2000-10-07 changes.
307
308         * ieee.c (ieee_make_empty_symbol): Oops, bfd_zalloc needs another arg.
309
310 2000-10-10  Alan Modra  <alan@linuxcare.com.au>
311
312         * ieee.c (ieee_make_empty_symbol): Use bfd_zalloc, not bfd_zmalloc.
313
314 2000-10-10  Tom Rix <trix@redhat.com>
315
316         * section.c (bfd_make_section_anyway): Release newsect ptr when 
317         newsect->symbol fails to alloc.  Use bfd_release instead of free.
318
319 2000-10-09  Richard Henderson  <rth@cygnus.com
320
321         * elf64-ia64.c (elf64_ia64_unwind_entry_compare_bfd): New.
322         (elf64_ia64_unwind_entry_compare): New.
323         (elf64_ia64_final_link): Sort the .IA_64.unwind section.
324
325 2000-10-07  Alan Modra  <alan@linuxcare.com.au>
326
327         * elflink.h (size_dynamic_sections): Don't create various tags if
328         .dynstr is excluded from the link.  Don't set first dynsym entry
329         if dynsymcount is zero.
330         (elf_bfd_final_link): Don't try to swap out dynamic syms if
331         .dynsym excluded from the link.  Don't try to write any dynamic
332         sections excluded from the link.
333
334         * elf.c (swap_out_syms): Handle global section symbols.
335
336 2000-10-05  DJ Delorie  <dj@redhat.com>
337
338         * peigen.c (_bfd_pei_swap_scnhdr_out): note extended relocs
339         * coffcode.h (coff_set_alignment_hook): read extended reloc count
340         (coff_write_relocs): write extended reloc count
341         (coff_write_object_contents): account for extended relocs
342
343 2000-10-05  Jim Wilson  <wilson@cygnus.com>
344
345         * elf-bfd.h (struct elf_backend_data): Add elf_backend_section_flags
346         field.
347         * elf.c (_bfd_elf_make_section_from_shdr): Call the
348         elf_backend_section_flags function.
349         * elf64-ia64.c (elf64_ia64_section_from_shdr): Delete flag conversion
350         code.
351         (elf64_ia64_section_flags): New function containing flag conversion
352         code.
353         (elf_backend_section_flags): Define to elf64_ia64_section_flags.
354         * elfxx-target.h (elf_backend_section_flags): Define.
355         (elfNN_bed): Initialize elf_backend_section_flags field.
356
357 2000-10-02  Alan Modra  <alan@linuxcare.com.au>
358
359         * elf32-hppa.c (elf32_hppa_check_relocs): Correct call to
360         _bfd_elf32_gc_record_vtable.  Correct a comment.
361
362 2000-10-01  Ulf Carlsson  <ulfc@engr.sgi.com>
363
364         From  Ralf Baechle  <ralf@gnu.org>
365
366         * elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld
367         produces binaries with got[1] = 0x80000001 to differenciate them
368         for the dynamic linker from the broken binaries produced by old
369         versions.
370
371 2000-09-30  Petr Sorfa <petrs@sco.com>
372
373         * elf.c (elfcore_grok_pstatus): Check for size of pxstatus_t.
374         (elfcore_grok_lwpstatus): Check for size of lwpxstatus_t.
375         * configure.in: Add check for pxstatus_t and lwpxstatus_t.
376         * configure: Regenerate.
377
378 2000-09-27  Hans-Peter Nilsson  <hp@axis.com>
379
380         Define two bfd_targets for absence and presence of leading
381         underscore on symbols.  Make sure to only link same kind.
382         * elf32-cris.c (cris_elf_object_p,
383         cris_elf_final_write_processing, cris_elf_print_private_bfd_data,
384         cris_elf_merge_private_bfd_data): New.
385         (elf_backend_object_p, elf_backend_final_write_processing,
386         bfd_elf32_bfd_print_private_bfd_data,
387         bfd_elf32_bfd_merge_private_bfd_data): Define.
388         <Target vector definition>: Include elf32-target.h twice with
389         different macro settings:
390         (TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as
391         bfd_elf32_us_cris_vec.
392         (TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris".
393         (elf_symbol_leading_char): First as 0, then '_'.
394         (INCLUDED_TARGET_FILE): Define for second include of elf32-target.h.
395         * config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs.
396         * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector.
397         * configure: Regenerate.
398         * targets.c: Declare bfd_elf32_us_cris_vec.
399         * po/bfd.pot: Regenerate.
400
401 2000-09-29  Momchil Velikov  <velco@fadata.bg>
402
403         * elf32-arm.h (arm_add_to_rel): Correctly adjust the addend for
404         R_ARM_THM_PC22 relocations.
405
406 2000-09-29  NIIBE Yutaka <gniibe@chroot.org>
407
408         * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath.
409
410 2000-09-29  Momchil Velikov <velco@fadata.bg>
411
412         * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if
413         is has the SEC_HAS_CONTENTS flag set.
414
415 2000-09-28  Ã–rjan Friberg  <orjanf@axis.com>
416             Hans-Peter Nilsson  <hp@axis.com>
417
418         * aout-cris.c (N_TXTADDR): Define.
419
420 2000-09-28  John David Anglin <dave@hiauly1.hia.nrc.ca>
421
422         * som.c: Include alloca-conf.h.
423         * Makefile.am: "make dep-am"
424         * Makefile.in: Regenerate.
425
426 2000-09-27  Alan Modra  <alan@linuxcare.com.au>
427
428         * elf32-hppa.c (plt_stub): New.
429         (PLT_STUB_ENTRY): Define.
430         (elf32_hppa_link_hash_table): Change multi_subspace to packed
431         boolean.  Add need_plt_stub, has_12bit_branch and has_17bit_branch.
432         (elf32_hppa_link_hash_table_create): Init to suit.
433         (elf32_hppa_check_relocs): Set has_12bit_branch and
434         has_17bit_branch as appropriate.
435         (elf32_hppa_adjust_dynamic_symbol): Set need_plt_stub for
436         non-local functions.
437         (elf32_hppa_size_dynamic_sections): Correct setting of reltext.
438         Add space for plt_stub as needed.
439         (elf32_hppa_finish_dynamic_symbol): Point .plt entries for global
440         functions at plt_stub.
441         (elf32_hppa_finish_dynamic_sections): Write plt_stub.
442         (elf32_hppa_create_dynamic_sections): Leave .plt executable.
443
444         * elf32-hppa.h (elf32_hppa_size_stubs): Add group_size param.
445         * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.  Use it instead
446         of fixed size, and if negative, disable handling of input sections
447         before stub section.  Set up default stub group size depending
448         on detected branch relocs.
449         (hppa_build_one_stub): Use lrsel and rrsel for import stubs to
450         ensure different offsets from sym_value aren't rounded to
451         different 2k blocks.  Use lrsel and rrsel for other stubs too for
452         consistency rather than necessity.
453         (elf32_hppa_check_relocs): Handle R_PARISC_DIR14F.
454         (final_link_relocate): Likewise.
455         (elf32_hppa_relocate_section): Likewise.
456
457         * elf-hppa.h (elf_hppa_howto_table): Add R_PARISC_DIR14F reloc.
458         (_bfd_elf_hppa_gen_reloc_type): Generate them.
459         (elf_hppa_final_link_relocate): Handle them.
460         (elf_hppa_relocate_insn): Likewise.
461         (_bfd_elf_hppa_gen_reloc_type): Add missing e_ldsel and e_rdsel cases.
462
463 2000-09-26  Hans-Peter Nilsson  <hp@axis.com>
464
465         * elfcode.h (elf_object_p): Preserve and clear abfd section
466         information.  Restore at error.
467
468 2000-09-26  Paul Sokolovsky  <Paul.Sokolovsky@technologist.com>
469
470         * peigen.c (_bfd_pei_swap_aouthdr_in): If some DataDirectory
471         is empty, make sure that its rva also 0. NT loader dislikes
472         having otherwise.
473
474 2000-09-26  Steve Ellcey <sje@cup.hp.com>
475
476         * som.c (som_bfd_derive_misc_symbol_info): Make weak symbols
477         global by default.
478
479 2000-09-21  Alan Modra  <alan@linuxcare.com.au>
480
481         * elf32-hppa.c (elf32_hppa_check_relocs): Fix weak sym handling in
482         currently unused RELATIVE_DYNAMIC_RELOCS code.
483         (hppa_discard_copies): Likewise.
484         (elf32_hppa_size_stubs): Size `input_list' array correctly.  Correct
485         comments.  Don't check non-code output sections for stub grouping.
486
487 2000-09-20  Alan Modra  <alan@linuxcare.com.au>
488
489         * section.c (bfd_get_unique_section_name): Return NULL if
490         bfd_malloc fails.
491
492 2000-09-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
493
494         * elf32-m68k.c (elf_cpu32_plt0_entry): Change the PLT entry 0
495         instruction sequence to actually work.
496         (elf_m68k_finish_dynamic_sections): Change the patch-in offset
497         accordingly.
498
499 2000-09-18  Alexandre Oliva  <aoliva@redhat.com>
500
501         * elf32-sh.c (sh_elf_relocate_section): Use
502         _bfd_final_link_relocate to apply the relocation against a section
503         symbol, when doing relocatable links.
504
505 2000-09-18  Alan Modra  <alan@linuxcare.com.au>
506
507         * elf32-hppa.c (elf32_hppa_stub_hash_entry): Rename input_section
508         to id_sec.
509         (stub_hash_newfunc): Here too.
510         (hppa_add_stub): And here.
511         (elf32_hppa_link_hash_table): Remove stub_section_created,
512         reloc_section_created, first_init_sec and first_fini_sec.  Add
513         stub_group.
514         (elf32_hppa_link_hash_table_create): Init to suit.
515         (hppa_get_stub_entry): Add support for grouping stub sections.
516         (hppa_add_stub): Likewise.  Remove sec_count param and init/fini
517         section code.  Index stub vars by section->id.
518         (elf32_hppa_size_stubs): Likewise.  Remove duplicated function
519         exit paths.  Zap allocation of above removed vars.  Refine
520         link-once test.
521
522         * elf32-hppa.h (elf32_hppa_size_stubs): Add output_bfd param.
523         * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
524         (hppa_get_stub_entry): Pass in pointer to elf32_hppa_link_hash_table
525         rather than pointer to bfd_link_info.
526         (hppa_add_stub): Likewise.
527         (final_link_relocate): Likewise.
528
529 2000-09-17  David Huggins-Daines  <dhd@linuxcare.com>
530
531         (elf32_hppa_size_stubs): Don't try to build stubs for discarded
532         link-once sections.
533
534 2000-09-16  Alexandre Oliva  <aoliva@redhat.com>
535
536         * elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match
537         ld/emulparams/shelf.sh.
538
539 2000-09-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
540
541         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): New function.
542         * bfd-in.h (bfd_m68k_elf32_create_embedded_relocs): Add declaration.
543         * bfd-in2.h: Regenerate.
544
545 2000-09-15  Kenneth Block  <Kenneth.Block@compaq.com>
546
547         * bfd/elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs
548         LITUSE relocations incorrectly if -relax is specified on the ld
549         command line and the displacement field of the load or store
550         instruction is non-zero. (Patch by paul.winalski@compaq.com)
551
552 2000-09-15  Alan Modra  <alan@linuxcare.com.au>
553
554         * elf32-hppa.c (hppa_add_stub): Dont set first_init_sec and
555         first_fini_sec here.
556         (elf32_hppa_size_stubs): Instead correctly find the first .init
557         and .fini section here.
558
559 2000-09-15  David Huggins-Daines  <dhd@linuxcare.com>
560
561         * elf32-hppa.c (clobber_millicode_symbols): New function.
562         (elf32_hppa_size_dynamic_sections): Call it.
563
564 2000-09-14  Alan Modra  <alan@linuxcare.com.au>
565
566         * elf32-hppa.c (elf32_hppa_link_hash_entry): Make pic_call
567         packed.  Add plabel, plt_abs packed booleans.
568         (hppa_link_hash_newfunc): Init new fields.
569         (PLABEL_PLT_ENTRY_SIZE): Define.
570         (hppa_stub_name): Use size_t len vars.
571         (hppa_add_stub): Likewise.
572         (elf32_hppa_build_stubs): Likewise.
573         (hppa_build_one_stub): Kill some compiler warnings.
574         (elf32_hppa_check_relocs): Always generate a plt entry for PLABELs
575         if dynamic linking.  Munge the local plt offsets into
576         local_got_refcounts.  Set h->plabel for all global PLABELs.  Use
577         size_t len vars.  Add assert for plabel addend.
578         (elf32_hppa_gc_sweep_hook): Sweep local plt entries too.
579         (elf32_hppa_hide_symbol): New function.
580         (elf_backend_hide_symbol): Define.
581         (elf32_hppa_adjust_dynamic_symbol): Don't throw away plt entries
582         with h->plabel set.  Don't make plt entries to have dynamic syms
583         when they have been forced local.  If plt entry is used by a
584         plabel, make it PLABEL_PLT_ENTRY_SIZE.
585         (elf32_hppa_size_dynamic_sections): Set plt_abs for init fns.
586         Set up .plt offsets for local syms.
587         (elf32_hppa_relocate_section): Initialise plt entries for local
588         syms.  Leave weak undefined plabels zero.  Make global plabel
589         relocs against function symbol, and leave the addend zero.
590         Use *ABS* DIR32 relocs instead of SEGREL32 for dynamic got relocs.
591         (elf32_hppa_finish_dynamic_symbol): Set up IPLT relocs for
592         non-dynamic syms.  Init extra plt for plabels.  Use *ABS* DIR32
593         relocs instead of SEGREL32 for dynamic got relocs.
594         (elf32_hppa_finish_dynamic_sections): Reserve one more .got entry.
595         (elf_backend_got_header_size): Adjust.
596         (elf32_hppa_set_gp): Calculate an "ideal" LTP.
597
598         * elf32-hppa.c (LONG_BRANCH_VIA_PLT): Define.
599         (hppa_type_of_stub): Use it instead of #if 0
600         (hppa_discard_copies): Use it here too.
601         (elf32_hppa_size_dynamic_sections): And here.
602
603         * elf32-hppa.c (elf32_hppa_link_hash_table): Remove `offset' field.
604         (elf32_hppa_link_hash_table_create): And here.
605         (hppa_build_one_stub): And here.  Instead keep track of stub
606         offset using _raw_size.
607         (elf32_hppa_size_stubs): Likewise.
608         (elf32_hppa_build_stubs): Likewise.
609         (hppa_size_one_stub): Likewise.  Resize reloc section too.
610
611         * elf32-hppa.c (hppa_add_stub): Correct first_init_sec and
612         first_fini_sec handling.  Don't search for reloc section or set
613         hplink->reloc_section_created here.
614         (elf32_hppa_size_stubs): Instead search for reloc sections, and
615         set reloc_section_created here.
616         (hppa_handle_PIC_calls): Set ELF_LINK_HASH_NEEDS_PLT.
617         (elf32_hppa_size_dynamic_sections): Make a .plt entry for DT_INIT
618         and DT_FINI.
619         (elf32_hppa_finish_dynamic_sections): Set DT_INIT and DT_FINI.
620
621         * elf32-hppa.c (hppa_build_one_stub): Replace `elf_hash_table (info)'
622         with `hplink->root.'.
623         (elf32_hppa_check_relocs): Likewise.
624         (elf32_hppa_gc_sweep_hook): Likewise.
625         (elf32_hppa_adjust_dynamic_symbol): Likewise.
626         (hppa_handle_PIC_calls): Likewise.
627         (elf32_hppa_size_dynamic_sections): Likewise.
628         (elf32_hppa_set_gp): Likewise.
629         (elf32_hppa_relocate_section): Likewise.
630         (elf32_hppa_finish_dynamic_symbol): Likewise.
631         (elf32_hppa_finish_dynamic_sections): Likewise.
632
633         From  David Huggins-Daines  <dhd@linuxcare.com>
634         * elf32-hppa.c (hppa_type_of_stub): Generate import stubs for
635         defined weak symbols in shared links.
636         (final_link_relocate): Calls to defined weak symbols in shared
637         objects must go via import stubs, as the target might not be known
638         at link time.
639
640 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
641
642         * elf32-sh.c (sh_elf_howto_table): Moved R_SH_GOT32, R_SH_PLT32,
643         R_SH_COPY, R_SH_GLOB_DAT, R_SH_JMP_SLOT, R_SH_RELATIVE,
644         R_SH_GOTOFF, R_SH_GOTPC) to the range from 160 to 167.  Replaced
645         the original entries with EMPTY_HOWTOs, and added new ones to fill
646         in the gap.
647         (sh_elf_info_to_howto): Make sure the new gap isn't used.
648         (sh_elf_relocate_section): Likewise.
649
650 2000-09-13  Anders Norlander  <anorland@acc.umu.se>
651
652         * cpu-mips.c (arch_info_struct): Add mips:4K
653         * bfd-in2.h (bfd_mach_mips4K): New define.
654         * archures.c: Add bfd_mach_mips4K to comment.
655         * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
656         E_MIPS_ARCH_2 for bfd_mach_mips4K.
657
658 Wed Sep 13 19:31:39 2000  Marco Franzen <marcof@thyron.com>
659
660         * som.c (som_write_symbol_strings): Do not used fixed buffers,
661         use size_t as a counter.
662         (som_write_space_strings): Similarly.
663
664 2000-09-12  Jason Eckhardt  <jle@cygnus.com>
665
666         * elf32-i860.c (elf32_i860_relocate_pc26): New function
667         and prototype.
668         (elf32_i860_relocate_section): Invoke new function from here.
669
670 2000-09-11  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
671
672         * elf.c (_bfd_elf_make_section_from_shdr): Make debug_sec_names
673         static.
674
675 2000-09-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
676
677         * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Emit 8 NULs for
678         target section name instead of dumping core when the target symbol is
679         undefined.
680
681 2000-09-09  Kazu Hirata  <kazu@hxi.com>
682
683         * riscix.c: Remove DEFUN.
684
685 2000-09-08  Nick Clifton  <nickc@redhat.com>
686
687         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not
688         initialise flags in output bfd if the input bfd is the default
689         architecture with the default flags.
690
691 2000-09-08  Kazu Hirata  <kazu@hxi.com>
692
693         * archive.c: Fix formatting.
694         * coff-arm.c: Likewise.
695         * doc/chew.c: Likewise.
696
697 2000-09-08  Alan Modra  <alan@linuxcare.com.au>
698
699         * section.c (bfd_get_unique_section_name): Put a dot before the
700         numeric suffix.
701
702 2000-09-07  Kazu Hirata  <kazu@hxi.com>
703
704         * doc/chew.c: Remove all uses of DEFUN and DEFUN_VOID.
705         * elf.c: Fix formatting.
706
707 2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
708
709         * config.bfd (sh-*-linux*): Added.
710         * configure.in (bfd_elf32_shlin_vec, bfd_elf32_shblin_vec): New.
711         * targets.c: Declare them.
712         * elf32-sh-lin.c: New file.
713         * Makefile.am: Compile it.
714         * elf32-sh.c: Don't override defines from elf32-sh-lin.c.
715         * configure, Makefile.in: Rebuilt.
716
717 2000-09-06  Geoffrey Keating  <geoffk@cygnus.com>
718
719         * xcofflink.c (xcoff_link_input_bfd): Include the .tocbss
720         pseduo-section when determining where the TOC ends.
721
722         * coff-rs6000.c (_bfd_xcoff_swap_aux_out): Use bfd_h_put_16 to
723         output x_tvndx as it is only two bytes wide.
724
725         * coff-rs6000.c (xcoff_howto_table): A modifiable branch-absolute
726         reloc is 26 or 32 bits wide.
727
728         * coff-rs6000.c (_bfd_xcoff_rtype2howto): The bitsize is irrelevant
729         for relocs that don't change anything.  Also look at the full
730         6 bits of bitsize.
731
732 2000-09-06  Philip Blundell  <philb@gnu.org>
733
734         * config.bfd (arm*-*-uclinux*): New target.
735
736 2000-09-06  Alexandre Oliva  <aoliva@redhat.com>
737
738         * configure: Rebuilt with new libtool.m4.
739
740 2000-09-06  Alan Modra  <alan@linuxcare.com.au>
741
742         * section.c (bfd_get_unique_section_name): Avoid c++ reserved
743         word for variable name.
744         * bfd-in2.h: Regenerate.
745
746 2000-09-05  Nick Clifton  <nickc@redhat.com>
747
748         * config.in: Regenerate.
749         * libbfd.h: Regenerate.
750         * po/bfd.pot: Regenerate.
751         * doc/bfdint.texi: Remove CVS date string - it foils compares with
752         local versions.
753
754 2000-09-05  Steven Johnson  <sbjohnson@ozemail.com.au>
755
756         * cpu-powerpc.c  (arch_info_struct): Added MPC860 Family entry.
757
758 2000-09-05  Alan Modra  <alan@linuxcare.com.au>
759
760         Shared library and PIC support.
761         * elf32-hppa.c (PLT_ENTRY_SIZE): New.
762         (GOT_ENTRY_SIZE): New.
763         (ELF_DYNAMIC_INTERPRETER): New.
764         (STUB_SUFFIX): Define.
765         (LONG_BRANCH_PIC_IN_SHLIB): Define.
766         (RELATIVE_DYNAMIC_RELOCS): Define.
767         (enum elf32_hppa_stub_type): New.
768         (struct elf32_hppa_stub_hash_entry): Rename offset to
769         stub_offset.  Add a number of new fields.
770         (struct elf32_hppa_link_hash_entry): New.
771         (struct elf32_hppa_link_hash_table): Add numerous fields.  Remove
772         global_value.
773         (elf32_hppa_hash_table): Rename to hppa_link_hash_table.
774         (elf32_hppa_stub_hash_lookup): Rename to hppa_stub_hash_lookup.
775         (elf32_hppa_stub_hash_newfunc): Rename to stub_hash_newfunc.  Init
776         new fields.
777         (hppa_link_hash_newfunc): New function.
778         (elf32_hppa_link_hash_table_create): Use above function. Init new
779         fields.
780         (elf32_hppa_stub_name): Rename to hppa_stub_name.  Pass in reloc
781         instead of addend, and remove sym_name from args.  Don't use
782         symbol name for local syms, instead use sym index.
783         (elf32_hppa_size_of_stub): Rename to hppa_type_of_stub, and return
784         stub type rather than size.  Pass in hash and handle import stub
785         case.  Also pass in reloc instead of offset so we can calculate
786         PCREL22F and PCREL12F branches properly.
787         (elf32_hppa_build_one_stub): Rename to hppa_build_one_stub.  Build
788         import and export stubs too.
789         (elf32_hppa_size_one_stub): Rename to hppa_size_one_stub.  Handle
790         import and export stub sizing.
791         (elf32_hppa_check_relocs): New function.
792         (elf32_hppa_adjust_dynamic_symbol): New function.
793         (hppa_discard_copies): New function.
794         (elf32_hppa_size_dynamic_sections): New function.
795         (elf_backend_size_dynamic_sections): Define.
796         (elf32_hppa_finish_dynamic_symbol): New function.
797         (elf_backend_finish_dynamic_symbol): Define.
798         (elf32_hppa_size_stubs): Stash params in link hash table, and move
799         some local vars into the link hash table too.  For shared links,
800         trundle over function syms, generating export stubs.  Handle
801         PCREL22F branches.  Break out stub creation code from here..
802         (hppa_add_stub): .. to here.  New function.
803         (elf32_hppa_final_link): Rename to elf32_hppa_set_gp, and don't
804         call the bfd linker.  Use elf_gp to record global pointer.
805         Calculate a value from sections if $global$ is missing.
806         (bfd_elf32_bfd_final_link): Define as _bfd_elf32_gc_common_final_link.
807         (elf32_hppa_gc_mark_hook): New function.
808         (elf_backend_gc_mark_hook): Define.
809         (elf32_hppa_gc_sweep_hook): New function.
810         (elf_backend_gc_sweep_hook): Define.
811         (elf32_hppa_bfd_final_link_relocate): Rename to final_link_relocate.
812         Add rel to args, and remove howto, input_bfd, offset, addend,
813         sym_name as we can recalculate these locally.  Handle calls to
814         dynamic objects, extra PIC relocs, PCREL22F branches.  Change
815         handling of undefined weak syms.  Check that stubs are in range.
816         Only look for import stubs on PCREL17F and PCREL22F relocs.  Add
817         message on hitting a DPREL21L reloc that needs fixing.  Subtract
818         off PC for PCREL14F.  Break out code that does a stub lookup from
819         here..
820         (hppa_get_stub_entry): ..to here.  New function.
821         (elf32_hppa_relocate_insn): Merge into final_link_relocate.
822         (elf32_hppa_relocate_section): Handle got and plt relocs, dynamic
823         relocs, etc. etc.
824         (elf32_hppa_finish_dynamic_sections): New function.
825         (elf_backend_finish_dynamic_sections): Define.
826         (elf_backend_final_write_processing) Define.
827         (hppa_handle_PIC_calls): New function.
828         (elf32_hppa_build_stubs): Call it.  Pass link_info to
829         hppa_build_one_stub.
830         (elf32_hppa_create_dynamic_sections): New function
831         to create .plt and .got then set .plt flags correctly.
832         (elf_backend_create_dynamic_sections): Define.
833         (elf32_hppa_object_p): New function.
834         (elf_backend_object_p): Define.
835         (elf32_hppa_elf_get_symbol_type): New function.
836         (elf_backend_get_symbol_type): Define.
837         (elf_backend_can_gc_sections): Define.
838         (elf_backend_want_got_plt): Define.
839         (elf_backend_plt_alignment): Set to 2.
840         (elf_backend_plt_readonly): Define.
841         (elf_backend_want_plt_sym): Define.
842         (elf_backend_got_header_size): Reserve one entry.
843
844         * elf32-hppa.h (elf32_hppa_build_stubs): Don't pass stub bfd.
845         (elf32_hppa_size_stubs): Pass in multi_subspace.
846         (elf32_hppa_set_gp): Declare.
847
848         * section.c (SEC_HAS_GOT_REF): Define new flag for asection.
849         (bfd_get_unique_section_name): New function.
850         * bfd_in2.h: Regenerate.
851
852         * elf64-hppa.c (elf64_hppa_check_relocs): Handle R_PARISC_PCREL12F.
853         (elf64_hppa_size_dynamic_sections): Remove the FIXME at bfd_zalloc
854         comment.
855
856         From  David Huggins-Daines  <dhd@linuxcare.com>
857         * elf64-hppa.c (elf64_hppa_check_relocs): Fix a warning.
858         (elf64_hppa_mark_exported_functions): Set dyn_h->st_shndx.
859         (elf64_hppa_link_output_symbol_hook): Test dyn_h->st_shndx has
860         been updated in finish_dynamic_symbol before modifying function
861         symbol.
862
863         * elf-hppa.h (elf_hppa_howto_table): Restructure into groups of
864         eight entries.  Replace NULL with bfd_elf_generic_reloc.  Add
865         R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT and R_PARISC_PCREL12F.
866         (_bfd_elf_hppa_gen_reloc_type): Handle R_PARISC_GNU_VT*.  Add some
867         comments.  Handle format == 12 for R_HPPA_PCREL_CALL.
868         (elf_hppa_final_link_relocate): Handle R_PARISC_PCREL12F.
869         (elf_hppa_relocate_insn): Likewise.  Reformat some comments.
870         (elf_hppa_final_write_processing): Expose it for ARCH_SIZE == 32.
871
872         From David Huggins-Daines  <dhd@linuxcare.com>
873         * elf-hppa.h (elf_hppa_is_local_label_name): Accept the SysV/ELF
874         style of local labels as well.
875
876 2000-09-03  Philip Blundell  <philb@gnu.org>
877
878         * elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
879         references to undefined symbols in debugging sections.
880
881 2000-09-02  H.J. Lu  <hjl@gnu.org>
882
883         * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
884         BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE,
885         BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH
886         section.
887
888 2000-09-02  Jason Eckhardt  <jle@cygnus.com>
889
890         * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
891         (elf32_i860_is_local_label_name): New function and prototype.
892
893 2000-09-02  Nick Clifton  <nickc@redhat.com>
894
895         * configure.in: Increase version number to 2.10.91.
896         * configure: Regenerate.
897         * aclocal.m4: Regenerate.
898         * config.in: Regenerate.
899         * po/bfd.pot: Regenerate.
900
901 2000-09-02  Daniel Berlin <dberlin@redhat.com>
902
903         * elf.c (_bfd_elf_make_section_from_shdr): Add
904         .gnu.linkobce.wi. to the list of debug section names.
905
906 2000-09-02  Nick Clifton  <nickc@redhat.com>
907
908         * dwarf2.c (find_debug_info): New function: Locate a section
909         containing dwarf2 debug information.
910         (bfd_dwarf2_find_nearest_line): Find all sections containing
911         debug information and include them in the stash.
912
913 2000-09-01  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
914
915         * elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
916         R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
917         (sh_reloc_map): Add new relocs.
918         (sh_elf_check_relocs, sh_elf_link_hash_newfunc,
919         sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
920         sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
921         sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
922         functions.
923         (ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
924         (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
925         elf_sh_plt_entry_be, elf_sh_plt_entry_le,
926         elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
927         New array constants.
928         (elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
929         New variables.
930         (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
931         elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
932         elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
933         elf_sh_plt_reloc_offset): Define.
934         (elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
935         elf_sh_link_hash_table): New structs.
936         (sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
937         (sh_elf_relocate_section, sh_elf_check_relocs): Handle new
938         relocation types.
939         (elf_backend_create_dynamic_sections,
940         bfd_elf32_bfd_link_hash_table_create,
941         elf_backend_adjust_dynamic_symbol,
942         elf_backend_size_dynamic_sections,
943         elf_backend_finish_dynamic_symbol,
944         elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
945         elf_backend_plt_readonly, elf_backend_want_plt_sym,
946         elf_backend_got_header_size, elf_backend_plt_header_size):
947         Define.
948         * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
949         BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
950         New relocs.
951         * bfd-in2.h, libbfd.h: Rebuilt.
952
953 2000-09-01  Alan Modra  <alan@linuxcare.com.au>
954
955         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27
956         change.
957
958 Thu Aug 31 22:49:30 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
959
960         * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
961         not initialized, set them to indicate the SH1 instruction set.
962
963 2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
964
965         * acinclude.m4: Include libtool and gettext macros from the
966         top level.
967         * aclocal.m4, configure: Rebuilt.
968
969 2000-08-29  Michael Snyder  <msnyder@seadog.cygnus.com>
970
971         * elf.c: Eliminate references to __sparcv9 macro; replace with
972         autoconf variables HAVE_PSINFO32_T etc.
973         * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T,
974         HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO.
975         * config.in: Ditto.
976         * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can
977         detect the above typedefs.  (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto.
978         * aclocal.m4: Ditto.
979         * configure: Regenerate.
980
981 2000-08-27  Alan Modra  <alan@linuxcare.com.au>
982
983         * elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied
984         for any shared link, not just shared -Bsymbolic.
985         (elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on
986         any shared link, and pass link info to it.
987         (elf_i386_size_dynamic_sections): Update comment.
988         (elf_i386_discard_copies): Modify to discard relocs for symbols
989         that have been forced local.
990         (elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols
991         that have been forced local.
992
993 2000-08-24  Denis Chertykov  <denisc@overta.ru> & Nick Clifton  <nickc@redhat.com>
994
995         * elflink.h (elf_link_add_object_symbols): Allow common
996         symbols to have an alignment of 1 if explicitly requested, and
997         not overridden by other definitions.
998
999 2000-08-22  Doug Kwan <dkwan@transmeta.com>
1000
1001         * coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo.
1002         * coffcode.h (coff_set_flags): Add detection of w65 architecture.
1003
1004 2000-08-22  H.J. Lu  <hjl@gnu.org>
1005
1006         * elf-bfd.h (elf_link_hash_table): Add runpath.
1007
1008         * bfd-in.h (bfd_elf_get_runpath_list): New prototype.
1009         * bfd-in2.h: Rebuilt.
1010
1011         * elf.c (_bfd_elf_link_hash_table_init): Initialize the
1012         "runpath" field to NULL.
1013         (bfd_elf_get_runpath_list): New function.
1014
1015         * elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
1016         DT_RUNPATH entries.
1017
1018 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
1019
1020         * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W,
1021         R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them
1022         explicitly.  Improve validation of r_type.
1023
1024 2000-08-21  H.J. Lu  <hjl@gnu.org>
1025
1026         * elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the
1027         dynamic allocated content space.  Add a comment to remind us that
1028         one day this ought to be fixed.
1029         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1030         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
1031         * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
1032
1033 2000-08-21  Jason Eckhardt  <jle@cygnus.com>
1034
1035         * elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
1036         field with the newly relocated value instead of adding it to the
1037         existing immediate field.
1038         (elf32_i860_relocate_splitn): Likewise.
1039         (elf32_i860_relocate_highadj): Likewise.
1040
1041 2000-08-16  Jason Eckhardt  <jle@cygnus.com>
1042
1043         * elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it
1044         was previously just a stub).
1045
1046 2000-08-16  Alexandre Oliva  <aoliva@redhat.com>
1047
1048         * elflink.c (_bfd_elf_create_got_section): Don't abort().
1049         Formatting fixes.
1050         (_bfd_elf_create_dynamic_sections): Likewise.
1051
1052 2000-08-16  Andrew Macleod  <amacleod@cygnus.com>
1053
1054         * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address
1055         for undefined symbols to be the beginning of the section.
1056
1057         * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate
1058         four extra entries at the beginning of the .rela.plt section.
1059         (sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt
1060         section to account for the four reserved entries in the .plt section.
1061
1062 2000-08-15  Geoffrey Keating  <geoffk@cygnus.com>
1063
1064         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
1065         to the list of NOPs we recognize after a branch-and-link.
1066         Use the ori NOP when one is needed.
1067
1068         * coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
1069         for large archives.
1070
1071 2000-08-14  Jim Wilson  <wilson@cygnus.com>
1072
1073         * elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
1074         EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
1075         (elf64_ia64_print_private_bfd_data): Likewise.  Also handle
1076         EF_IA_64_ABSOLUTE.
1077
1078 2000-08-11  Alexandre Oliva  <aoliva@redhat.com>
1079
1080         * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static.
1081
1082 2000-08-10  Jason Eckhardt  <jle@cygnus.com>
1083
1084         * elf32-i860.c (elf32_i860_relocate_section): New function.
1085         (i860_final_link_relocate): New function.
1086         (elf32_i860_relocate_splitn): New function.
1087         (elf32_i860_relocate_pc16): New function.
1088         (elf32_i860_relocate_highadj): New function.
1089         (elf32_i860_howto): Minor adjustments to some relocations.
1090         (elf_info_to_howto_rel): Define.
1091         (elf_backend_relocate_section): Define.
1092
1093 2000-08-10  Nick Clifton  <nickc@cygnus.com>
1094
1095         * elf32-arm.h: Fix formatting.
1096
1097 2000-08-10  Bernd Schmidt  <bernds@cygnus.co.uk>
1098
1099         * elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static.
1100
1101 2000-08-08  Jason Eckhardt  <jle@cygnus.com>
1102
1103         * elf32-i860.c (elf32_i860_howto_table): Updated some fields.
1104
1105 2000-08-07  Kazu Hirata  <kazu@hxi.com>
1106
1107         * ieee.c (ieee_write_debug_part): Rewrite a comment.
1108         * elf64-ia64.c: Fix a typo.
1109
1110 2000-08-05  Jason Eckhardt  <jle@cygnus.com>
1111
1112         * elf32-i860 (elf32_i860_howto_table): New structure.
1113         (lookup_howto): New function.
1114         (elf32_i860_reloc_type_lookup): New function.
1115         (elf32_i860_info_to_howto_rela): New function.
1116         (elf_code_to_howto_index): New structure.
1117         (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela.
1118         (bfd_elf32_bfd_reloc_type_lookup): Re-define as
1119         elf32_i860_reloc_type_lookup.
1120
1121 2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
1122
1123         * som.c (struct fixup_format): Constify `format'.
1124         (som_hppa_howto_table): Use SOM_HOWTO macro.
1125         (try_prev_fixup, hppa_som_reloc): Decorate unused parameter.
1126         (som_bfd_reloc_type_lookup): Likewise.
1127         (compare_subspaces): Remove unused `count1', `count2'.
1128         (som_begin_writing): Remove unused `total_reloc_size'.
1129         (som_bfd_derive_misc_symbol_info): Decorate unused parameter.
1130         (som_print_symbol, som_bfd_is_local_label_name): Likewise.
1131         (som_set_reloc_info): Constify `cp'. Remove unused `addend'.
1132         (som_find_nearest_line): Decorate unused parameter(s).
1133         (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise.
1134         (som_bfd_link_split_section): Likewise.
1135
1136 2000-08-03  Nick Clifton  <nickc@cygnus.com>
1137
1138         * section.c: Restore backed out code.
1139         * elf.c: Restore backed out code.
1140         (copy_private_bfd_data): Fix bug preventing stipped dynamic
1141         binaries from working.
1142         * bfd-in2.h: Regenerate.
1143
1144 2000-08-03  H.J. Lu  <hjl@gnu.org>
1145
1146         * section.c: Back out the change made by Nick Clifton
1147         <nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
1148         binaries.
1149         * bfd-in2.h: Likewise.
1150         * elf.c: Likewise.
1151
1152 2000-08-03  Alexandre Oliva  <aoliva@redhat.com>
1153
1154         * elf32-sh.c (sh_elf_reloc_loop): Warning removal.
1155
1156 2000-07-31  Jason Eckhardt  <jle@cygnus.com>
1157
1158         * reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
1159         * bfd-in2.h, libbfd.h: Regenerate.
1160
1161 2000-07-31  Nick Clifton  <nickc@cygnus.com>
1162
1163         * section.c (struct sec): Add new boolean field 'segment_mark'.
1164         (STD_SECTION): Initialise new field to zero.
1165
1166         * bfd-in2.h: Regenerate.
1167
1168         * elf.c (copy_private_bfd_data): Reorganise section to segment
1169         mapping to cope with moved sections requiring new segments,
1170         and overlapping segments.
1171         (SEGMENT_END): New macro: Return the end address of a segment.
1172         (IS_CONTAINED_BY_VMA): New macro: Determine if a segment
1173         contains a section by comparing their VMA addresses.
1174         (IS_CONTAINED_BY_LMA): New macro: Determine if a segment
1175         contains a section by comparing their LMA addresses.
1176         (INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a
1177         section should be included in a segment.
1178         (SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment
1179         follows another in memory.
1180         (SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two
1181         segments overlap.
1182
1183 2000-07-22  Jason Eckhardt  <jle@cygnus.com>
1184
1185         * cpu-i860.c: Added comments.
1186
1187         * elf32-i860.c (TARGET_LITTLE_SYM): Defined to
1188         bfd_elf32_i860_little_vec.
1189         (TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
1190         (ELF_MAXPAGESIZE): Changed to 4096.
1191
1192         * targets.c (bfd_elf32_i860_little_vec): Declaration of
1193         new target.
1194         (bfd_target_vector): Added bfd_elf32_i860_little_vec.
1195
1196         * config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
1197         config for little endian elf32 i860.
1198         (targ_defvec): Define for the new config above
1199         as "bfd_elf32_i860_little_vec".
1200         (targ_selvecs): Define for the new config above
1201         as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
1202
1203         * configure.in (bfd_elf32_i860_little_vec): Added recognition
1204         of new target vec.
1205
1206         * configure: Regenerated.
1207
1208 2000-07-27  H.J. Lu  <hjl@gnu.org>
1209
1210         * elflink.h (elf_merge_symbol): Take one more argument,
1211         dt_needed, to indicate if the symbol comes from a DT_NEEDED
1212         entry. Don't overide the existing weak definition if dt_needed
1213         is true.
1214         (elf_link_add_object_symbols): Pass dt_needed to
1215         elf_merge_symbol ().
1216
1217 2000-07-27  Nick Clifton  <nickc@cygnus.com>
1218
1219         * elflink.h (elf_link_size_reloc_section): Zeroes the section's
1220         allocated contents.
1221
1222 2000-07-25  Geoffrey Keating  <geoffk@cygnus.com>
1223
1224         * configure.host (*-*-aix*): AIX has 'long long' always.
1225
1226         * coff-rs6000.c (xcoff_write_one_armap_big): New procedure.
1227         (xcoff_write_armap_big): Write both 32-bit and 64-bit armaps.
1228         (xcoff_write_archive_contents_big): Don't update the offset
1229         of the symbol table, xcoff_write_armap will do it.
1230
1231 2000-07-23  Ulf Carlsson  <ulfc@engr.sgi.com>
1232
1233         * elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
1234         of dynobj for SGI_COMPAT checks.
1235
1236 2000-07-21  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
1237
1238         * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function.
1239         * bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration.
1240         * bfd-in2.h: Regenerate.
1241
1242 2000-07-21  Nick Clifton  <nickc@cygnus.com>
1243
1244         * elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of
1245         range symbol indices in relocs and issue an error message.
1246
1247 2000-07-20  H.J. Lu  <hjl@gnu.org>
1248
1249         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check
1250         info->new_dtags when setting DT_FLAGS_1. It will only be set
1251         by the new linker options. It shouldn't break anything.
1252
1253 2000-07-20  H.J. Lu  <hjl@gnu.org>
1254
1255         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1
1256         only if info->new_dtags is true.
1257
1258 2000-07-20  H.J. Lu  <hjl@gnu.org>
1259
1260         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
1261         DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
1262
1263 2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
1264
1265         * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
1266         (ALL_MACHINES_CFILES): Add cpu-cris.c.
1267         (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
1268         (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
1269         (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
1270         * Makefile.in: Rebuild.
1271         * aclocal.m4: Rebuild.
1272         * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
1273         * archures.c (enum bfd_architecture): Add bfd_arch_cris.
1274         (bfd_cris_arch): Declare.
1275         (bfd_archures_list): Add bfd_cris_arch.
1276         * bfd-in2.h: Rebuild.
1277         * config.bfd: (cris-*-*): New target.
1278         * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
1279         * configure: Rebuild.
1280         * elf.c (prep_headers): Add bfd_arch_cris.
1281         * libbfd.h: Rebuild.
1282         * libaout.h (enum machine_type): Add M_CRIS.
1283         * reloc.c: Add CRIS relocations.
1284         * targets.c (bfd_elf32_cris_vec, cris_aout_vec): Declare.
1285         (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
1286         * cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
1287         * po/POTFILES.in, po/bfd.pot: Regenerate.
1288
1289 2000-07-19  H.J. Lu  <hjl@gnu.org>
1290
1291         * elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
1292         DF_TEXTREL if DT_TEXTREL is set.
1293         * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
1294         * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
1295         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1296         * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
1297         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1298         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
1299         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1300         * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
1301         * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
1302         * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
1303
1304         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
1305         set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
1306         DT_RPATH is set.
1307         Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
1308
1309 2000-07-19  H.J. Lu  <hjl@gnu.org>
1310
1311         * bfd-in.h (bfd_elf_set_dt_needed_soname): New.
1312         * bfd-in2.h: Rebuild.
1313
1314         * elf-bfd.h (elf_obj_tdata): Add dt_soname.
1315         (elf_dt_soname): New.
1316
1317         * elf.c (bfd_elf_set_dt_needed_soname): New.
1318
1319         * elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
1320         entry if the shared object loaded by DT_NEEDED is used to
1321         resolve the reference in a regular object.
1322
1323 2000-07-19  H.J. Lu  <hjl@gnu.org>
1324
1325         * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG,
1326         DT_DEPAUDIT and DT_AUDIT as strings.
1327
1328 2000-07-19  Nick Clifton  <nickc@cygnus.com>
1329
1330         * format.c: Fix formatting.
1331
1332 2000-07-19  H.J. Lu  <hjl@gnu.org>
1333
1334         * elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM.
1335
1336 2000-07-19  H.J. Lu  <hjl@gnu.org>
1337
1338         * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW,
1339         DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ,
1340         DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ,
1341         DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1,
1342         DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT,
1343         DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT,
1344         DT_FLAGS_1, DT_USED and DT_CHECKSUM.
1345
1346 Tue Jul 18 13:11:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1347
1348         * elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move
1349         renamed functions from here...
1350         (assign_section_numbers): Use renamed functions.
1351         (prep_headers): Use renamed functions.
1352
1353         * bfd.c (bfd_get_sign_extend_vma, bfd_get_arch_size): ...To here.
1354         * bfd-in.h (bfd_get_sign_extend_vma, bfd_get_arch_size): Update.
1355         * bfd-in2.h: Regenerate.
1356
1357 2000-07-18  Ulf Carlsson  <ulfc@engr.sgi.com>
1358
1359         * elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
1360         parenthesis in if statement.
1361
1362 2000-07-17  Koundinya K  <kk@ddeorg.soft.net>
1363
1364         Enable the support for Traditional MIPS.
1365         * elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
1366         return ict_none appropriately for traditional mips targets.
1367         (STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
1368         (STUB_MOVE): Conditionalize for traditonal mips.
1369         (STUB_LI16): Likewise.
1370         (_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
1371         room for RTPROC header.
1372         (_bfd_mips_elf_modify_segment_map): For a normal mips executable set
1373         the permission for the PT_DYNAMIC as read, write and execute.
1374         (mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
1375         for traditonal mips.
1376         (_bfd_mips_elf_create_dynamic_sections): Add the symbol
1377         _DYNAMIC_LINKING for traditonal mips.
1378         (_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
1379         in case of traditonal mips.
1380         (_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
1381         entry is required. For a function if PLT is not required then set the
1382         corresponding hash table entry to 0.
1383         (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
1384         traditonal mips.
1385         (_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
1386         shared object set the value to 0.
1387         (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
1388         _DYNAMIC_LINKING for traditonal mips.
1389         (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
1390         for traditonal mips.
1391
1392 2000-07-15  H.J. Lu  <hjl@gnu.org>
1393
1394         * aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL.
1395
1396 2000-07-12  Charles Wilson  <cwilson@ece.gatech.edu>
1397
1398         * libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing
1399         out a structure that is BFD_IN_MEMORY.
1400
1401 2000-07-11  Alan Modra  <alan@linuxcare.com.au>
1402
1403         * elf64-hppa.c (get_dyn_name): Pass in section pointer instead of
1404         bfd pointer.  Print section id instead of bfd pointer for local
1405         syms.  Prefix addend with `+' for global syms as well as local.
1406         Correct calculation of name component lengths.
1407         (elf64_hppa_check_relocs): Update call to get_dyn_name.
1408
1409         From David Huggins-Daines  <dhd@linuxcare.com>
1410         * elf-hppa.h (elf_hppa_relocate_section): Update calls here too.
1411         * elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings.
1412         (elf64_hppa_modify_segment_map): Likewise.
1413
1414 Tue Jul 11 17:21:52 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1415
1416         * elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA
1417         addresses to be "naturally" sign extended.  Return -1 if unknown.
1418         * bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration.
1419         * bfd-in2.h: Regenerate.
1420
1421 Tue Jul 11 16:25:52 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1422
1423         * ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32
1424         and ECOF_SIGNED_64 to list ways to extract an offset.
1425         (ecoff_swap_fdr_in, ecoff_swap_fdr_out, ecoff_swap_pdr_in,
1426         ecoff_swap_pdr_out, ecoff_swap_ext_in, ecoff_swap_ext_out):
1427         Update.
1428         * elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64.
1429         * elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32.
1430
1431 Tue Jul 11 16:03:04 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1432
1433         * elfcode.h (elf_object_p): Use bfd_set_start_address and not
1434         bfd_get_start_address.
1435         (elf_swap_ehdr_in): Sign extend e_entry when applicable.
1436         (elf_swap_ehdr_out): Ditto.
1437
1438 2000-07-10  Alexander Aganichev  <AAganichev@hypercom.com>
1439
1440         * archures.c (bfd_default_scan): Add set of bfd_mach_ cases for
1441         compatibility with older binutils.
1442
1443 2000-07-10  Alan Modra  <alan@linuxcare.com.au>
1444
1445         * section.c (bfd_make_section_anyway): Start section_id at 0x10.
1446         (STD_SECTION): Avoid negative ids, instead use 0 to 3.
1447
1448         From Ryan Bradetich  <rbradetich@uswest.net>
1449         * dwarf1.c (parse_die): Cure signed/unsigned char warnings.
1450         (parse_line_table): Ditto.
1451         (_bfd_dwarf1_find_nearest_line): Ditto.
1452         * syms.c (cmpindexentry): Remove extra `*' from params.
1453
1454 2000-07-09  Koundinya K  <kk@ddeorg.soft.net>
1455
1456         * elf32-mips.c (sort_dynamic_relocs): New Function.
1457         (_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs
1458         via qsort to sort the dynamic relocations in increasing r_symndx
1459         value.
1460
1461 2000-07-09  Alan Modra  <alan@linuxcare.com.au>
1462
1463         * elf64-hppa.c (elf64_hppa_dyn_hash_table_init): Add
1464         ATTRIBUTE_UNUSED to unused args.
1465         (get_opd): Likewise.
1466         (get_plt): Likewise.
1467         (get_dlt): Likewise.
1468         (get_stub): Likewise.
1469         (elf64_hppa_adjust_dynamic_symbol): Likewise.
1470         (elf64_hppa_link_output_symbol_hook): Likewise.
1471         (elf64_hppa_check_relocs): Delete unused var.
1472         (elf64_hppa_size_dynamic_sections): Likewise.
1473         (elf64_hppa_finalize_opd): Likewise.
1474         (elf64_hppa_finalize_dynreloc): Likewise.
1475         (elf64_hppa_modify_segment_map): Likewise.
1476         (elf64_hppa_finish_dynamic_sections): Likewise.
1477
1478         * elf-hppa.h (elf_hppa_final_write_processing): Add
1479         ATTRIBUTE_UNUSED to unused args.
1480         (elf_hppa_final_link_relocate): Likewise.
1481         (elf_hppa_record_segment_addrs): Add paretheses.
1482         (elf_hppa_relocate_section): Constify dyn_name.
1483
1484         From  David Huggins-Daines  <dhd@linuxcare.com>
1485         * config.bfd: Add hppa*64*-*-linux-gnu 64-bit target, and
1486         rearrange case statement so that it gets preferred to 32-bit ones.
1487
1488         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Use
1489         asection->id instead of address of asection structure.
1490         (elf32_hppa_size_stubs): Likewise.
1491
1492         * elf32-hppa.c (elf32_hppa_size_stubs): Use just one stub section
1493         for .init* and .fini*.
1494
1495         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Mask pointers
1496         and addends used in stub names to 32 bits.
1497         (elf32_hppa_size_stubs): Likewise.
1498
1499         * elf-hppa.h (elf_hppa_final_link_relocate): Don't sum addend
1500         twice for R_PARISC_GPREL64.  Use bfd_put_32 for R_PARISC_PCREL32,
1501         not bfd_put_64.  Fix minor comment typo and formatting.
1502
1503         Changes to create multiple linker stubs, positioned immediately
1504         before the section where they are required.
1505         * elf32-hppa.c: Don't include hppa_stubs.h.
1506         (elf32_hppa_stub_hash_entry): Add a pointer to the stub section.
1507         (elf32_hppa_stub_hash_table): Delete.
1508         (elf32_hppa_link_hash_entry): Delete.
1509         (elf32_hppa_link_hash_table): Use plain bfd_hash_table for
1510         stub_hash_table, and store the struct here rather than a pointer.
1511         Delete output_symbol_count.  Add offset array.  Change
1512         global_value to a bfd_vma.
1513         (elf32_hppa_stub_hash_lookup): Use table instead of table->root.
1514         (elf32_hppa_stub_hash_traverse): Delete.
1515         (elf32_hppa_name_of_stub): Delete.
1516         (elf32_hppa_link_hash_lookup): Delete.
1517         (elf32_hppa_link_hash_traverse): Delete.
1518         (elf32_hppa_stub_hash_table_init): Delete.
1519         (elf32_hppa_size_of_stub): Pass input section and offset rather
1520         than location and calculate location here.  Don't pass name as all
1521         stubs are now the same size.
1522         (elf32_hppa_stub_hash_newfunc): Init new fields.
1523         (elf32_hppa_link_hash_table_create): Likewise, and stub_hash_table
1524         too.
1525         (elf32_hppa_bfd_final_link_relocate): Cast enums to int before
1526         comparing against ints.  Rewrite stub handling code.
1527         (elf32_hppa_relocate_section): Make r_type and r_symndx unsigned.
1528         Case enums to int before comparing against ints.  Remove
1529         bfd_reloc_dangerous case.
1530         (elf32_hppa_build_one_stub): Rewrite.
1531         (elf32_hppa_size_one_stub): New function.
1532         (elf32_hppa_build_stubs): Rewrite.
1533         (elf32_hppa_size_stubs): Pass in linker call-back functions.
1534         Rewrite stub-handling specific code.
1535
1536         * elf32-hppa.h (elf32_hppa_size_stubs): Update prototype.
1537
1538         * elf64-hppa.c (elf64_hppa_dyn_hash_entry): Fix a comment typo.
1539
1540         * hppa_stubs.h: Delete.
1541         * Makefile.am (SOURCE_HFILES): Remove hppa_stubs.h
1542         (elf32-hppa.lo): Remove hppa_stubs.h from dependencies.
1543         * Makefile.in: Regenerate.
1544
1545         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle e_nlsel and
1546         e_nlrsel.
1547
1548         * libhppa.h (hppa_field_adjust): Correct e_nsel case.
1549
1550         * elf32-hppa.c (elf32_hppa_relocate_section): Mention the offset
1551         and section name for bfd_reloc_notsupported error message.
1552         (elf32_hppa_bfd_final_link_relocate): Print reasons for returning
1553         bfd_reloc_notsupported.
1554         (elf32_hppa_relocate_section): Add ATTRIBUTE_UNUSED to output_bfd.
1555
1556         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Handle
1557         undefined weak symbols for all relocs.
1558         (elf32_hppa_size_of_stub): Adjust calculation by 8 since branch
1559         offsets are relative to one past the delay slot.
1560         (elf32_hppa_size_stubs): Account for reloc addend when calculating
1561         branch destination.  Put addend into stub name too.
1562         (elf32_hppa_bfd_final_link_relocate): Account for reloc addend and
1563         adjust by 8 when deciding whether a linker stub is needed.  Put
1564         addend into stub name as for above.
1565
1566         * elf32-hppa.c (hppa_elf_relocate_insn): Change signed/unsigned on
1567         various args and vars.
1568         (elf32_hppa_bfd_final_link_relocate): Here too.
1569         (elf32_hppa_size_stubs): Rename index -> indx.  Use e_indx for
1570         inner block var to avoid shadowing.
1571
1572         * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type):  Make `field' arg
1573         unsigned.
1574         * elf64-hppa.h (_bfd_elf64_hppa_gen_reloc_type): Ditto.
1575         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Ditto.
1576         (elf_hppa_fake_sections): Rename local var to avoid shadowing.
1577
1578         * libhppa.h: Change practically all unsigned ints to plain ints.
1579         Remove tests on gcc version.  Instead use ATTRIBUTE_UNUSED for
1580         prototypes.
1581
1582         From Ryan Bradetich  <rbradetich@uswest.net>
1583         * libhppa.h (hppa_opcode_type): New enum to replace #define's.
1584         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Modify to
1585         suit above.
1586         From  David Huggins-Daines  <dhd@linuxcare.com>
1587         * elf-hppa.h (elf_hppa_relocate_insn): Update the opcode constants
1588         to the new OP_* ones.
1589
1590         * elf32-hppa.c (elf32_hppa_size_stubs): Consolidate freeing on
1591         error exit.  Bail out earlier on plabel relocs that we aren't
1592         interested in.  Don't tell elf32_hppa_stub_hash_lookup to copy
1593         string, and then don't free our copy.
1594         (elf32_hppa_build_one_stub): Make insn unsigned int.
1595
1596         * libhppa.h (bfd_hppa_insn2fmt): 22 bit branches are only
1597         available with BL, not BE and BLE.
1598
1599         * elf32-hppa.c (hppa_elf_relocate_insn): Add some more example
1600         code for elf arg relocs.
1601         (elf32_hppa_bfd_final_link_relocate): Replace boolean is_local
1602         argument with elf_link_hash_entry h.  Handle undefined weak
1603         symbols.  Move $global$ lookup from here...
1604         (elf32_hppa_relocate_section): ...to here.  Return correct error
1605         message for non-handled relocs.
1606         (elf32_hppa_size_of_stub): Correctly test branch range.  Previous
1607         wrong test was -0x3ffff to +0x40000.
1608
1609         * elf-hppa.h (elf_hppa_final_link_relocate): R_PARISC_DIR17R,
1610         R_PARISC_DIR17F, and R_PARISC_DIR21L are for absolute branches;
1611         Handle them as such.
1612         (elf_hppa_relocate_insn): Fix a typo.
1613
1614         * libhppa.h (GET_FIELD, GET_BIT, MASK, CATENATE, ELEVEN): Delete.
1615         (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
1616         assemble_17, assemble_21): Delete.
1617         Supply defines for all 64 possible opcodes.
1618         (bfd_hppa_insn2fmt): Add bfd argument, and use to select wide mode
1619         formats.  Handle COMICLR.
1620         (hppa_rebuild_insn): Delete bfd argument.  Handle formats 10, -11,
1621         -10, -16, 16, 22.
1622
1623         * elf32-hppa.c (hppa_elf_relocate_insn): Complete rewrite.
1624         (elf32_hppa_bfd_final_link_relocate): Major rewrite.
1625         (elf32_hppa_build_one_stub): Modify hppa_elf_relocate_insn calls
1626         to suit.
1627         (elf32_hppa_size_stubs): Don't free stub_name twice.  Read in all
1628         the local syms - did this code get deleted accidentally?  Ignore
1629         undefined and undefweak syms.
1630
1631         * elf-hppa.h (elf_hppa_final_link): Move hppa_info to outermost
1632         block.  Use it instead of elf64_hppa_hash_table (info).
1633         (elf_hppa_final_link_relocate): Use hppa_info instead of
1634         elf64_hppa_hash_table (info).
1635
1636         * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
1637         re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
1638         (hppa_rebuild_insn): Mask immediate bits here instead.
1639         * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
1640
1641 2000-07-08  Alan Modra  <alan@linuxcare.com.au>
1642
1643         * section.c (struct sec): Add id field.  Tidy comment formatting.
1644         (bfd_make_section_anyway): Set id.
1645         (STD_SECTION): Init id too.
1646         Change CONST to const throughout.
1647         * archures.c (bfd_arch_info): Tidy comment.
1648         (bfd_arch_list): Change a CONST to const.
1649         * libbfd-in.h: Tidy comments and replace CONST with const.
1650         * elf-bfd.h: Likewise.
1651         * libbfd.h: Regenerate.
1652         * bfd-in2.h: Regenerate.
1653         * libcoff.h: Regenerate.
1654
1655 2000-07-07  DJ Delorie  <dj@redhat.com>
1656
1657         * archive.c (_bfd_write_archive_contents): Add an informative
1658         comment.
1659
1660 2000-07-06  Kazu Hirata  <kazu@hxi.com>
1661
1662         * srec.c: Fix formatting.
1663
1664 2000-06-05  DJ Delorie  <dj@redhat.com>
1665
1666         * MAINTAINERS: new
1667
1668 2000-07-04  Alexandre Oliva  <aoliva@redhat.com>
1669
1670         * coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol
1671         value of PC-relative offsets.
1672
1673 2000-07-03  Jim Wilson  <wilson@cygnus.com>
1674
1675         * elf64-alpha.c (alpha_elf_size_info): New.
1676         (elf_backend_size_info): Define to alpha_elf_size_info.
1677         * elfcode.h (elf_size_info): Change hash bucket size to 4.
1678
1679 2000-07-03  Ulf Carlsson  <ulfc@engr.sgi.com>
1680
1681         * elf32-mips.c: Include elf32-target.h again for the traditional
1682         MIPS targets.
1683
1684 2000-07-03  Marek Michalkiewicz  <marekm@linux.org.pl>
1685
1686         * elf32-avr.c (bfd_elf32_bfd_reloc_type_lookup):
1687         Add ATTRIBUTE_UNUSED to unused arguments to avoid warnings.
1688         (avr_info_to_howto_rela): Likewise.
1689         (elf32_avr_gc_mark_hook): Likewise.
1690         (elf32_avr_gc_sweep_hook): Likewise.
1691         (elf32_avr_relocate_section): Likewise.
1692
1693 2000-07-03  Mark Elbrecht  <snowball3@bigfoot.com>
1694
1695         * cofflink.c (_bfd_coff_write_global_sym): Turn a weak symbol into
1696         an external symbol for a non-shared, non-relocatable link.
1697
1698 2000-07-03  Nick Clifton  <nickc@redhat.com>
1699
1700         * cofflink.c (IS_EXTERNAL): New macro: Return true if the symbol
1701         is an external symbol.
1702         (IS_WEAK_EXTERNAL): New macro: Return true if the symbol is a weak
1703         external symbol.
1704
1705 2000-07-03  Kazu Hirata  <kazu@hxi.com>
1706
1707         * reloc16.c: Fix formatting.
1708
1709 2000-07-01  Koundinya K  <kk@ddeorg.soft.net>
1710
1711         * config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4*
1712         to add a new target for traditional mips i.e
1713         bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec.
1714         * configure.in: Likewise.
1715         * configure: Rebuild.
1716         * targets.c (bfd_elf32_tradbigmips_vec): Declare and put in
1717         bfd_target_vector.
1718         (bfd_elf32_tradlittlemips_vec): Likewise.
1719         * elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test
1720         to see that elfNN_bed does not get redefined even if the target file
1721         is included twice for a chip. See elf32-mips.c.
1722
1723 2000-07-01  Alan Modra  <alan@linuxcare.com.au>
1724
1725         * Makefile.am (DEP): Fix 2000-06-22.  grep after running dep.sed
1726         (CLEANFILES): Add DEPA.
1727         * Makefile.in: Regenerate.
1728
1729 2000-06-30  DJ Delorie  <dj@cygnus.com>
1730
1731         * peicode.h (coff_swap_filehdr_in): can't use e_magic because we
1732         can't assume the PE header is at 0x80.
1733
1734 2000-06-29  Mark Elbrecht  <snowball3@bigfoot.com>
1735
1736         * syms.c (_bfd_stab_section_find_nearest_line): Use IS_ABSOLUTE_PATH.
1737
1738 2000-06-28  Mark Elbrecht  <snowball3@bigfoot.com>
1739
1740         * go32stub.h: Update stub.
1741
1742 2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>
1743
1744         * archures.c (bfd_mach_avr5): Define.
1745         * bfd-in2.h (bfd_mach_avr5): Define.
1746         * cpu-avr.c (arch_info_struct): Rename bfd_mach_avr4 to
1747         bfd_mach_avr5, add bfd_mach_avr4.  Update comments.
1748         (compatible): Update comment.  Add missing test.
1749         * elf32-avr.c (avr_final_link_relocate): Support 8K wrap
1750         for avr2 and avr4.  Simplify 8K wrap code.
1751         (bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr5.
1752         (elf32_avr_object_p): Recognize E_AVR_MACH_AVR5.
1753
1754 2000-06-26  Kazu Hirata  <kazu@hxi.com>
1755
1756         * coff-h8300.c: Fix formatting.
1757         * cpu-h8300.c: Likewise.
1758
1759 2000-06-24  Alexandre Oliva  <aoliva@redhat.com>
1760
1761         * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)'
1762         for local symbols whose names are unknown.
1763
1764 2000-06-22  Alan Modra  <alan@linuxcare.com.au>
1765
1766         * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
1767         find one.
1768         * Makefile.in: Regenerate.
1769         * doc/Makefile.in: Regenerate.
1770
1771 2000-06-20  H.J. Lu  <hjl@gnu.org>
1772
1773         * Makefile.am: Rebuild dependency.
1774         * Makefile.in: Rebuild.
1775
1776 2000-06-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
1777
1778         * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function.
1779         (elf_backend_copy_indirect_symbol): Map to the new function.
1780
1781 2000-06-20  Alan Modra  <alan@linuxcare.com.au>
1782
1783         * archive.c (normalize): Correct pointer comparison when checking
1784         for backslashes.
1785         (bfd_bsd_truncate_arname): Likewise.
1786         (bfd_gnu_truncate_arname): Likewise.
1787
1788 2000-06-20  Ulf Carlsson  <ulfc@engr.sgi.com>
1789
1790         * elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual
1791         sections elf_{text,data}_{section,symbol}.
1792         * elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove.
1793         (_bfd_mips_elf_hide_symbol): New function.
1794         (elf_backend_hide_symbol): Map to the new function.
1795         (_bfd_mips_elf_add_symbol_hook): Change to use new per BFD
1796         definitions of mips_elf_{text,data}_{section,symbol}.
1797         (mips_elf_local_relocation_p): Try to find the direct symbol
1798         based on new check_forced argument.
1799         (mips_elf_calculate_relocation): Use new version of
1800         mips_elf_local_relocation_p.
1801         (mips_elf_relocate_section): Likewise.
1802         (_bfd_mips_elf_relocate_section): Likewise.
1803         (mips_elf_sort_hash_table): Only assert that have enough GOT
1804         space.
1805         (mips_elf_got16_entry): Match all 32 bits to the existing GOT
1806         entry if the relocation based on the new external argument.
1807         (mips_elf_create_dynamic_relocation): Assert that we have a
1808         section contents allocated where we can swap out the dynamic
1809         relocations.
1810         (mips_elf_calculate_relocation): Find the real hash-table entry
1811         correctly by using h->root.root.type.  Only create a dynamic
1812         relocation entry if the symbol is defined in a shared library.
1813         Create an external GOT entry for the GOT16 relocation if the
1814         symbol was forced local.
1815         (_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a
1816         dynamic index if the symbol was forced local.
1817
1818 2000-06-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
1819
1820         * elf32-mips.c: Fix typos in comments.
1821
1822 2000-06-19  Mark Kettenis  <kettenis@gnu.org>
1823
1824         * rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef
1825         CORE_VERSION_1.
1826
1827 2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
1828
1829         * Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild.
1830         * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS,
1831         BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files.
1832         * configure.in (bfd_elf32_m68hc12_vec): Recognize.
1833         (bfd_elf32_m68hc11_vec): Likewise.
1834         * config.bfd (targ_cpu): Recognize 68hc12 and 68hc11.
1835         Supports 68hc11 & 68hc12  at the same time.
1836         * targets.c (bfd_elf32_m68hc12_vec): Declare and put in
1837         bfd_target_vector.
1838         (bfd_elf32_m68hc11_vec): Likewise.
1839         * elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11.
1840         * archures.c (bfd_m68hc12_arch): Define and register in global list
1841         (bfd_m68hc11_arch): Likewise.
1842         * reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8,
1843         BFD_RELOC_M68HC11_3B): Define.
1844         * cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support.
1845         * cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support.
1846
1847 2000-06-18  Ulf Carlsson  <ulfc@engr.sgi.com>
1848
1849         * elf_bfd.h (struct elf_backend_data): Add info argument to
1850         elf_backend_hide_symbol.
1851         (_bfd_elf_link_hash_hide_symbol): Likewise.
1852         * elf.c (_bfd_elf_link_hash_hide_symbol): Likewise.
1853         * elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise.
1854         * elflink.h (elf_link_add_object_symbols): Likewise.
1855         (elf_link_assign_sym_version): Likewise.
1856
1857 2000-06-18  H.J. Lu  <hjl@gnu.org>
1858
1859         * coff-i386.c (coff_i386_reloc): Don't return in case of
1860         output_bfd == (bfd *) NULL if COFF_WITH_PE is defined.
1861         Compensate PE relocations when linking with non-PE object
1862         files to generate a non-PE executable.
1863
1864 2000-06-17  Ulf Carlsson  <ulfc@engr.sgi.com>
1865
1866         * elf32-mips.c (mips_elf_calculate_relocation): Explicitly write
1867         GOT entries if we're doing a static link or -Bsymbolic link.
1868
1869 2000-06-15  Ulf Carlsson  <ulfc@engr.sgi.com>
1870
1871         * elflink.h (elf_link_adjust_relocs): Check for and call backend
1872         specifific swap_reloc_{in,out} and swap_reloca_{in,out} if
1873         available.
1874         (elf_link_output_relocs): Likewise.
1875         (elf_reloc_link_order): Likewise.
1876
1877 2000-06-16  Nicholas Duffek  <nsd@redhat.com>
1878
1879         * archures.c (enum bfd_architecture): #define constants for
1880         PowerPc and RS6000 machine numbers.
1881         * bfd-in2.h: Regenerate.
1882         * coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
1883         to bfd_arch_powerpc instead of bfd_arch_rs6000.  Refer to PowerPc
1884         and RS6000 machine numbers using #defined constants from
1885         archures.c.
1886         * cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
1887         machine numbers using #defined constants from archures.c.  Add
1888         entries for EC603e, 630, A35, RS64II, RS64III, 7400.  Specify
1889         64-bit words in 620 entry.
1890         * cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
1891         RSC, and RS2.
1892         (bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).
1893
1894 2000-06-16  Nicholas Duffek  <nsd@cygnus.com>
1895
1896         * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.
1897         * libcoff-in.h (struct xcoff_tdata): Define xcoff64 field.
1898         * libcoff.h (struct xcoff_tdata): Define xcoff64 field.
1899
1900 2000-06-16  Nicholas Duffek  <nsd@redhat.com>
1901
1902         * bfd-in.h (bfd_family_coff): Define.
1903         * bfd-in2.h: Regenerate.
1904         * coffgen.c (coff_count_linenumbers, coff_symbol_from,
1905         coff_find_nearest_line): Check COFFness using bfd_family_coff()
1906         instead of bfd_target_coff_flavour.
1907         * cofflink.c (_bfd_coff_final_link): Likewise.
1908         * cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to
1909         exclude XCOFF files.
1910         * reloc.c (bfd_perform_relocation, bfd_install_relocation):
1911         Likewise.
1912         * targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour.
1913         * xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour.
1914         * xcofflink.c (XCOFF_XVECP): Delete.
1915         (bfd_xcoff_link_record_set, bfd_xcoff_import_symbol,
1916         bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc,
1917         bfd_xcoff_record_link_assignment,
1918         bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with
1919         check for bfd_target_xcoff_flavour.
1920
1921 2000-06-16  Nicholas Duffek  <nsd@redhat.com>
1922
1923         * rs6000-core.c: Support 64-bit core files, support pre-4.3 core
1924         files on AIX 4.3.
1925         (read_hdr): New function.
1926         (rs6000coff_core_p): Store mstsave or __context64 struct instead
1927         of trying to extract individual registers.  Set abfd->arch_info
1928         to match the architecture that created the core file.
1929         (rs6000coff_get_section_contents): Delete.
1930         * xcoff-target.h (rs6000coff_get_section_contents): Delete.
1931
1932 2000-06-14  H.J. Lu  <hjl@gnu.org>
1933
1934         * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec)
1935         is NULL.
1936
1937 2000-06-13  H.J. Lu  <hjl@gnu.org>
1938
1939         * configure: Regenerate.
1940
1941 Tue Jun 13 01:28:57 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
1942
1943         * peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of
1944         armpei_little_vec.
1945
1946 2000-06-08  David O'Brien  <obrien@FreeBSD.org>
1947
1948         * configure.in (VERSION): Update to show this is the CVS mainline.
1949
1950 2000-06-07  Alan Modra  <alan@linuxcare.com.au>
1951
1952         * elf32-d10v.c: Include elf/d10v.h
1953         (enum reloc_type): Delete.
1954         * elf32-d30v.c: Include elf/d30v.h
1955         (enum reloc_type): Delete.
1956
1957         * Makefile.am: Run "make dep-am" to regenerate dependencies.
1958         * Makefile.in: Regenerate.
1959
1960         * elf32-i386.c (elf_howto_table): Remove EMPTY_HOWTOs.
1961         (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and
1962         move HOWTOs into elf_howto_table.
1963         (R_386_standard, R_386_ext_offset): Define.
1964         (R_386_ext, R_386_vt_offset, R_386_vt): Define.
1965         (elf_i386_reloc_type_lookup): Modify calculation of index into
1966         elf_howto_table since we've removed the padding.
1967         (elf_i386_info_to_howto_rel): Likewise.
1968         (elf_i386_relocate_section): Likewise.
1969
1970 2000-06-06  Michael Snyder  <msnyder@seadog.cygnus.com>
1971
1972         * elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t.
1973
1974 2000-06-05  H.J. Lu  <hjl@gnu.org>
1975
1976         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
1977         an error when seeing an undefined symbol with hidden/internal
1978         attribute. It is handled in *_relocate_section ().
1979
1980 2000-06-05  H.J. Lu  <hjl@gnu.org>
1981
1982         * elflink.h (elf_fix_symbol_flags): Follow the link for the
1983         indirect symbol for the ELF_LINK_NON_ELF bit.
1984         (elf_link_output_extsym): Don't output the indirect symbol even
1985         if the ELF_LINK_NON_ELF bit is set.
1986
1987 2000-06-01  J.T. Conklin  <jtc@redback.com>
1988
1989         * config.bfd (i[3456]86-*-netbsdelf*): New target.
1990         (i[3456]86-*-netbsdaout*): New target.
1991         (i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
1992         (i[3456]86-*-openbsd*): Likewise.
1993
1994 Tue May 30 15:39:04 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1995
1996         * trad-core.c: From hpux-core.c, include <dirent.h> or
1997         <sys/ndir.h> when possible.
1998
1999 2000-05-31  Nick Clifton  <nickc@cygnus.com>
2000
2001         * opintl.h (_(String)): Explain why dgettext is used instead
2002         of gettext.
2003
2004 2000-05-31  Ulrich Drepper  <drepper@redhat.com>
2005
2006         * elf.c (_bfd_elf_slurp_version_tables): Correct reading of version
2007         definitions.  We must not assume they are sorted in the file
2008         according to their index numbers.
2009
2010 2000-05-31  Alan Modra  <alan@linuxcare.com.au>
2011
2012         * elf-hppa.h: (elf_hppa_final_link_relocate): Use e_rsel field
2013         selector for R_PARISC_PCREL17R.  R_PARISC_DIR17R and
2014         R_PARISC_DIR17F are for absolute branches; Handle them as such.
2015
2016 2000-05-30  Nick Clifton  <nickc@cygnus.com>
2017
2018         * cpu-i960.c (scan_960_mach): Accept 80960KA, 80960KB,
2019         80960CA, 80960MC as valid machine names.
2020
2021 2000-05-30  H.J. Lu  <hjl@gnu.org>
2022
2023         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
2024         visibility bits if the symbol is undefined. Correctly handle
2025         weak undefined symbols with hidden and internal attributes.
2026
2027         * elflink.h (elf_link_add_object_symbols): Always turn the
2028         symbol into local if it has the hidden or internal attribute.
2029
2030 2000-05-29  Philip Blundell  <philb@gnu.org>
2031
2032         * ppcboot.c:  Add packed attribute if compiling with GCC.
2033
2034 2000-05-29  Anatoly Vorobey  <mellon@pobox.com>
2035
2036         * elf.c (_bfd_elf_link_hash_table_init): Initialize dynlocal.
2037
2038 2000-05-26  Michael Snyder  <msnyder@seadog.cygnus.com>
2039
2040         * elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus,
2041         elfcore_grok_psinfo): Add code to allow debugging a 32-bit
2042         corefile on a 64-bit (Sparc Solaris) host.  Also clean up
2043         a few old comments.
2044
2045 2000-05-26  Alan Modra  <alan@linuxcare.com.au>
2046
2047         * Makefile.am: Update dependencies with "make dep-am"
2048         * Makefile.in: Regenerate.
2049
2050         * sysdep.h (gettext, dgettext, dcgettext, textdomain,
2051         bindtextdomain): Replace defines with those from intl/libgettext.h
2052         to quieten gcc warnings.
2053
2054 2000-05-26  Eli Zaretskii  <eliz@is.elta.co.il>
2055
2056         * aoutx.h (find_nearest_line): Use IS_ABSOLUTE_PATH.
2057
2058         * archive.c (normalize, bfd_bsd_truncate_arname,
2059         bfd_gnu_truncate_arname) [HAVE_DOS_BASED_FILE_SYSTEM]: Support
2060         file names with backslashes.
2061
2062         * cache.c (bfd_open_file) [__MSDOS__]: Don't unlink the file
2063         before opening it.
2064
2065         * sysdep.h: Include filenames.h.
2066
2067 2000-05-26  Alan Modra  <alan@linuxcare.com.au>
2068
2069         * opncls.c (bfd_close_all_done): Mask file perms with 0777 not 0x777.
2070
2071 2000-05-26  Jakub Jelinek  <jakub@redhat.com>
2072
2073         * elf64-sparc.c (sparc64_elf_relax_section): New.
2074         (sparc64_elf_relocate_section): Optimize tail call into branch always
2075         if possible.
2076         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2077         (elf32_sparc_relax_section): New.
2078
2079 2000-05-26  Jakub Jelinek  <jakub@redhat.com>
2080
2081         * elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters.
2082         Remove unusued variables.
2083         (sparc64_elf_relocate_section): Change r_symndx type to unsigned long.
2084         (sparc64_elf_merge_private_bfd_data): Fix shared library case from
2085         previous fix, so that shared libs really don't influence targets
2086         extension mask and memory model.
2087
2088 2000-05-23  H.J. Lu  <hjl@gnu.org>
2089
2090         * elf64-alpha.c (elf64_alpha_relocate_section): Check
2091         h->root.other not h->other.
2092         * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
2093
2094         * elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
2095
2096 2000-05-23  H.J. Lu  <hjl@gnu.org>
2097
2098         * elf32-i386.c (elf_i386_relocate_section): Don't allow the
2099         undefined symbol with the non-default visibility attributes.
2100         * elf-hppa.h (elf_hppa_relocate_section): Likewise.
2101         * elf32-arm.h (elf32_arm_relocate_section): Likewise.
2102         * elf32-i370.c (i370_elf_relocate_section): Likewise.
2103         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2104         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2105         * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
2106         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2107         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2108         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2109         * elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
2110         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2111
2112 2000-05-22  Richard Henderson  <rth@cygnus.com>
2113
2114         * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI,
2115         PCREL22, PCREL64I.  Zero size of special relocs.
2116         (elf64_ia64_reloc_type_lookup): Likewise.
2117         (USE_BRL, oor_brl, oor_ip): New.
2118         (elf64_ia64_relax_section): New.
2119         (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I.
2120         (elf64_ia64_install_value): Likewise, plus PCREL21BI.
2121         (elf64_ia64_relocate_section): Likewise.
2122         (bfd_elf64_bfd_relax_section): New.
2123         * reloc.c (BFD_RELOC_IA64_PCREL21BI): New.
2124         (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New.
2125         * bfd-in2.h, libbfd.h: Regenerate.
2126
2127 2000-05-22  Nick Clifton  <nickc@cygnus.com>
2128
2129         * configure.in : Add peigen.lo to MIPS PE targets.
2130         * configure: Regenerate.
2131
2132 2000-05-22  Momchil Velikov  <velco@fadata.bg>
2133
2134         * libbfd.c (_bfd_generic_verify_endian_match): Compare endianess
2135         only if it is known for both input and output bfds. Separate
2136         error message strings as in some languages, it may be necessary
2137         to change more than one place in the string to change between
2138         'big' and 'little'.
2139
2140         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove inline
2141         endianess checks, call _bfd_generic_verify_endian_match() instead.
2142
2143         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
2144
2145         * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
2146
2147         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Likewise. Verify
2148         endianess before checking bfd flavours.
2149
2150 2000-05-22  H.J. Lu  <hjl@gnu.org>
2151
2152         * elflink.h (elf_link_output_extsym): Clear the visibility
2153         field for symbols not defined locally.
2154
2155 2000-05-18  Alan Modra  <alan@linuxcare.com.au>
2156
2157         * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
2158         re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
2159         (hppa_rebuild_insn): Mask immediate bits here instead.
2160         * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
2161
2162 2000-05-18  Momchil Velikov <velco@fadata.bg>
2163
2164         * elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting
2165         relocs for an executable, ensure that they are virtual addresses.
2166
2167 Thu May 18 10:55:47 2000  Jeffrey A Law  (law@cygnus.com)
2168
2169         * config.bfd (hppa*64*-*-hpux11*): New target triplet.
2170
2171 2000-05-17  S. Bharadwaj Yadavalli  <sby@scrugs.lkg.dec.com>
2172             Rick Gorton             <gorton@scrugs.lkg.dec.com>
2173
2174         * elflink.h: Add emitrelocations support: when enabled, relocation
2175         information and relocation sections are put into final output
2176         executables.  If the emitrelocations flag is set, do the following:
2177         (elf_bfd_final_link): Emit relocation sections.
2178         (elf_link_input_bfd): Compute relocation section contents.
2179         (elf_gc_sections): Don't clean relocation sections.
2180
2181 2000-05-16  Catherine Moore  <clm@cygnus.com>
2182
2183         * som.c (som_decode_symclass):  Recognize weak symbols.
2184
2185 2000-05-16  Szabolcs Szakacsits <szaka@F-Secure.com>
2186
2187         * peigen.c (pe_print_idata): Undo part of 2000-05-12 change that
2188         read idata section only from dataoff.
2189         (pe_print_edata): Correctly check for valid eat_member.
2190
2191 Tue May 16 00:04:11 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2192
2193         * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
2194
2195 2000-05-14  Philip Blundell  <philb@gnu.org>
2196
2197         * config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets.
2198
2199 2000-05-12  Alan Modra  <alan@linuxcare.com.au>
2200
2201         * targets.c (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec
2202
2203         * peigen.c (pe_print_idata): Look for .idata section and print
2204         info even if data directory has zero entries.  Read idata section
2205         starting from dataoff, and adjust all data offsets to suit.  Cast
2206         all bfd_vma vars to unsigned long before passing to fprintf.
2207         * peigen.c (pe_print_edata): Similarly, look for .edata section
2208         and print info even if data directory has zero entries.  Cast
2209         all bfd_vma vars to unsigned long before passing to fprintf.
2210
2211         From Szabolcs Szakacsits <szaka@F-Secure.com>
2212         * peigen.c (pe_print_idata): Use bfd_section_size rather than data
2213         directory size which may be bogus.
2214         * peigen.c (pe_print_edata): Similarly.
2215
2216 2000-05-09  Alan Modra  <alan@linuxcare.com.au>
2217
2218         * elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela
2219         section is empty.
2220         (copy_private_bfd_data): Allow for space possibly taken up by elf
2221         headers when calculating segment physical address from lma.
2222
2223 2000-05-08  Alan Modra  <alan@linuxcare.com.au>
2224
2225         * versados.c (versados_scan): Init stringlen and pass_2_done.
2226
2227         * trad-core.c (trad_unix_core_file_p): Return
2228         bfd_error_wrong_format rather than bfd_error_file_truncated.
2229
2230         * peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to
2231         add_data_entry.  DataDirectory virtual address is relative.
2232         (pe_print_idata): Account for relative DataDirectory virtual
2233         addresses.  Don't trash datasize inside POWERPC_LE_PE code.
2234         (pe_print_edata): Similarly.
2235
2236         From Szabolcs Szakacsits <szaka@F-Secure.com>
2237         * peigen.c (dir_names): Add Delay Import Directory.
2238         (pe_print_idata):  Always search for bfd section containing
2239         idata address rather than looking up section name.  Print this
2240         section name rather than .idata.
2241         (pe_print_edata): Similarly.  Also print some fields as %08lx.
2242         (_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as
2243         Win32Version.
2244
2245 Fri May  5 20:44:40 2000  Clinton Popetz  <cpopetz@cygnus.com>
2246
2247         * xcoff.h: Rename to xcoff-target.h
2248         * Makefile.am: Change all instances of xcoff.h to xcoff-target.h
2249         * coff-rs6000.c: Ditto.
2250         * coff64-rs6000.c: Ditto.
2251         * coff-pmac.c: Ditto.
2252         * Makefile.in: Regenerate.
2253
2254 Fri May  5 16:51:03 2000  Clinton Popetz  <cpopetz@cygnus.com>
2255
2256         * coffcode.h (coff_set_arch_mach_hook, coff_set_flags):
2257         Change U802TOC64MAGIC to U803XTOCMAGIC.
2258
2259 2000-05-04  Michael Snyder  <msnyder@seadog.cygnus.com>
2260
2261         * elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1.
2262         * bfd-in.h: Prototype bfd_elf_get_arch_size.
2263         * bfd-in2.h: Prototype bfd_elf_get_arch_size.
2264
2265 2000-05-04  Alan Modra  <alan@linuxcare.com.au>
2266
2267         * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma.
2268
2269 2000-05-03  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
2270
2271         * elflink.h (elf_link_add_object_symbols): Reset dynindx for
2272         hidden and internal symbols.
2273         (elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with
2274         visibility.
2275         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not
2276         assign a PLT or GOT entry to symbols with hidden and
2277         internal visibility.
2278
2279 2000-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
2280
2281         * bfd/coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for
2282         the .bss section.
2283         * bfd/coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2284
2285 2000-05-02  H.J. Lu  <hjl@gnu.org>
2286
2287         * elf.c (prep_headers): Use ELFOSABI_NONE instead of
2288         ELFOSABI_SYSV.
2289
2290 2000-05-02  Alan Modra  <alan@linuxcare.com.au>
2291
2292         * targets.c (bfd_target_vector): Restore bfd_elf32_hppa_vec.
2293         * Makefile.am (BFD32_BACKENDS): Restore elf32-hppa.lo.  Regenerate
2294         dependencies.
2295         * Makefile.in: Regenerate.
2296
2297 Mon May  1 16:56:47 2000  Jim Wilson  <wilson@cygnus.com>
2298
2299         * Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo.
2300         (BFD32_BACKENDS_CFILES): Add efi-app-ia32.c.
2301         (BFD64_BACKENDS): Delete coff-ia64.lo.  Add efi-app-ia64.lo.
2302         (BFD64_BACKENDS_CFILES): Delete coff-ia64.c.  Add efi-app-ia64.c.
2303         * Makefile.in: Rebuild.
2304
2305 2000-05-02  Alan Modra  <alan@linuxcare.com.au>
2306
2307         * config.bfd: Re-enable elf32-hppa.  It now compiles, even if it
2308         doesn't work very well.
2309
2310         * elf-hppa.h (elf_hppa_internal_shdr): Define.
2311         (elf_hppa_fake_sections): hdr is elf_hppa_internal_shdr.
2312         Set hdr->s_type to 1 if ARCH_SIZE == 32.
2313         (_bfd_elf_hppa_gen_reloc_type): Add prototype.
2314         (elf_hppa_info_to_howto): Likewise.
2315         (elf_hppa_info_to_howto_rel): Likewise.
2316         (elf_hppa_reloc_type_lookup): Likewise.
2317         (elf_hppa_is_local_label_name): Likewise.
2318         (elf_hppa_fake_sections): Likewise.
2319         (elf_hppa_final_write_processing): Likewise.
2320         (elf_hppa_howto_table): Fully initialise all entries.
2321         (_bfd_elf_hppa_gen_reloc_type): Add ATTRIBUTE_UNUSED to args.
2322         (elf_hppa_info_to_howto): Likewise.
2323         (elf_hppa_info_to_howto_rel): Likewise.
2324         (elf_hppa_reloc_type_lookup): Likewise.
2325         (elf_hppa_final_write_processing, elf_hppa_add_symbol_hook,
2326         elf_hppa_unmark_useless_dynamic_symbols,
2327         elf_hppa_remark_useless_dynamic_symbols,
2328         elf_hppa_record_segment_addrs, elf_hppa_final_link,
2329         elf_hppa_relocate_section, elf_hppa_final_link_relocate,
2330         elf_hppa_relocate_insn): Compile only if ARCH_SIZE == 64 until
2331         elf32-hppa.c mess is cleaned up.
2332         (elf_hppa_final_link_relocate): Make insn and r_type unsigned
2333         int.  Delete r_field.  In case R_PARISC_PCREL21L, don't set
2334         r_field then call hppa_field_adjust inline func with variable
2335         r_field arg, instead call hppa_field_adjust with fixed arg.
2336         In case R_PARISC_PCREL22F, don't set r_field.
2337         (elf_hppa_relocate_insn): Change args and return type to unsigned
2338         int.  Call re_assemble_* funcs to do the work.
2339
2340         * elf32-hppa.c (hppa_elf_relocate_insn): Don't assume 32 bit when
2341         sign extending.
2342
2343         * libhppa.h (HPPA_R_CONSTANT): Don't assume 32 bit when sign
2344         extending.
2345         (sign_extend): Mask first before sign extending.
2346         (low_sign_extend): Rewrite without condition expression.
2347         (ones, dis_assemble_3, dis_assemble_12, dis_assemble_16,
2348         dis_assemble_17, dis_assemble_21, dis_assemble_22): Delete.
2349         (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
2350         assemble_17, assemble_21, sign_unext, low_sign_unext): Return
2351         result as function return value rather than through pointer arg.
2352         Accept unsigned int args, and return unsigned int.
2353         (re_assemble_3): New.  Combines function of dis_assemble_3 with
2354         re-assembly of opcode and immediate.
2355         (re_assemble_12): Likewise.
2356         (re_assemble_16): Likewise.
2357         (re_assemble_17): Likewise.
2358         (re_assemble_21): Likewise.
2359         (re_assemble_22): Likewise.
2360         (hppa_field_adjust): Rewrite and document, paying attention to
2361         size of types and signed/unsigned issues.
2362         (get_opcode): Shift before masking.
2363         (FDLW): Rename to FLDW.
2364         (bfd_hppa_insn2fmt): Change arg to unsigned int.  Delete fmt.
2365         (hppa_rebuild_insn): Change args and return value to unsigned
2366         int.  Make use of re_assemble_*.  Correct case 11.
2367
2368         * dep-in.sed: Handle ../opcodes/.
2369         * Makefile.am (SOURCE_HFILES): Add elf-hppa.h, elf32-hppa.h,
2370         elf64-hppa.h, hppa_stubs.h, xcoff.h.
2371         (BFD32_BACKENDS_CFILES): Restore elf32-hppa.c.
2372         Remove elf64-hppa.lo, cpu-ia64.lo, elf64-ia64.lo, elfarm-oabi.lo,
2373         elfarm-nabi.lo dependencies outside of auto-dependency area.
2374         Regenerate dependencies.
2375         * Makefile.in: Regenerate.
2376
2377         * configure.in (TRAD_HEADER): Test non-null before
2378         AC_DEFINE_UNQUOTED.
2379         * configure: Regenerate.
2380
2381         * reloc.c: Fix mis-spelling in comment.
2382
2383 2000-05-01  Alan Modra  <alan@linuxcare.com.au>
2384
2385         * coff-sh.c (bfd_coff_small_swap_table): Fix Fri Apr 28 change.
2386         * vms.c (vms_openr_next_archived_file): Return NULL.
2387
2388 Fri Apr 28 21:34:44 2000  Clinton Popetz  <cpopetz@cygnus.com>
2389
2390         * coffcode.h Copy changes mistakenly done to libcoff.h in
2391         4/24/2000 patch.
2392
2393 2000-04-29  Andreas Jaeger  <aj@suse.de>
2394
2395         * libbfd-in.h: Correctly check GCC version.
2396         * bfd-in.h: Likewise.
2397         * libhppa.h: Likewise.
2398         * libbfd.h: Regenerate.
2399         * bfd-in2.h: Regenerate.
2400
2401 Fri Apr 28 14:58:37 2000  Clinton Popetz  <cpopetz@cygnus.com>
2402
2403         * Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add
2404         coffdu-rs6000.{lo,c}.
2405         (coff-pmac.lo, coff-rs6000.lo, coff64-rs6000.lo): Add dependency
2406         on xcoff.h
2407         * Makefile.in: Regenerate.
2408         * xcoff.h: New file.
2409         * coff-pmac.c: Use xcoff.h instead of coff-rs6000.c.
2410         * coff-rs6000.c: Move all declarations and defines that are
2411         common to the xcoff backends into xcoff.h
2412         * coff64-rs6000.c: Ditto,
2413
2414 Fri Apr 28 08:35:21 2000  Clinton Popetz  <cpopetz@cygnus.com>
2415
2416         * coff-mips.c (mips_ecoff_backend_data):  Add initialization of
2417         _bfd_coff_force_symnames in strings and
2418         _bfd_coff_debug_string_prefix_length to their default values.
2419         * coff-sh.c: (bfd_coff_small_swap_table): Ditto.
2420
2421 Fri Apr 28 08:05:12 2000  Clinton Popetz  <cpopetz@cygnus.com>
2422
2423         * coff-alpha.c (alpha_ecoff_backend_data): Add initialization of
2424         _bfd_coff_force_symnames in strings and
2425         _bfd_coff_debug_string_prefix_length to their default values.
2426
2427 2000-04-27  Alan Modra  <alan@linuxcare.com.au>
2428
2429         * elf32-m68k.c (elf_m68k_gc_sweep_hook):  Return if dynobj NULL.
2430         Check local_got_refcounts before dereferencing.
2431
2432         * elf32-ppc.c (ppc_elf_relocate_section): Check splt != NULL
2433         before deciding we don't need R_PPC_PLT32 relocation.
2434         (ppc_elf_gc_sweep_hook): Check local_got_refcounts before
2435         dereferencing.
2436
2437         * elflink.h (elf_gc_common_finalize_got_offsets): Fix comment.
2438
2439         * elf32-i386.c (elf_i386_check_relocs): Reference count .got and
2440         .plt entries.
2441         (elf_i386_gc_sweep_hook): Garbage collect .got and .plt entries.
2442         (elf_i386_adjust_dynamic_symbol): Recognize unused .plt entries.
2443         (elf_i386_relocate_section): Allow for .plt to go missing.
2444         (elf_i386_finish_dynamic_symbol): Use same test to decide if we
2445         can use a relative reloc for got as elf_i386_relocate_section.
2446         (bfd_elf32_bfd_final_link): Define to use gc form of final link.
2447
2448 Wed Apr 26 16:31:28 2000  Clinton Popetz  <cpopetz@cygnus.com>
2449
2450         * config.bfd: Remove extraneous bfd_powerpc_64_arch.
2451
2452 Mon Apr 24 15:20:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
2453
2454         * Makefile.am (coff64-rs6000.lo): New rule.
2455         * Makefile.in: Regenerate.
2456         * coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
2457         xcoff_is_local_label_name, xcoff_rtype2howto,
2458         xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
2459         xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
2460         xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
2461         (NO_COFF_SYMBOLS): Define.
2462         (xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
2463         xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
2464         internally.
2465         (MINUS_ONE): New macro.
2466         (xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
2467         relocation.
2468         (coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
2469         coff_SWAP_aux_out): Map to the new functions.
2470         * coff64-rs6000.c: New file.
2471         * libcoff.h (bfd_coff_backend_data): Add new fields
2472         _bfd_coff_force_symnames_in_strings and
2473         _bfd_coff_debug_string_prefix_length.
2474         (bfd_coff_force_symnames_in_strings,
2475         bfd_coff_debug_string_prefix_length): New macros for above fields.
2476         * coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
2477         Set machine to 620 for XCOFF64.  Use bfd_coff_swap_sym_in instead
2478         of using coff_swap_sym_in directly.
2479         (FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
2480         (coff_set_flags) Set magic for XCOFF64.
2481         (coff_compute_section_file_positions): Add symbol name length to
2482         string section length if bfd_coff_debug_string_prefix_length is
2483         true.
2484         (coff_write_object_contents): Don't do reloc overflow for XCOFF64.
2485         (coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
2486         using coff_swap_lineno_in directly.
2487         (bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
2488         and _bfd_coff_debug_string_prefix_length fields.
2489         * coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
2490         symbol names into strings table when
2491         bfd_coff_force_symnames_in_strings is true.
2492         * coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
2493         SET_RELOC_VADDR): New macros.
2494         (coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
2495         (coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
2496         code.
2497         (coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
2498         changes within RS6000COFF_C specific code.
2499         (coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
2500         MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
2501         * reloc.c (bfd_perform_relocation, bfd_install_relocation):
2502         Extend existing hack on target name.
2503         * xcofflink.c (XCOFF_XVECP): Extend existing hack on
2504         target name.
2505         * coff-tic54x.c (ticof): Keep up to date with new fields
2506         in bfd_coff_backend_data.
2507         * config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
2508         targ_selvecs to include rs6000coff64_vec for rs6000.
2509         * configure.in: Add rs6000coff64_vec case.
2510         * cpu-powerpc.c: New bfd_arch_info_type.
2511
2512 Mon Apr 24 02:17:31 2000  Jeffrey A Law  (law@cygnus.com)
2513
2514         * config.bfd: Only disable elf32-hppa vectors, not all of the
2515         BSD and OSF configuration support.  Provide (disabled) clauses
2516         for PA64 support.
2517         * configure.in: Add clause for PA64 support.
2518         * configure: Rebuilt.
2519
2520         * targets.c (bfd_target_vector): Add bfd_elf64_hppa_vec.
2521         (bfd_elf64_hppa_vec): Declare.
2522
2523         * Makefile.am (BFD64_BACKENDS): Add elf64-hppa.lo
2524         (BFD64_BACKENDS_CFILES): Add elf64-hppa.c
2525         (elf64-hppa.lo): Add dependencies.
2526         * Makefile.in: Rebuilt.
2527
2528         * elf64-hppa.c, elf64-hppa.h: New files with PA64 support.
2529
2530 Mon Apr 24 02:14:29 2000  Jason Eckhardt  <jle@cygnus.com>
2531
2532         * libhppa.h (dis_assemble_16): New function.
2533         (pa_arch): Added pa20w element.
2534
2535 Mon Apr 24 01:49:03 2000  Ulrich Drepper  <drepper@cygnus.com>
2536
2537         * elf-bfd.h: Add prototypes for bfd_elf32_write_relocs,
2538         bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and
2539         bfd_elf64_slurp_reloc_table.
2540
2541         * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New
2542         definitions to get external names.
2543         (elf_write_relocs): Renamed from write_relocs and make global.
2544         (elf_slurp_reloc_table): Make global.
2545         (_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs.
2546
2547         * archive.c (hpux_uid_gid_encode): New function.
2548         (bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is
2549         defined and the ID is greater than 99999.
2550         (bfd_generic_stat_arch_elt): If HPUX_LARGE_AR_IDS is defined decode
2551         special uid/gid fields into 32 bit values.
2552
2553 2000-04-21  Matthew Green  <mrg@cygnus.com>
2554
2555         * config.bfd: Add NetBSD/sparc64 support.
2556
2557 Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
2558                           David Mosberger  <davidm@hpl.hp.com>
2559                           Timothy Wall <twall@cygnus.com>
2560                           Jim Wilson  <wilson@cygnus.com>
2561
2562         * Makefile.am (ALL_MACHINES): Add cpu-ia64.lo.
2563         (ALL_MACHINES_CFILES): Add cpu-ia64.c.
2564         (BFD64_BACKENDS): Add elf64-ia64.lo.
2565         (BFD64_BACKENDS_CFILES): Add elf64-ia64.c.
2566         (cpu-ia64.lo, elf64-ia64.lo): New rules.
2567         * Makefile.in: Rebuild.
2568         * archures.c (enum bfd_architecture): Add bfd_arch_ia64.
2569         (bfd_ia64_arch): Declare.
2570         (bfd_archures_list): Add bfd_ia64_arch.
2571         * bfd-in2.h: Rebuild.
2572         * config.bfd: (ia64*-*-linux-gnu*, ia64*-*-elf*): New targets.
2573         * configure: Rebuild.
2574         * configure.host: (ia64-*-linux*): New host.
2575         * configure.in (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec,
2576         bfd_efi_app_ia64_vec, bfd_efi_app_ia64_vec): New vectors.
2577         * elf.c (prep_headers): Add bfd_arch_ia64.
2578         * libbfd.h: Rebuild.
2579         * reloc.c: Add IA-64 relocations.
2580         * targets.c (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec):
2581         Declare.
2582         (bfd_target_vect): Add bfd_elf64_ia64_little_vec.
2583         * cpu-ia64-opc.c, cpu-ia64.c, elf64-ia64.c: New files.
2584
2585 2000-04-21  Richard Henderson  <rth@cygnus.com>
2586
2587         * elf32-d30v.c (bfd_elf_d30v_reloc): Don't modify section
2588         contents when performing a partial link.
2589         (bfd_elf_d30v_reloc_21): Likewise.
2590
2591 2000-04-20  H.J. Lu  <hjl@gnu.org>
2592
2593         * elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10
2594         patch to symbols defined by a shared object.
2595         * elf32-ppc.c (ppc_elf_relocate_section): Similarly.
2596
2597 2000-04-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2598
2599         K&R compiler fixes.
2600         * dwarf2.c (concat_filename): Avoid string literal concatenation.
2601         * ieee.c (ieee_get_symtab): Don't initialise union in struct.
2602
2603 Mon Apr 17 19:14:36 2000  David Mosberger  <davidm@hpl.hp.com>
2604
2605         * Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo.
2606         (BFD64_BACKENDS_CFILES): Mention coff-ia64.c
2607         (coff-ia64.lo): Add dependency.
2608         * Makefile.in: Regenerate.
2609         * coff-ia64.c: New file.
2610         * efi-app-ia32.c: Ditto.
2611         * efi-app-ia64.c: Ditto.
2612         * coffcode.h (coff_set_arch_mach_hook): Handle IA64MAGIC.
2613         (coff_set_flags): Ditto.
2614         (coff_write_object_contents) [IA64]: Set magic number to ZMAGIC.
2615         * config.bfd (i[3456]86-*-linux-gnu*): Mention bfd_efi_app_ia32_vec.
2616         * configure.in (elf): Handle bfd_efi_app_ia32 and bfd_efi_app_ia64_vec.
2617         * configure: Regenerate.
2618         * libpei.h (GET_OPTHDR_IMAGE_BASE): New macro.
2619         (PUT_OPTHDR_IMAGE_BASE): Ditto.
2620         (GET_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
2621         (PUT_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
2622         (GET_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
2623         (PUT_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
2624         (GET_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
2625         (PUT_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
2626         (GET_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
2627         (PUT_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
2628         (GET_PDATA_ENTRY): Ditto.
2629         * peigen.c (_bfd_pei_swap_aouthdr_in) [COFF_WITH_PEP64]: Don't read
2630         data_start.  Use above macros to read fields that are 64 bit wide for
2631         COFF_WITH_PEP64.  Don't truncate entry and text_start to 32 bits.
2632         (_bfd_pei_swap_aouthdr_out) [PEI_FORCE_MINIMUM_ALIGNMENT]: Force
2633         FileAlignment and SectionAlignment to minimum alignment if they
2634         are zero.
2635         (_bfd_pei_swap_aouthdr_out) [PEI_DEFAULT_TARGET_SUBSYSTEM]: Set
2636         Subsystem to default PEI_DEFAULT_TARGET_SUBSYSTEM.
2637         (_bfd_pei_swap_aouthdr_out) [COFF_WITH_PEP64]: Don't set data_start.
2638         Use above macros to write fields that are 64 bit wide for
2639         COFF_WITH_PEP64.
2640         (pe_print_pdata): Set PDATA_ROW_SIZE to 3*8 for COFF_WITH_PEP64,
2641         5*4 otherwise.  This should be right for IA-32 and IA-64, but may
2642         be wrong for platforms.  Use PDATA_ROW_SIZE instead of hardcoded
2643         value of 20 bytes.  Modify printing for COFF_WITH_PEP64 to print
2644         begin address, end address, and unwind info address only.  Use
2645         GET_PDATA_ENTRY() to read .pdata entries.  Use fprintf_vma() to
2646         print addresses.
2647         (tbl): Add SECTION, REL32, RESERVED1, MIPS_JMPADDR16, DIR64, and
2648         HIGH3ADJ relocation names.
2649         (_bfd_pe_print_private_bfd_data): Print Subsystem name in legible form.
2650         * targets.c: Declare bfd_efi_app_ia32_vec and
2651         bfd_efi_app_ia64_vec.
2652         (bfd_target_vector): Mention bfd_efi_app_ia32_vec and
2653         bfd_efi_app_ia64_vec.
2654
2655 2000-04-17  Timothy Wall  <twall@cygnus.com>
2656
2657         * bfd-in2.h: Add prototypes for tic54x load page access.
2658         * bfd-in.h: Regenerate.
2659         * coff-tic54x.c: Add load page functions; allow bfd_arch_unknown
2660         in customized _set_arch_mach function.
2661         * coffcode.h (coff_set_alignment_hook): Set section load page if
2662         the appropriate macro is defined.
2663         (write_object_contents): Read section load page.
2664
2665 2000-04-13  Alan Modra  <alan@linuxcare.com.au>
2666
2667         * elf32-hppa.h: Update copyright date.
2668
2669         * elf32-fr30.c (fr30_elf_i20_reloc): Don't use U suffix.
2670         * elf32-mips.c (_bfd_mips_elf_relocate_section): And here.
2671
2672         * elf32-d30v.c (MAX32): Don't use LL suffix.
2673         (MIN32): Define in terms of MAX32.
2674         (bfd_elf_d30v_reloc): Make relocation a bfd_signed_vma.
2675
2676         * coff-a29k.c (SIGN_EXTEND_HWORD): Replace with more concise
2677         expression.
2678
2679         * peicode.h (pe_ILF_build_a_bfd): Remove UL from hex constants.
2680
2681 2000-04-12  Alan Modra  <alan@linuxcare.com.au>
2682
2683         * dep-in.sed: Match space before file name, not after.
2684         * Makefile.am: Regenerate dependencies.
2685         * Makefile.in: Regenerate.
2686
2687         * reloc.c (_bfd_relocate_contents): In complain_overflow_bitfield
2688         case, allow address wrap-around stupidly removed 2000-03-17.  Sign
2689         extend without an if statement.
2690
2691 2000-04-11  Alan Modra  <alan@linuxcare.com.au>
2692
2693         * coff-mips.c (mips_gprel_reloc): Test for 16 bit range using
2694         signed quantites.
2695         * elf32-mips.c (gprel16_with_gp): Likewise.
2696         * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Test range
2697         here using -0x40000, not (int)0xfffc0000.
2698         (elf32_hppa_size_of_stub): Likewise.
2699
2700 2000-04-11  Timothy Wall  <twall@cygnus.com>
2701
2702         * coff-tic54x.c: Now builds with all targets.
2703         * Makefile.am: Add coff/tic54x.h to coff-tic54x.o dependencies.
2704         * Makefile.in: Regenerate.
2705         * coffcode.h (coff_set_arch_mach_hook): Eliminate warning on
2706         unitialized variable.
2707
2708 Fri Apr  7 15:56:57 2000  Andrew Cagney  <cagney@b1.cygnus.com>
2709
2710         * configure.in (WARN_CFLAGS): Set to -W -Wall by default.  Add
2711         --enable-build-warnings option.
2712         * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
2713         * Makefile.in, configure: Re-generate.
2714
2715 2000-04-07  Nick Clifton  <nickc@cygnus.com>
2716
2717         * reloc.c: Add BFD_RELOC_ARM_PCREL_BLX and
2718         BFD_RELOC_THUMB_PCREL_BLX.
2719
2720         * elf32-arm.h (elf32_arm_final_link_relocate): Handle
2721         R_ARM_XPC25 and R_ARM_THM_PC22.
2722
2723         * elfarm-nabi.c (elf32_arm_howto_): Fix definitions of
2724         R_ARM_XPC25 and R_ARM_THM_XPC22.
2725         (elf32_arm_reloc_map): Make BFD_RELOC_{ARM|THUMB}_PCREL_BLX to
2726         R_ARM_[XPC25|THM_XPC22].
2727
2728         * elfarm-oabi.c: Define OLD_ARM_ABI and change include from
2729         elf/arm-oabi.h to elf/arm.h
2730
2731         * Makefile.am: Fix dependency for elfarm-oabi.c
2732         * Makefile.in: Regenerate.
2733
2734         * bfd-in2.h: Regenerate.
2735         * libbfd.h: Regenerate.
2736
2737 2000-04-06  Michael Snyder  <msnyder@seadog.cygnus.com>
2738
2739         * elfcore.h (elf_core_file_p): preserve value of tdata at entry,
2740         and restore it on failure.  Release newly allocated tdata on
2741         failure.
2742
2743 Fri Apr  7 11:33:47 2000  Jim Wilson  <wilson@cygnus.com>
2744
2745         * dwarf2.c (struct dwarf2_debug): New field dwarf_line_size.
2746         (decode_line_info): Set it.  Report error if unit->line_offset is
2747         equal to or larger than it.
2748
2749 2000-04-07  Timothy Wall  <twall@cygnus.com>
2750
2751         * targets.c: Added vecs for tic54x.
2752         * reloc.c: Added relocs for tic54x.
2753         * libbfd.h: Regenerated.
2754         * configure: Add TI COFF vecs for tic54x.
2755         * configure.in: Ditto.
2756         * config.bfd (targ_cpu): Recognize new tic54x target.
2757         * coffcode.h (coff_slurp_symbol_table): Additions for TI COFF handling.
2758         * bfd-in2.h: Add tic54x target and relocations.
2759         * Makefile.am, Makefile.in: Add tic54x target.
2760         * archures.c (bfd_archures_list): Add tic54x target.
2761         * coff-tic54x.c: New.
2762         * cpu-tic54x.c: New.
2763
2764 2000-04-06  Michael Snyder  <msnyder@seadog.cygnus.com>
2765
2766         * elfcore.h (elf_core_file_p): call backend_object_p which
2767         thereby gets an opportunity to update the arch/machine type.
2768
2769 2000-04-06  Timothy Wall  <twall@cygnus.com>
2770
2771         * coffcode.h (coff_slurp_symbol_table): Handle C_STATLAB storage
2772         class.  Handle SEC_CLINK and SEC_BLOCK flags.
2773         * section.c: Add SEC_CLINK and SEC_BLOCK flags.
2774         * bfd-in2.h: Add SEC_CLINK and SEC_BLOCK flags.
2775
2776 2000-04-06  Nick Clifton  <nickc@cygnus.com>
2777
2778         * elf32-arm.h (elf32_arm_set_private_flags): Only check for
2779         EF_INTERWORK if this is an unknown EABI.
2780         (elf32_arm_merge_private_bfd_data): Check EABI version
2781         numbers.  Only check EF_xxx flags if the EABI version number
2782         is unknown.
2783         (elf32_arm_check_private_bfd_data): Only check EF_xxx flags
2784         if the EABI version number is unknown.
2785         (elf32_arm_print_private_bfd_data): Only decode EF_xxx flags
2786         if the EABI version number is unknown.
2787
2788 Wed Apr  5 22:04:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2789
2790         * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
2791         BFD_RELOC_SH_LOOP_END.
2792         * elf32-sh.c (sh_elf_howto_tab): Change special_func to
2793         sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
2794         Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
2795         (sh_elf_reloc_loop): New function.
2796         (sh_elf_reloc): No need to test for always-to-be-ignored relocs
2797         any more.
2798         (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
2799         (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
2800         * bfd-in2.h, libbfd.h: Regenerate.
2801
2802 2000-04-04  Alan Modra  <alan@linuxcare.com.au>
2803
2804         * po/bfd.pot: Regenerate.
2805
2806         * Makefile.am: Remove extraneous mkdep comment.
2807         (MKDEP): Use gcc -MM rather than mkdep.
2808         (DEP): Quote when passing vars to sub-make.  Add warning
2809         message to end.
2810         (DEP1): Rewrite for "gcc -MM".
2811         (CLEANFILES): Add DEP2.
2812         Update dependencies.
2813         * Makefile.in: Regenerate.
2814
2815 2000-04-03  Kevin Buettner  <kevinb@redhat.com>
2816
2817         * configure.in: Added corefile support for AIX 4.3.  In particular,
2818         AIX_CORE_DUMPX_CORE will be defined in addition to AIX_CORE when
2819         compiling rs6000-core.c.
2820         * configure: Regenerated.
2821
2822 2000-04-03  H.J. Lu  <hjl@gnu.org>
2823
2824         * cache.c (bfd_open_file): Unlink the output file only if
2825         it has non-zero size.
2826
2827 2000-04-01  Ken Block USG  <block@zk3.dec.com>
2828
2829         * elf64-alpha.c (elf64_alpha_relocate_section): Don't emit
2830         relative relocations for non-loaded sections in shared objects.
2831         (elf64_alpha_check_relocs): Similarly.
2832
2833 Mon Apr  3 13:37:15 2000  Hans-Peter Nilsson  <hp@axis.com>
2834
2835         * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
2836         BFD_RELOC_16 to switch for extended relocs.
2837         (MY_swap_ext_reloc_in): New.
2838         (MY_swap_ext_reloc_out): New.
2839         (NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather
2840         than NAME(aout,swap_ext_reloc_in) for extended relocs.
2841         (NAME(aout,squirt_out_relocs)): Similarly use
2842         MY_swap_ext_reloc_out.
2843         (aout_link_reloc_link_order): Use MY_put_ext_reloc if defined.
2844
2845 2000-04-03  Kazu Hirata  <kazu@hxi.com>
2846
2847         * coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to
2848         the R_PCRWORD_B case.
2849
2850 2000-03-31  Thomas de Lellis  <tdel@wrs.com>
2851
2852         * srec.c : Set CHUNK size to 16 bytes to prevent download failures
2853         on some targets.
2854         * ihex.c : Ditto.
2855
2856 Wed Mar 30 15:28:00 2000  Donald Lindsay  <dlindsay@cygnus.com>
2857
2858         * elf32-m32r.c (m32r_elf_generic_reloc): new function.  All
2859         HOWTO references to bfd_elf_generic_reloc, that have
2860         partial_inplace == true, now use the new function.  The function
2861         is based on the recent rewrite of m32r_elf_lo16_reloc(), and
2862         extends its fixes to the R_M32R_{16,24,32} relocs.
2863         The new logic in m32r_elf_lo16_reloc() has been removed, and
2864         it instead calls the new routine to obtain that functionality.
2865
2866 2000-03-27  Alan Modra  <alan@linuxcare.com.au>
2867
2868         * elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook,
2869         elf32_avr_check_relocs, avr_final_link_relocate,
2870         elf32_avr_relocate_section, bfd_elf_avr_final_write_processing,
2871         elf32_avr_object_p): Add prototypes.
2872         (elf32_avr_gc_mark_hook): Add default for h->root.type.
2873         (bfd_elf_avr_final_write_processing): Make static.
2874
2875 2000-03-27  Denis Chertykov  <denisc@overta.ru>
2876
2877         * cpu-avr.c: New file.  BFD support routines for AVR architecture.
2878         * archures.c (bfd_architecture): Add AVR architecture.
2879         (bfd_archures_list): Add reference to AVR architecture info.
2880         * elf.c (prep_headers): Handle bfd_arch_avr.
2881         * reloc.c: Add various AVR relocation enums.
2882         * targets.c (bfd_elf32_avr_vec): Declare and add to target vector
2883         list.
2884         * Makefile.am: Add support for AVR elf.
2885         * configure.in: Likewise.
2886         * config.bfd: Likewise.
2887         * Makefile.in: Regenerate.
2888         * configure: This too.
2889         * bfd-in2.h: And this.
2890         * libbfd.h: And this.
2891
2892 2000-03-24  H.J. Lu  <hjl@gnu.org>
2893
2894         * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype.
2895         (elf64_alpha_find_reloc_at_ofs): Likewise.
2896
2897 2000-03-17  Alan Modra  <alan@linuxcare.com.au>
2898
2899         * reloc.c (bfd_check_overflow): In case complain_overflow_bitfield,
2900         flag an overflow if the bitfield is outside -2**n to 2**n-1.  The
2901         allowable range used to be -2**(n-1) to 2**n-1.
2902         * reloc.c (_bfd_relocate_contents): Same here.  Also replace
2903         "boolean overflow" with "bfd_reloc_status_type flag".
2904
2905 2000-03-14  Doug Evans  <dje@casey.transmeta.com>
2906
2907         * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite.
2908
2909 2000-03-14  Kazu Hirata  <kazu@hxi.com>
2910
2911         * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number
2912         of shrinks properly, including the last reloc.
2913
2914 2000-03-13  Kazu Hirata  <kazu@hxi.com>
2915
2916         * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
2917         check for R_MOVL2.
2918
2919 2000-03-11  Alan Modra  <alan@linuxcare.com.au>
2920
2921         * ieee.c (ieee_archive_p): Return bfd_error_wrong_format on
2922         a format mismatch rather than an "error" from bfd_read such as
2923         bfd_error_file_truncated.
2924
2925 2000-03-10  Geoff Keating  <geoffk@cygnus.com>
2926
2927         * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper
2928         sign-extension and big-endian compensation for
2929         R_MIPS_64 even in ld -r.
2930
2931 2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>
2932
2933         * elf32-mips.c (mips_elf_next_relocation): Rename from
2934         mips_elf_next_lo16_relocation, and generalize to look
2935         for any relocation type.
2936         (elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
2937         (elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
2938         (elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
2939         (elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
2940         (elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
2941         (elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
2942         (bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
2943         (mips_rtype_to_howto): Likewise.
2944         (mips_elf_calculate_relocation): Handle new relocs.
2945         (_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
2946         are paired.  The addend for R_MIPS_GNU_REL16_S2
2947         is shifted right two bits.
2948
2949 2000-03-10  Alan Modra  <alan@linuxcare.com.au>
2950
2951         * reloc.c (bfd_perform_relocation): Undo emacs formatting of
2952         comment, and ensure it doesn't happen again.
2953         (bfd_install_relocation): Same here.
2954         (_bfd_relocate_contents): Don't bother assigning unused signmask
2955         shift result.  Fix typos in comments.
2956         Remove trailing whitespace throughout file.
2957
2958 2000-03-07  Doug Evans  <dje@casey.transmeta.com>
2959
2960         * reloc.c (reloc_howto_struct): Fix partial_inplace comment.
2961         * bfd-in2.h: Rebuild.
2962
2963 2000-03-06  Nick Clifton  <nickc@cygnus.com>
2964
2965         * peicode.h (struct pe_ILF_vars): Add sym_ptr_table and
2966         sym_ptr_ptr fields.
2967         (SIZEOF_ILF_SYM_PTR_TABLE): Define.
2968         (SIZEOF_ILF_STRINGS): Redefine.
2969         (pe_ILF_make_a_symbol-reloc): New function.  Creates a symbol
2970         relative reloc, as opposed to a section relative reloc.
2971         (pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT
2972         not C_LABEL.
2973         Add length of symbol's prefix to string pointer.
2974         Store a pointer to the symbol in the symbol pointer table.
2975         (pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7.
2976         Initialise the symbol pointer table.
2977         Store the hint in the Hint/Name table.
2978         Make the jump reloc be symbol realtive, not section relative.
2979         Create an import symbol for imported code.
2980
2981 2000-03-06  Catherine Moore  <clm@cygnus.com>
2982
2983         * elf.c (swap_out_syms):  Check for null type_ptr.
2984
2985 2000-03-01  Hans-Peter Nilsson  <hp@axis.com>
2986
2987         * aout-target.h (MY(write_object_contents)): Remove unused
2988         and unusable "#if CHOOSE_RELOC_SIZE".
2989         * pc532-mach.c (MY(write_object_contents)): Ditto.
2990         * netbsd.h (MY(write_object_contents)): Ditto.
2991         * hp300hpux.c (MY(write_object_contents)): Ditto.
2992         * freebsd.h (MY(write_object_contents)): Ditto.
2993         * aout-tic30.c (tic30_aout_write_object_contents): Ditto.
2994
2995 2000-02-29  H.J. Lu  <hjl@gnu.org>
2996
2997         * peicode.h (jtab): Make it static.
2998
2999         * coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is
3000         defined and COFF_IMAGE_WITH_PE is not defined.
3001         (_bfd_sh_align_load_span): Defined as sh_align_load_span if
3002         COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined.
3003
3004 2000-03-01  Nick Clifton  <nickc@cygnus.com>
3005
3006         * coff-arm.c (bfd_arm_process_before_allocation): Make
3007         'symndx' signed to prevent compile time warning.
3008
3009         * coff-mcore.c: Remove unused prototype for pe_object_p.
3010
3011         * coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static
3012         functions that are not used when COFF_IMAGE_WITH_PE is
3013         defined.
3014         (struct sh_opcode): Change type of 'flags' field to unsigned
3015         long so that it can hold the USESAS flag.
3016
3017         * coffcode.h (styp_to_sec_flags): Initialise 'target_name'.
3018
3019         * elf-m10300.c (mn10300_elf_relax_section): Initialise
3020         'sym_sec'.
3021
3022         * elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function
3023         parameters.
3024         Remove unusued variables and code.
3025         (elf_backend_add_symbol_hook): Fix prototype.
3026
3027         * elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and
3028         'srelgot'.
3029
3030         * elf32-mcore.c (mcore_elf_relocate_section): Initialise
3031         'oldinst'.
3032
3033         * elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function
3034         parameters.
3035         Remove unusued variables and code.
3036         (elf_backend_add_symbol_hook): Fix prototype.
3037
3038         * elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'.
3039
3040         * elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED
3041         to unused function parameter.
3042
3043         * pe-mips.c: Add ATTRIBUTE_UNUSED to unused function
3044         parameters.
3045         Use EMPTY_HOWTO to initialise empty howto slots.
3046         Remove unused variables.
3047
3048         * peicode.h (pe_ILF_build_a_bfd): Initialise id6.
3049
3050 2000-03-01  H.J. Lu  <hjl@gnu.org>
3051
3052         * aoutx.h (aout_link_input_section_std): Pass "true" to
3053         the undefined_symbol callback.
3054         (aout_link_input_section_ext): Likewise.
3055         * bout.c (get_value): Likewise.
3056         * coff-a29k.c (coff_a29k_relocate_section): Likewise.
3057         * coff-alpha.c (alpha_ecoff_get_relocated_section_conten):
3058         Likewise.
3059         (alpha_relocate_section): Likewise.
3060         * coff-arm.c (coff_arm_relocate_section): Likewise.
3061         * coff-i960.c (coff_i960_relocate_section): Likewise.
3062         * coff-mcore.c (coff_mcore_relocate_section): Likewise.
3063         * coff-mips.c (mips_relocate_section): Likewise.
3064         * coff-ppc.c (coff_ppc_relocate_section): Likewise.
3065         * coff-sh.c (sh_relocate_section): Likewise.
3066         * coff-tic80.c (coff_tic80_relocate_section): Likewise.
3067         * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
3068         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
3069         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
3070         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
3071         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
3072         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3073         * elf32-i370.c (i370_elf_relocate_section): Likewise.
3074         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
3075         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
3076         * elf32-sh.c (sh_elf_relocate_section): Likewise.
3077         * elf32-v850.c (v850_elf_relocate_section): Likewise.
3078         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
3079         * elflink.h (elf_link_output_extsym): Likewise.
3080         * pe-mips.c (coff_pe_mips_relocate_section): Likewise.
3081         * reloc.c (bfd_generic_get_relocated_section_conten): Likewise.
3082         * reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise.
3083
3084         * elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the
3085         undefined_symbol callback when building shared library with
3086         -Bsymbolic and undefined symbols are allowed. Otherwise, pass
3087         "true".
3088         * elf32-arm.h (elf32_arm_relocate_section): Likewise.
3089         * elf32-i386.c (elf_i386_relocate_section): Likewise.
3090         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3091         * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
3092         (elf32_mips_get_relocated_section_content): Likewise.
3093         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3094         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3095         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3096         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3097
3098 2000-02-28  Nick Clifton  <nickc@cygnus.com>
3099
3100         * Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects.
3101         * Makefile.in: Regenerate.
3102
3103         * configure.in: Add support for mips and sh pe vectors.
3104         * configure: regenerate.
3105
3106         * config.bfd: Add support for arm-wince, mips-pe and sh-pe
3107         targets.
3108
3109         * targets.c: Add mips and sh pe vectors.
3110
3111         * libpei.h (coff_final_link_postscript): Only define if not
3112         already defined.
3113
3114         * coffcode.h: Add support for WinCE magic numbers.
3115
3116         * peigen.c (pe_print_reloc): Update comment and rearrange
3117         appending of newline character.
3118
3119         * peicode.h: Add support for Image Library Format.
3120         (pe_ILF_vars): Structure containing data used by ILF code.
3121         (pe_ILF_make_a_section): New function.  Create a section based
3122         on ILF data.
3123         (pe_ILF_make_a_reloc): New function.  Create a reloc based on
3124         ILF data.
3125         (pe_ILF_make_a_symbol): New function.  Create a symbol based
3126         on ILF data.
3127         (pe_ILF_save_relocs): New function.  Store the relocs created
3128         by pe_ILF_make_a_reloc in a section.
3129         (pe_ILF_build_a_bfd): New function.  Create a BFD describing
3130         an ILF object.
3131         (pe_ILF_object_p): New function.  Return a bfd_target pointer
3132         for an ILF object.
3133         (pe_bfd_object_p): If an ILF object is detected call
3134         pe_ILF_object_p on it.
3135
3136         * coff-arm.c: Add support for WinCE relocs which are different
3137         from normal ARM COFF relocs.
3138         * pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target.
3139
3140         * coff-sh.c: Add support for sh-pe target.
3141         * pe-sh.c: New file.  Support code for sh-pe target.
3142         * pei-sh.c: New file.  Support code for sh-pe target.
3143
3144         * pe-mips.c: New file.  Support code for mips-pe target.
3145         * pei-mips.c: New file.  Support code for mips-pe target.
3146
3147 2000-02-27  Jakub Jelinek  <jakub@redhat.com>
3148
3149         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump
3150         architecture if the object causing the bump is dynamic.
3151         * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise,
3152         and also don't it for memory ordering.
3153         (sparc64_elf_write_relocs): Take src_rela out of the loop.
3154
3155 2000-02-27  Ian Lance Taylor  <ian@zembu.com>
3156
3157         * dwarf2.c (read_abbrevs): Use _raw_size directly rather than
3158         calling bfd_get_section_size_before_reloc.
3159         (decode_line_info): Likewise.
3160         (_bfd_dwarf2_find_nearest_line): Likewise.
3161
3162 2000-02-27  Eli Zaretskii  <eliz@is.elta.co.il>
3163
3164         * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
3165         name of the libtool directory.
3166         * Makefile.in: Rebuild.
3167
3168 Fri Feb 25 18:39:26 2000  Rodney Brown (RodneyBrown@pmsc.com)
3169
3170         * som.c (SOM_HOWTO): Define.
3171         (som_hppa_howto_table): Use it.
3172
3173 2000-02-25  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
3174
3175         * config.bfd: Enable 64 bit support for GNU/Linux/sparc.
3176
3177         * config.bfd: Enable 64 bit support for Solaris7+/sparc.
3178
3179 2000-02-24  Catherine Moore  <clm@cygnus.com>
3180
3181         * som.c (som_misc_symbol_info):  Add field
3182         secondary_def.
3183         (som_bfd_derive_misc_symbol_info):  Initialize
3184         secondary_def.
3185         (som_build_and_write_symbol_table): Keep track
3186         of secondary_def field.
3187         (som_slurp_symbol_table): Set BSF_WEAK symbol flag
3188         if secondary_def field is set.
3189         (som_bfd_ar_write_symbol_stuff): Initialize
3190         secondary_def.
3191
3192 2000-02-23  Stephane Carrez  <stcarrez@worldnet.fr>
3193
3194         * dwarf2.c (read_address): Read 16-bits addresses.
3195         (parse_comp_unit): Accept addr_size == 2.
3196
3197 2000-02-23  Alan Modra  <alan@spri.levels.unisa.edu.au>
3198
3199         * bfd-in.h: Update copyright date.
3200
3201 2000-02-23  Linas Vepstas <linas@linas.org>
3202
3203         * cpu-i370.c: New file.
3204         * elf32-i370.c:  New file.
3205         * archures.c (enum bfd_architecture): Add bfd_arch_i370.
3206         (bfd_i370_arch): New.
3207         (bfd_archures_list): Add bfd_i370_arch.
3208         * elf.c (prep_headers): Add bfd_arch_i370.
3209         * Makefile.am: Add support for IBM 370 elf.
3210         * config.bfd: Likewise.
3211         * configure.in: Likewise.
3212         * libbfd.h (bfd_reloc_code_real_names): Likewise.
3213         * reloc.c (bfd_reloc_code_type): Likewise.
3214         * targets.c: Likewise.
3215
3216         * Makefile.in: Regenerate.
3217         * configure: Regenerate.
3218         * bfd-in2.h: Regenerate.
3219
3220 2000-02-22  Ian Lance Taylor  <ian@zembu.com>
3221
3222         * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for
3223         invalid relocation types, and change them to R_386_NONE.
3224
3225 2000-02-22  H.J. Lu  <hjl@gnu.org>
3226
3227         * elflink.h (elf_link_add_object_symbols): If a version symbol is
3228         not defined, don't add a second ELF_VER_CHR.
3229
3230         * elflink.h (elf_bfd_final_link): Call output_extsym for global
3231         symbols converted to local symbols even when stripping all
3232         symbols.
3233         (elf_link_output_extsym): Process global symbols converted to
3234         local symbols even if they are being stripped.
3235
3236 2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
3237
3238         * archures.c (bfd_octets_per_byte): Return unsigned int.
3239         (bfd_arch_mach_octets_per_byte): Ditto.
3240         * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned
3241         comparison warning.
3242         * section.c (bfd_get_section_size_before_reloc): Quell signed
3243         vs. unsigned comparison warning.
3244         (bfd_get_section_size_after_reloc): Same here.  Fix parentheses too.
3245         * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27
3246         change.  What was I thinking?
3247         * bfd-in2.h: Regenerate.
3248
3249         * elflink.h (elf_gc_sweep): Skip non-elf input bfds.
3250         (elf_gc_sections): Same here.
3251         (elf_gc_common_finalize_got_offsets): And here.
3252
3253 2000-02-21  Ian Lance Taylor  <ian@zembu.com>
3254
3255         ELF HPPA doesn't work at present; remove it until it does.
3256         * config.bfd: Comment out setting targ_defvec to
3257         bfd_elf32_hppa_vec.
3258         * Makefile.am: Rebuild dependencies.
3259         (BFD32_BACKENDS): Remove elf32-hppa.lo.
3260         (BFD32_BACKENDS_CFILES): Remove elf32-hppa.c.
3261         (SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h.
3262         * Makefile.in: Rebuild.
3263         * targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec.
3264
3265 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
3266
3267         * coffcode.h (coff_set_arch_mach_hook): Use free(), because there
3268         is no bfd_free().  Revert bfd_free part of previous change.
3269
3270 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
3271
3272         * coffcode.h (coff_set_arch_mach_hook): Don't use variable-size
3273         arrays.
3274         (coff_compute_section_file_positions): Use bfd_free to pair
3275         bfd_malloc.
3276         (coff_write_object_contents): Likewise.
3277
3278         * coff-rs6000.c (xcoff_howto_table_16): New variable.
3279         (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs.
3280
3281 2000-02-18  Ulrich Drepper  <drepper@cygnus.com>
3282
3283         * coff-rs6000.c (XCOFFARMAGBIG): New macro.
3284         (xcoff_ar_file_hdr_big): New structure.
3285         (SIZEOF_AR_FILE_HDR_BIG): New macro.
3286         (xcoff_ar_hdr_big): New structure.
3287         (SIZEOF_AR_HDR_BIG): New macro.
3288         (xcoff_big_format_p): New macro.
3289         (xcoff_ardata_big): New macro.
3290         (arch_xhdr_big): New macro.
3291         (xcoff_slurp_armap): Handle large archives.
3292         (xcoff_archive_p): Detect large archives.
3293         (xcoff_read_ar_hdr): Handle large archives.
3294         (xcoff_openr_next_archived_file): Handle large archives.
3295         (xcoff_generic_stat_arch_elt): Handle large archives.
3296         (xcoff_write_armap_old): Rename from xcoff_write_armap.
3297         (xcoff_write_armap_big): New function.
3298         (xcoff_write_armap): New function, dispatch to _old or _big.
3299         (xcoff_write_archive_contents_old): Rename from
3300         xcoff_write_archive_contents.
3301         (xcoff_write_archive_contents_big): New function.
3302         (xcoff_write_archive_contents): New function, dispatch to _old or
3303         _big.
3304
3305 2000-02-18  Richard Henderson  <rth@cygnus.com>
3306
3307         * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect
3308         and hide_symbol members.
3309         (elf_link_hash_copy_indirect): Remove.
3310         (elf_link_hash_hide_symbol): Remove.
3311         (struct elf_backend_data): Add elf_backend_copy_indirect_symbol
3312         and elf_backend_hide_symbol.
3313         (_bfd_elf_link_hash_copy_indirect): Declare.
3314         (_bfd_elf_link_hash_hide_symbol): Declare.
3315         * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument.
3316         (_bfd_elf_link_hash_hide_symbol): Likewise.
3317         (_bfd_elf_link_hash_table_init): Don't init killed members.
3318         * elflink.h (elf_link_add_object_symbols): Use the bed function
3319         pointers not elf_link_hash_{copy_indirect,hide_symbol}.
3320         (elf_link_assign_sym_version): Likewise.
3321         * elfxx-target.h (elf_backend_copy_indirect_symbol): Default.
3322         (elf_backend_hide_symbol): Likewise.
3323         (elfNN_bed): Update for new members.
3324
3325 2000-02-17  Kevin Buettner  <kevinb@redhat.com>
3326
3327         * rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD,
3328         STACK_END_ADDR): Define for new core file format.
3329         (LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines
3330         for handling the vagaries of the various core file structures used
3331         by AIX over the years.
3332         (rs6000coff_core_p, rs6000coff_core_file_matches_executable,
3333         Rs6kCorData): Use above defines to adapt code to use AIX 4.3's
3334         core_dumpx structure.
3335
3336 Thu Feb 17 00:04:48 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
3337
3338         * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
3339         (bfd_mach_sh3_dsp): Likewise.
3340         (bfd_mach_sh4): Reinstate.
3341         (bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
3342         * bfd-in2.h: Regenerate.
3343         * coff-sh.c (struct sh_opcode): flags is no longer short.
3344         (USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
3345         (sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
3346         (sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
3347         (sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
3348         (sh_opcodes): No longer const.
3349         (sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
3350         (sh_insn_uses_reg): Check for USESAS and USESR8.
3351         (sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
3352         (_bfd_sh_align_load_span): Return early for SH4.
3353         Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
3354         Take into account that field b of a parallel processing insn
3355         could be mistaken for a separate insn.
3356         * cpu-sh.c (arch_info_struct): New array elements for
3357         sh2, sh-dsp and sh3-dsp.
3358         Reinstate element for sh4.
3359         (SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
3360         (SH4_NEXT): Reinstate.
3361         (SH3_NEXT, SH3E_NEXT): Adjust.
3362         * elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
3363         * elf32-sh.c (sh_elf_set_private_flags): New function.
3364         (sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
3365         (sh_elf_merge_private_data): New function.
3366         (elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
3367         (bfd_elf32_bfd_copy_private_bfd_data): Define.
3368         (bfd_elf32_bfd_merge_private_bfd_data): Change to
3369         sh_elf_merge_private_data.
3370
3371 2000-02-13  Richard Henderson  <rth@cygnus.com>
3372
3373         * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and
3374         hide_symbol members.
3375         (elf_link_hash_copy_indirect): New.
3376         (elf_link_hash_hide_symbol): New.
3377         * elflink.h (elf_link_add_object_symbols): Break out copy from
3378         indirect new new symbol to elf.c.
3379         (elf_link_assign_sym_version): Break out privatization of
3380         non-exported symbol to elf.c.
3381         * elf.c (_bfd_elf_link_hash_copy_indirect): New.
3382         (_bfd_elf_link_hash_hide_symbol): New.
3383         (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol.
3384
3385 2000-02-13  Ian Lance Taylor  <ian@zembu.com>
3386
3387         * section.c (_bfd_strip_section_from_output): Add info parameter.
3388         If it passed as non-NULL, use it to check whether any input BFD
3389         has an input section which uses this output section.  Change all
3390         callers.
3391         * bfd-in2.h: Rebuild.
3392
3393         * bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and
3394         bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of
3395         1999-11-29.
3396         * bfd-in2.h: Rebuild.
3397
3398 2000-02-10  Timothy Wall  <twall@cygnus.com>
3399
3400         * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to
3401         allow final modifications of swapped-in symbol.
3402         (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST.
3403         * coffcode.h (coff_write_relocs): Use macro
3404         SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether
3405         symbol index should be set to -1.
3406
3407 Thu Feb 10 20:07:50 GMT 2000  Toshiyasu Morita (toshi.morita@sega.com)
3408
3409         * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG,
3410         USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros.
3411         * (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes.
3412         * (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg,
3413         sh_insns_uses_or_sets_freg): New functions.
3414         * (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros.
3415         * (sh_insns_conflict): Use new functions and new macros to
3416         detect conflicts when two instructions both set same integer registers,
3417         both set same fp register, and both set special register.
3418
3419 2000-02-09  Timothy Wall  <twall@cygnus.com>
3420
3421         * coffgen.c (coff_real_object_p): Set arch/mach info prior to
3422         swapping in sections, so that the swapping routines have access to
3423         the arch/mach info.
3424
3425 2000-02-08 Mark Elbrecht <snowball3@bigfoot.com>
3426
3427         * coff-go32.c: Update comment. Update copyright.
3428
3429 2000-01-27  Thomas de Lellis  <tdel@windriver.com>
3430
3431         * syms.c (bfd_decode_symclass)
3432         Two new class characters were added - 'V' and 'v'.  The
3433         meaning of 'W' is now restricted to just weak non-object
3434         symbols.  This allows differentiation between, for example,
3435         weak functions vs weak objects.  nm for example now dumps:
3436         'W' = weak global
3437         'w' = weak unresolved
3438         'V' = weak global object
3439         'v' = weak unresolved object
3440
3441         (bfd_is_undefined_symclass): New function.  Return true if the
3442         given symbol class represents and undefined/unresolved symbol.
3443
3444         (bfd_symbol_info): Use bfd_is_undefined_symclass to check for
3445         unresolved symbols.
3446
3447         * bfd-in2.h: Add prototype for bfd_is_undefined_symbol().
3448
3449         * elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the
3450         STT_ARM_16BIT flag set, but it is not attached to a data object
3451         return STT_ARM_16BIT so that it will be treated as code by the
3452         disassembler.
3453
3454 2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
3455
3456         * coff-i386.c (i3coff_object_p): Remove prototype.
3457         Update copyright.
3458
3459         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const
3460         to name.  Update copyright.
3461
3462         * trad-core.c (trad_unix_core_file_p): Cast core_regsec
3463         assignment to avoid warning.  Update copyright.
3464
3465 2000-01-24  Robert Lipe  (robertl@sco.com)
3466
3467         * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc
3468         instead of using GNU C extension.
3469
3470 2000-01-21  Nick Clifton  <nickc@cygnus.com>
3471
3472         * libbfd.c (bfd_read): Do not attempt to get a negativly sized
3473         amount from a bfd_in_memory structure.
3474         (bfd_seek): Do not allow seeks past the end of a bfd_in_memory
3475         structure.
3476
3477 2000-01-14  Nick Clifton  <nickc@cygnus.com>
3478
3479         * linker.c (default_indirect_link_order): oops - fix incorrectly
3480         applied patch from Tim Wall.
3481
3482 2000-01-13  Timothy Wall (twall@tiac.net>
3483
3484         * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx
3485         = scnhsz, filhsz, relsz, aoutsz, etc)
3486
3487          * coffswap.h: Ditto.
3488
3489 2000-01-13  Nick Clifton  <nickc@cygnus.com>
3490
3491         * elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to
3492         interwork thumb to arm stub.
3493
3494 2000-01-13  Timothy Wall (twall@tiac.net>
3495
3496         * archures.c (bfd_octets_per_byte): New function: Return
3497         target byte size.
3498         (bfd_arch_mach_octets_per_byte): New function: Return target
3499         byte size.
3500
3501         * section.c: Distinguish between octets and bytes for usage of
3502         _cooked_size,  _raw_size, and output_offset.  Clarify
3503         description of bfd_set_section_contents.
3504
3505         * bfd-in2.h: Regenerate.
3506
3507         * coffgen.c: Indicate that the offset parameter is in bytes, not
3508         octets.
3509
3510         * cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte
3511         where appropriate to get the octet offset when calling
3512         bfd_set_section_contents.
3513         (bfd_coff_reloc_link_order): Ditto.
3514
3515         * linker.c (bfd_generic_reloc_link_order): Ditto.
3516         (_bfd_default_link_order): Ditto.
3517
3518         * reloc.c (bfd_perform_relocation):  Distinguish between octets
3519         and bytes.  Use octets when indexing into octet data; use bytes
3520         when calculating target addresses.
3521         (bfd_install_relocation): Ditto.
3522
3523         * srec.c (srec_write_section): Ditto.
3524
3525 2000-01-13  Nick Clifton  <nickc@cygnus.com>
3526
3527         * coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
3528         3 to 2.  This allows 4 byte sized sections, which is necessary for
3529         dlltool to build functioning DLLs.
3530
3531 2000-01-10  Philip Blundell  <pb@futuretv.com>
3532
3533         * config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu.
3534         (arm*-*-conix*): New target.
3535
3536 2000-01-10  Egor Duda  <deo@logos-m.ru>
3537
3538         * config.bfd: Include elf32_i386 vector to target list for cygwin
3539         and mingw.
3540
3541         * config.in: Undefine HAVE_WIN32_PSTATUS_T.
3542         * configure.in: Test for structure win32_pstatus_t in
3543         <sys/procfs.h>
3544         * configure: Regenerate.
3545
3546         * elf.c (elfcore_grok_win32pstatus): New function: process
3547         win32_pstatus_t notes in elf core file.
3548         (elfcore_grok_note): Detect win32_pstatus notes.
3549
3550 2000-01-03  Martin v. Loewis  <loewis@informatik.hu-berlin.de>
3551
3552         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol
3553         visibility.
3554         * elflink.h (elf_link_add_object_symbols): Combine visibilities.
3555         * elf.c (bfd_elf_print_symbol): Interpret st_other as visibility.
3556
3557 1999-12-29  Richard Henderson  <rth@cygnus.com>
3558
3559         * elflink.h (bfd_elf,size_dynamic_sections): Don't export all
3560         if no dynamic sections created.
3561
3562 1999-12-27  Nick Clifton  <nickc@cygnus.com>
3563
3564         * peicode.h (pe_bfd_object_p): Only define for PE format
3565         targets.
3566
3567 1999-12-17  Nick Clifton  <nickc@cygnus.com>
3568
3569         * coff-i386.c (i3coff_object_p): Delete.
3570         (i386coff_vec): Replace reference to i3coff_object_p with a
3571         reference to coff_object_p.
3572
3573         * coff-mcore.c (pe_object_p): Delete.
3574
3575         * peicode.h (pe_bfd_object_p): New function: Detect the
3576         presence of a PE format COFF object file.  Also detect and
3577         warn about the presence of LINK6 format Image Library Format
3578         object files.
3579
3580 1999-12-16  Nick Clifton  <nickc@cygnus.com>
3581
3582         * coff-arm.c (NUM_ELEM): New macro.
3583         (NUM_RELOCS): New macro: The number of known ARM relocs.
3584         (RTYPE2HOWTO): Return NULL if the reloc type is out of range.
3585         (coff_arm_rtype_to_howto):  Return NULL if the reloc type is out
3586         of range.
3587         (bfd_arm_process_before_allocation): Produce a warning message if
3588         an out of range symbol index is encountered.
3589
3590 1999-12-14  Nick Clifton  <nickc@cygnus.com>
3591
3592         * elflink.h (is_global_symbol_definition): New Function: Return
3593         true iff the symbol is being given a global definition in this
3594         bfd.
3595         (elf_link_is_defined_archive_symbol): Do not bother processing
3596         symbols for an archive element that has already been included
3597         in the link.
3598         Use is_global_symbol_definition().
3599
3600 1999-12-09  Andrew Cagney  <cagney@cygnus.com>
3601
3602         * config.bfd: Add support for sparc-*-netbsdelf* and
3603         sparc-*-netbsdaout*.
3604
3605 1999-12-13  Nick Clifton  <nickc@cygnus.com>
3606
3607         * elflink.h (elf_link_is_defined_archive_symbol): Check to see
3608         if the symbol is in the common section.
3609
3610 1999-12-10  Nick Clifton  <nickc@cygnus.com>
3611
3612         * elflink.h (elf_link_is_defined_archive_symbol): New
3613         function: Decide if a symbol, in an archive map is there
3614         because it is defined in the archive element, or because it is
3615         just another common declaration of it.
3616         (elf_link_add_archive_symbols): Use
3617         elf_link_is_defined_archive_symbol to decide if an archive
3618         element contain a reference to a common symbol should be
3619         linked in or not.
3620
3621 1999-12-10  Nick Clifton  <nickc@cygnus.com>
3622
3623         * elflink.h: Revert previous patch.
3624         * targets.c: Revert previous patch.
3625         * libbfd-in2.h: Revert previous patch.
3626         * libbfd.h: Revert previous patch.
3627         * elfxx-target.h: Revert previous patch.
3628         * archive.c: Revert previous patch.
3629         * aout-target.h: Revert previous patch.
3630         * aout-tic30.h: Revert previous patch.
3631         * bfd.c: Revert previous patch.
3632         * coff-alpha.c: Revert previous patch.
3633         * coff-rs6000.c: Revert previous patch.
3634         * elf64-mips.c: Revert previous patch.
3635         * ieee.c: Revert previous patch.
3636         * libecoff.h: Revert previous patch.
3637         * oasys.c: Revert previous patch.
3638         * som.c: Revert previous patch.
3639         * vms.c: Revert previous patch.
3640
3641 1999-12-09  Nick Clifton  <nickc@cygnus.com>
3642
3643         * elflink.h (elf_link_add_archive_symbols): Add an archive
3644         element even if contains a symbol which is currently only
3645         considered to be a common.
3646
3647         * targets.c (struct bfd_target): Add new field
3648         _bfd_allow_commons_in_armap.
3649         * bfd-in2.h:Regenerate.
3650
3651         * libbfd-in2.h (_bfd_noarchive_allow_commons_in_armap):
3652         Define.
3653          (_bfd_archive_bsd_allow_commons_in_armap): Define.
3654         * libbfd.h: Regenerate.
3655
3656         * elfxx-target.h: If using COFF archive map, override
3657         definition of allow_commons_in_armap and replace with
3658         bfd_false.
3659
3660         * archive.c (bfd_compute_and_write_armap): Do not place common
3661         symbols into the archive map unless _bfd_allow_commons_in_armap
3662         returns true.
3663
3664         * aout-target.h (MY_allow_commons_in_armap): Define.
3665         * aout-tic30.h (MY_allow_commons_in_armap): Define.
3666         * bfd.c (bfd_allow_commons_in_armap): Define.
3667         * coff-alpha.h (alpha_ecoff_allow_commons_in_armap): Define.
3668         * coff-rs6000.h (xcoff_allow_commons_in_armap): Define.
3669         * elf64-mips.c (bfd_elf64_allow_commons_in_armap): Define.
3670         * ieee.c (ieee_ecoff_allow_commons_in_armap): Define.
3671         * libecoff.h (_bfd_ecoff_allow_commons_in_armap): Define.
3672         * oasys.c (oasys_allow_commons_in_armap): Define.
3673         * som.c (som_allow_commons_in_armap): Define.
3674         * vms.c (vms_allow_commons_in_armap): Define.
3675
3676 1999-12-07  Jim Blandy  <jimb@cygnus.com>
3677
3678         Add support for SSE registers in ELF core files.
3679         * elf.c (elfcore_make_note_pseudosection): New function.
3680         (elfcore_grok_prfpreg): Use it.
3681         (elfcore_grok_prxfpreg): New function.
3682         (elfcore_grok_note): Recognize Linux NT_PRXFPREG notes.
3683
3684 1999-12-03  Ian Lance Taylor  <ian@zembu.com>
3685
3686         * elf32-mips.c (mips_elf_calculate_relocation): Divide R_MIPS_PC16
3687         value by 4 before storing it back in the field.  From
3688         Koundinya. K <kk@ddeorg.soft.net>.
3689
3690 Tue Nov 30 22:41:14 1999  Jeffrey A Law  (law@cygnus.com)
3691
3692         * archures.c (bfd_mach_am33): Define.
3693         * bfd-in2.h: Rebuilt.
3694         * cpu-m10300.c (bfd_am33_arch): Add to the mn103 architecture list
3695         * elf-m10300.c (mn10300_elf_relax_section): Handle am33 instructions.
3696         (compute_function_info): Handle additional registers saved by
3697         movm on the am33.
3698         (elf_mn10300_mach): Handle E_MN10300_MACH_AM33.
3699         (_bfd_mn10300_elf_final_write_processing): Handle bfd_mach_am33.
3700
3701 1999-11-29  Jim Blandy  <jimb@cygnus.com>
3702
3703         * elf.c (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
3704         functions.
3705         * bfd-in2.h (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
3706         declarations.
3707
3708 1999-11-27  Michael Meissner  <meissner@cygnus.com>
3709
3710         * reloc.c (BFD_RELOC_ALPHA_USER_LITERAL): New relocation for
3711         internal use within gas for alpha explicit relocations.
3712         (BFD_RELOC_ALPHA_USER_LITUSE_BASE): Ditto.
3713         (BFD_RELOC_ALPHA_USER_LITUSE_BYTOFF): Ditto.
3714         (BFD_RELOC_ALPHA_USER_LITUSE_JSR): Ditto.
3715         (BFD_RELOC_ALPHA_USER_GPDISP): Ditto.
3716         (BFD_RELOC_ALPHA_USER_GPRELHIGH): Ditto.
3717         (BFD_RELOC_ALPHA_USER_GPRELLOW): Ditto.
3718
3719         * elf64-alpha.c (elf64_alpha_reloc_map): Add mappings for
3720         BFD_RELOC_ALPHA_USER_*.
3721
3722         * bfd-in2.h: Regenerate.
3723         * libbfd.h: Regenerate.
3724
3725 1999-11-26  Fred Fish  <fnf@cygnus.com>
3726
3727         * elf.c (elfcore_read_notes): Add prototype for static function.
3728         (_bfd_elf_make_section_from_phdr): Renamed from bfd_section_from_phdr.
3729         (bfd_section_from_phdr): Replacement function that calls
3730         _bfd_elf_make_section_from_phdr for generic segment types and
3731         backend fucntion pointed to by elf_backend_section_from_phdr for
3732         backend specific segment types.
3733         (_bfd_elfcore_section_from_phdr): Remove call to elfcore_read_notes,
3734         now called by _bfd_elf_make_section_from_phdr.  Note that this func
3735         is now just a stub between the caller and bfd_section_from_phdr.
3736
3737         * elf-bfd.h (struct elf_backend_data): Add new function pointer
3738         elf_backend_section_from_phdr.
3739         (elf_backend_section_from_phdr): Add prototype.
3740
3741         * elfxx-target.h (elf_backend_section_from_phdr): Define default.
3742         (elfNN_bed): Add elf_backend_section_from_phdr.
3743
3744 1999-11-25  Nick Clifton  <nickc@cygnus.com>
3745
3746         * coff-arm.c (bfd_arm_get_bfd_for_interworking):  Add
3747         SEC_CODE and SEC_READONLY flags to glue sections.
3748
3749         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Add
3750         SEC_CODE and SEC_READONLY flags to glue sections.
3751
3752 1999-11-20  Nick Clifton  <nickc@cygnus.com>
3753
3754         * coff-mcore.c (coff_mcore_relocate_section): Fix typo in previous
3755         delta.
3756
3757 1999-11-19  Catherine Moore  <clm@cygnus.com>
3758
3759         * elf32-m68k.c (elf_cpu32_plt0_entry): Fix encoding.
3760         (elf_cpu32_plt_entry): Likewise.
3761
3762 1999-11-18  Nick Clifton  <nickc@cygnus.com>
3763
3764         * coff-mcore.c (coff_mcore_rtype_to_howto): Special case handling
3765         for RVA relocs.
3766         (coff_mcore_relocate_section): Initialise addend to 0.
3767         Special case processing of RVA reloc.
3768
3769 1999-11-17  Richard Henderson  <rth@cygnus.com>
3770
3771         * elf-bfd.h (struct elf_backend_data): Reorder collect and
3772         type_change_ok; add sign_extend_vma.
3773         * elf32-mips.c (elf_backend_sign_extend_vma): Define.
3774         * elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma.
3775         (elf_swap_shdr_in, elf_swap_phdr_in): Likewise.
3776         * elfxx-target.h (elf_backend_sign_extend_vma): Default.
3777         (elfNN_bed): Follow struture changes.
3778
3779 1999-11-09  Ian Lance Taylor  <ian@zembu.com>
3780
3781         * libbfd.c (bfd_read): Check result of read against desired result
3782         using !=, not <.
3783         (_bfd_generic_get_section_contents): Set bfd_error if the seek is
3784         invalid compared to the section size.
3785
3786         * ieee.c (ieee_slurp_debug): Get the length of the debug
3787         information right if there is no data part.
3788
3789 Tue Nov  2 01:44:41 1999  Jeffrey A Law  (law@cygnus.com)
3790
3791         * som.c (som_fixup_formats): Improve handling of R_AUX_UNWIND,
3792         R_LINETAB, R_LINETAB_ESC, and R_COMMENT.
3793
3794 1999-10-28  Ian Lance Taylor  <ian@zembu.com>
3795
3796         * elflink.h (elf_bfd_final_link): Make last_local signed.
3797
3798 1999-10-27  Ian Lance Taylor  <ian@zembu.com>
3799
3800         * stabs.c (_bfd_link_section_stabs): Make sure .stabstr section
3801         starts with a zero.
3802
3803 Sat Oct 23 17:36:12 1999  Andrew Cagney  <cagney@b1.cygnus.com>
3804
3805         * archures.c: Add definitions bfd_mach_d10v, bfd_mach_d10v_ts2 and
3806         bfd_mach_d10v_ts3.
3807         * cpu-d10v.c (d10v_ts3_info, d10v_ts2_info): Add.
3808         * bfd-in2.h: Regenerate.
3809
3810 1999-10-15  Andrew Haley  <aph@cygnus.com>
3811
3812         * dwarf1.c (parse_die): Fail to parse a die if its length is zero.
3813
3814 Sun Oct 17 17:19:00 1999  Jeffrey A Law  (law@cygnus.com)
3815
3816         * libhppa.h (bfd_hppa_insn2fmt): Change to return an int.
3817
3818 1999-10-08  Ian Lance Taylor  <ian@zembu.com>
3819
3820         * elflink.h (elf_merge_symbol): When overriding a weak symbol with
3821         a defined symbol in a shared library, clear the DEF_DYNAMIC flag
3822         too.
3823
3824 Fri Oct  8 13:03:45 1999  Geoffrey Keating  <geoffk@cygnus.com>
3825
3826         * elf32-mips.c (mips_elf_calculate_relocation): R_MIPS_LITERAL
3827         relocs also need the GP value.
3828         (_bfd_mips_elf_relocate_section): Handle unpaired LO16 relocs
3829         properly.  Handle sign-extension for R_MIPS_64 correctly.  Correct
3830         the GP value for R_MIPS_LITERAL relocs too.  Handle
3831         R_MIPS_64 relocs properly on big-endian MIPS.
3832         (mips_elf_sign_extend): Behave properly with 'long long'.
3833         (mips_elf_highest): Correct typo.
3834
3835 Mon Oct  4 17:49:45 1999  Nick Clifton  <nickc@cygnus.com>
3836
3837         * cpu-m32r.c (arch_info_struct): New static global.
3838         (bfd_m32r_arch): Refer to it.
3839         * elf32-m32r.c (m32r_elf_object_p): Recognize E_M32RX_ARCH.
3840         (m32r_elf_print_private_bfd_data): Ditto.
3841         (m32r_elf_final_write_processing): Handle bfd_mach_m32rx.
3842         * archures.c (bfd_mach_m32rx): Define it.
3843         * bfd-in2.h: Rebuild.
3844
3845 1999-09-28  Fred Fish  <fnf@cygnus.com>
3846
3847         * targets.c (cisco_core_vec): Replaced with two new vecs ...
3848         (cisco_core_big_vec): Add new bigendian vec.
3849         (cisco_core_little_vec): Add new little endian vec.
3850
3851         * cisco-core.c (CRASH_INFO): Fixed offset replaced with ...
3852         (crash_info_locs): Add array of possible offsets.
3853         (MASK_ADDR): Mask to apply to crash info offset.
3854         (crashinfo_external): Add textbase, database, bssbase and
3855         turn into a typedef.
3856         (cisco_core_file_validate): Renamed from cisco_core_file_p.
3857         Many small changes to account for additional hardware versions.
3858         Pick a reasonable size for ".reg" section.  Add a ".crash"
3859         section to allow access to crashinfo_external struct.
3860         (cisco_core_file_p): New version of this function that
3861         iterates over crash_info_locs, calling cisco_core_file_validate.
3862         (cisco_core_vec): Old big endian only vec replaced with ...
3863         (cisco_core_big_vec): Add big endian version.
3864         (cisco_core_little_vec): Add little endian version.
3865
3866         * configure.in (cisco_core_vec): Split to two new vectors ...
3867         (cisco_core_big_vec): New target vector.
3868         (cisco_core_little_vec): New target vector.
3869         * configure: Regenerate.
3870         * config.bfd (targ): For m68*-*-aout* targ, change cisco_core_vec
3871         to cisco_core_big_vec in targ_selvecs.
3872
3873 1999-09-28  Geoffrey Keating  <geoffk@cygnus.com>
3874
3875         * elf32-mips.c (mips_elf_relocate_hi16): Unused, delete.
3876         (mips_elf_relocate_got_local): Unused, delete.
3877         (mips_elf_relocate_global_got): Unused, delete.
3878
3879 1999-09-24  Fred Fish  <fnf@cygnus.com>
3880
3881         * elf.c (bfd_section_from_phdr): Add typename variable.  Use p_type
3882         to initialize it to something meaningful.  Then use it to generate
3883         more useful segment names.
3884
3885 Sun Sep 19 12:16:47 1999  Jeffrey A Law  (law@cygnus.com)
3886
3887         * som.c (NO_PCREL_MODES): Define if the system does not define
3888         R_SHORT_PCREL_MODE.
3889         (hppa_som_gen_reloc_type): Handle both short and long pcrel branches.
3890         (som_write_fixups): Eliminate redundant pcrel mode relocs.  Handle
3891         R_LONG_PCREL_MODE and R_SHORT_PCREL_MODE
3892         * libhppa.h (dis_assemble_22): New function.
3893         (bfd_hppa_insn2fmt): Handle long branch.
3894
3895         * libhppa.h (bfd_hppa_insn2fmt): Decode and handle formats found
3896         in PA2.0.
3897
3898 1999-09-17  Alan Modra  <alan@spri.levels.unisa.edu.au>
3899
3900         * coff-i386.c (coff_i386_reloc_type_lookup): Support BFD_RELOC_16,
3901         BFD_RELOC_16_PCREL, BFD_RELOC_8, BFD_RELOC_8_PCREL relocs.
3902         (reloc_howto_type howto_table): Tidy comments and whitespace.
3903
3904 1999-09-17  Nick Clifton  <nickc@cygnus.com>
3905
3906         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Undo
3907         previous delta.  Set sec->gc_mark instead.
3908
3909 Thu Sep 16 11:21:13 1999  Catherine Moore  <clm@cygnus.com>
3910
3911         * elf32-m68k.c (elf_cpu32_plt0_entry): Use a1 instead of a0.
3912         (elf_cpu32_plt_entry): Likewise.
3913
3914 Thu Sep 16 10:48:17 1999  Jeffrey A Law  (law@cygnus.com)
3915
3916         * elf-hppa.h (elf_hppa_final_write_processing): Turn on TRAPNIL.
3917
3918         * elf-hppa.h (elf_hppa_final_link): If unable to find __gp in the
3919         symbol table, then just compute a suitable value (but do not
3920         create a __gp symbol).
3921
3922         * elf-hppa.h (elf_hppa_relocate_section): Allow undefined
3923         symbols when building shared libraries.
3924         (elf_hppa_final_link_relocate): Correct handling of PCREL
3925         relocations against undefined symbols.
3926
3927 1999-09-16  Nick Clifton  <nickc@cygnus.com>
3928
3929         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Mark
3930         interworking sections as linker created so that they will not
3931         be removed by garbage collection.
3932
3933 Wed Sep 15 02:31:57 1999  Jeffrey A Law  (law@cygnus.com)
3934
3935         * elf-hppa.h (elf_hppa_final_link): Revamp __gp handling.
3936         (elf_hppa_final_link_relocate): Consistently create an absolute
3937         address, then subtract out the value of __gp.
3938
3939 1999-09-14  Michael Meissner  <meissner@cygnus.com>
3940
3941         * configure.in (Canonicalization of target names): Remove adding
3942         ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
3943         generates $ac_config_sub with a ${CONFIG_SHELL} already.
3944         * configure: Regenerate.
3945
3946 1999-09-14  Nick Clifton  <nickc@cygnus.com>
3947
3948         * elf32-m32r.c (ELF_MAXPAGESIZE): Change to 0x1 (at request of
3949         Mitsubishi).
3950
3951 Mon Sep 13 20:01:47 1999  Jeffrey A Law  (law@cygnus.com)
3952
3953         * elf-hppa.h (elf_hppa_record_segment_addrs): New function.
3954         (elf_hppa_final_link): Initialize text_segment_base and
3955         data_segment_base.
3956         (elf_hppa_final_link_relocate): Handle SEGREL relocations.
3957
3958         * elf-hppa.h (elf_hppa_final_link): Remove unused variables.
3959         (elf_hppa_final_link_relocate): Likewise.
3960         (elf_hppa_relocate_insn): Likewise.
3961         (elf_hppa_relocate_section): Initialize HOWTO.
3962
3963 1999-09-13  Donn Terry  <donn@interix.com>
3964
3965         * coffcode.h (styp_to_sec_flags): Further refinement of COMDAT
3966         handling to support both GNU and MS objects.
3967
3968         * coffcode.h (coff_write_object_contents): Don't check reloc_count
3969         when determining whether to set F_RELFLG.
3970
3971 1999-09-13  Philip Blundell  <pb@nexus.co.uk>
3972
3973         * elf32-arm.h (elf32_arm_final_link_relocate): Don't range-check
3974         PC24 relocs if the target is an undefined weak symbol.
3975         (arm_add_to_rel): Fix compiler warning.
3976         (elf32_arm_plt0_entry): Correct comments.
3977
3978 1999-09-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
3979
3980         * elfcode.h (write_relocs): Check for the_bfd NULL when handling
3981         an absolute symbol in REL relocs.
3982
3983 Sun Sep 12 23:47:58 1999  Jeffrey A Law  (law@cygnus.com)
3984
3985         * elf-hppa.h (elf_hppa_final_link_relocate): Handle SECREL32.
3986         Stub SEGREL32.  Return an error for any relocation not handled.
3987
3988 1999-09-12  Ian Lance Taylor  <ian@zembu.com>
3989
3990         * cofflink.c (coff_link_add_symbols): Look for special MSVC string
3991         constant symbols, and avoid multiple definition errors on them.
3992
3993 1999-09-12  Donn Terry  <donn@interix.com>
3994
3995         * libbfd.c (bfd_log2): Rewrite to avoid infinite loop if most
3996         significant bit is set.
3997
3998 1999-09-11  Ian Lance Taylor  <ian@zembu.com>
3999
4000         * coff-ppc.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
4001
4002         * elfcode.h (write_relocs): Handle an absolute symbol in REL
4003         relocs as we do for RELA relocs.
4004
4005 1999-09-11  Donn Terry  <donn@interix.com>
4006
4007         * libpei.h (_bfd_pei_final_link_postscript): Declare.
4008         (coff_final_link_postscript): Define.
4009         * peigen.c (_bfd_pei_swap_aouthdr_out): Don't set value for data
4010         directory entries here.
4011         (_bfd_pei_final_link_postscript): New function.
4012
4013         * peigen.c (_bfd_pei_swap_scnhdr_out): Remove code which sets
4014         section flags based on the section name.
4015
4016         * peicode.h (coff_swap_scnhdr_in): If COFF_IMAGE_WITH_PE, the
4017         get the overflow of the s_nlnno field from the s_nreloc field.
4018         * peigen.c (_bfd_pei_swap_scnhdr_out): If doing a final link, swap
4019         the s_nlnno overflow of the .text section into the s_nreloc
4020         field.
4021
4022         * peigen.c (add_data_entry): Declare.
4023         (pei_swap_aouthdr_out): Get image size right.  Set linker version
4024         more intuitively.
4025         (pei_swap_scnhdr_out): Test for UNINIT section, not .bss.
4026         (pe_print_idata): Code cleanup, print more info, get rid of (now)
4027         extraneous ImageBase.
4028         (pe_print_edata): Likewise.
4029         (pe_print_pdata): Likewise.  Print exception entries.
4030         (pe_print_reloc): Likewise.  Print MIPS_JMPADDR.
4031         (tbl): Make const, add "UNKNOWN".
4032         (_bfd_pe_print_private_bfd_data_common): Print timestamp.
4033         (_bfd_pe_bfd_copy_private_bfd_data_common): Don't copy deleted
4034         section data directory.
4035         (_bfd_pe_bfd_copy_private_section_data): Copy pe_flags.
4036
4037         * libpei.h (_bfd_pe_bfd_get_symbol_info): Declare.
4038         * peigen.c (_bfd_pe_bfd_get_symbol_info): New function.
4039         * peicode.h (coff_get_symbol_info): Define.
4040
4041         * config.bfd (i[3456]86-*-interix*): Set targ_cflags to
4042         -DSTRICT_PE_FORMAT.
4043         * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
4044         than __INTERIX.
4045         (coff_classify_symbol): Re-revert 1999-08-08 patch if
4046         STRICT_PE_FORMAT.
4047
4048         * libpei.h: New file, broken out of peicode.h.
4049         * peigen.c: New file, broken out of peicode.h.
4050         * peicode.h: A bunch of code moved out to libpei.h and peigen.c.
4051         * configure.in: Add peigen.lo to list of files required for each
4052         PE target.
4053         * Makefile.am: Rebuild dependencies.
4054         (BFD32_BACKENDS): Add peigen.lo.
4055         (BFD32_BACKENDS_CFILES): Add peigen.c.
4056         (SOURCE_HFILES): Add libpei.h.
4057         * configure, Makefile.in: Rebuild.
4058
4059         * peicode.h (coff_swap_scnhdr_in): Don't check for a special
4060         section name of _BSS; check IMAGE_SCN_CNT_UNINITIALIZED_DATA
4061         instead.  Don't clear the s_paddr field for an uninitialized data
4062         section.
4063
4064         * coffcode.h (coff_mkobject_hook): Set timestamp field in
4065         coff_data_type to f_timdat.
4066         * peicode.h (pe_mkobject_hook): Likewise.
4067
4068         * peicode.h (coff_swap_filehdr_in): Check the NT executable magic
4069         number if COFF_IMAGE_WITH_PE.
4070
4071         * coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
4072         to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
4073         (coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
4074         there is no SEC_DEBUGGING section.
4075         * peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
4076         IMAGE_FILE_DEBUG_STRIPPED.
4077
4078         * pe-i386.c (COFF_LONG_FILENAMES): Define.
4079         (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
4080         * pei-i386.c (COFF_LONG_FILENAMES): Define.
4081         (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
4082
4083         * coffswap.h (IMAGE_BASE): Don't define.
4084         * pei-arm.c (IMAGE_BASE): Don't define.
4085         * pei-i386.c (IMAGE_BASE): Don't define.
4086         * pei-mcore.c (IMAGE_BASE): Don't define.
4087         * pei-ppc.c (IMAGE_BASE): Don't define.
4088
4089         * cofflink.c (_bfd_coff_link_input_bfd): When writing out a
4090         symbol, switch on the class when determining whether to modify the
4091         value.  For PE, don't modify the value of a C_FCN symbol not named
4092         .bf.
4093
4094         * libbfd-in.h (_bfd_abort): Declare.
4095         (abort): Define.
4096         * bfd.c (_bfd_abort): New function.
4097         * libbfd.h: Rebuild.
4098
4099         * coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE
4100         special handling.
4101
4102         * cofflink.c (_bfd_coff_link_input_bfd): If a symbol is stripped,
4103         don't write out the associated line numbers.
4104
4105         * cofflink.c (_bfd_coff_write_global_sym): Handle section symbol
4106         aux entries.
4107
4108         * cofflink.c (coff_link_add_symbols): Don't warn about symbol type
4109         changes when the base type is unknown.
4110
4111         * coffgen.c (coff_print_symbol): Fix printing of aux record for
4112         function symbols.
4113
4114         * syms.c (BSF_DEBUGGING_RELOC): Define.
4115         * coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING
4116         for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such
4117         symbols named .bf.
4118         * coffgen.c (fixup_symbol_value): Relocate a symbol which has
4119         BSF_DEBUGGING_RELOC set.
4120         * bfd-in2.h: Rebuild.
4121
4122 1999-09-10  Ian Lance Taylor  <ian@zembu.com>
4123
4124         * ecoff.c (bfd_debug_section): Update initialization for new
4125         comdat_info field.
4126         (_bfd_ecoff_styp_to_sec_flags): Add section parameter.
4127         * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Update declaration.
4128
4129 1999-09-10  H.J. Lu  <hjl@gnu.org>
4130
4131         * coff-alpha.c (alpha_ecoff_backend_data): Initialize the new
4132         _bfd_filnmlen field.
4133         * coff-mips.c (mips_ecoff_backend_data): Likewise.
4134
4135 Fri Sep 10 00:35:14 1999  Jeffrey A Law  (law@cygnus.com)
4136
4137         * elf-hppa.h (elf_hppa_final_link_relocate): Create .opd entries
4138         for FPTR relocs involving local symbols.
4139
4140         * elf-hppa.h (elf_hppa_final_link_relocate): Get the right
4141         value for the stub address in a call through a stub.
4142         Install the value for a local symbol directly into the DLT
4143         instead of generating a reloc.  Correctly handle FPTR64 relocs.
4144
4145         * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): New function.
4146         (elf_hppa_remark_useless_dynamic_symbols): Similarly.
4147         (elf_hppa_final_link): Call them.
4148
4149 1999-09-10  Ian Lance Taylor  <ian@zembu.com>
4150
4151         * elflink.h (elf_fix_symbol_flags): Move weakdef handling here...
4152         (elf_adjust_dynamic_symbol): ...from here.
4153
4154 Wed Sep  8 17:56:11 1999  Jeffrey A Law  (law@cygnus.com)
4155
4156         * elf-hppa.h (elf_hppa_howto_table); There is no DIR64WR, DIR64DR
4157         relocation, remove them.  SECREL64->LTOFF16WF.
4158         (elf_hppa_final_link_relocate): Handle LTOFF* relocations.  Handle
4159         DIR* relocations.
4160         (elf_hppa_relocate_insn): Similarly.
4161
4162         * elf-hppa.h (elf_hppa_final_link_relocate): Handle PLTOFF* relocs.
4163         (elf_hppa_relocate_insn): Similarly.
4164
4165         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DPREL* and
4166         GPREL* relocations.
4167         (elf_hppa_relocate_insn): Similarly.
4168
4169         * elf-hppa.h (elf_hppa_link_final_relocate): Fix typos.
4170         Handle LTOFF_TP* relocs.
4171         (elf_hppa_relocate_insn): Similarly.
4172
4173         * elf-hppa.h (elf_hppa_final_link_relocate): Handle PCREL* relocs.
4174         Consistently deal with addends.  Handle DLTIND14F and DLTREL14F.
4175         (elf_hppa_relocate_insn): Handle PCREL* relocs.
4176
4177         * elf-hppa.h (elf_hppa_final_link_relocate): Handle LT_OFF_FPTR*,
4178         DIR32, DIR64 and FPTR64 relocations.
4179         (elf_hppa_relocate_insn): Similarly.
4180
4181         * elf-hppa.h (elf_hppa_final_link): Set the value of __gp to the
4182         address of the .PARISC.global section.
4183         (elf_hppa_relocate_section): Lookup and pass the PA64 hash
4184         table entry elf_hppa_final_link_relocate.  Do not give a warning
4185         for a reloc against an external symbol if it has a PA64 hash
4186         table entry.
4187         (elf_hppa_final_link_relocate): Significantly rework.  Handle
4188         DLTIND relocations.  Compute the final value of the relocation
4189         before passing the value of elf_hppa_relocate_insn.
4190         (elf_hppa_relocate_insn): Revamp to handle just bit tiwiddling
4191         relocation support.  Handle DLTIND relocation requests just like
4192         DLTREL relocation requests.  Simplify branch handling.
4193
4194 1999-09-08  Ulrich Drepper  <drepper@cygnus.com>
4195
4196         * elf-hppa.h (elf_hppa_relocate_section): Catch problems with
4197         non-allocated section as done in i386 version.
4198         (elf_hppa_final_link_relocate): Uncomment R_PARISC_14F in switch
4199         statement since this is no know relocation.
4200
4201 Tue Sep  7 17:25:12 1999  Jeffrey A Law  (law@cygnus.com)
4202
4203         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14F
4204         relocs.
4205         (elf_hppa_relocate_insn): Similarly.
4206
4207         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14WR and
4208         DLTREL14WD relocs.
4209         (elf_hppa_relocate_insn): Similarly.
4210
4211         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14R and
4212         DLTREL21L relocs.  Pass the output bfd to elf_hppa_relocate_insn.
4213         Pass the relocate type rather than the insn format to
4214         elf_hppa_relocate_insn.
4215         (elf_hppa_relocate_insn): Make switch dependent on relocation type
4216         rather than the opcode.  Handle DLTREL21L and DLTREL14R relocs.
4217
4218 1999-09-07  Ian Lance Taylor  <ian@zembu.com>
4219
4220         * coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field.
4221         (bfd_coff_filnmlen): Define.
4222         (bfd_coff_std_swap_table): Initialize new field.
4223         * coffgen.c (coff_fix_symbol_name): Use bfd_coff_filnmlen rather
4224         than FILNMLEN.
4225         (coff_write_symbols): Likewise.
4226         (coff_get_normalized_symtab): Likewise.
4227         * coff-sh.c (bfd_coff_small_swap_table): Initialize new field.
4228         * libcoff.h: Rebuild.
4229
4230 1999-09-06  Donn Terry  <donn@interix.com>
4231
4232         * coffcode.h (sort_by_secaddr): New static function if
4233         COFF_IMAGE_WITH_PE.
4234         (coff_compute_section_file_positions): If COFF_IMAGE_WITH_PE, sort
4235         sections by VMA when assigning target_index values.  Always set
4236         virt_size.
4237
4238         * libcoff-in.h (struct pei_section_tdata): Add pe_flags field.
4239         * coffcode.h (coff_set_alignment_hook) [COFF_WITH_PE version]: Set
4240         pe_flags field.
4241         * libcoff.h: Rebuild.
4242
4243         * coffcode.h (coff_set_custom_section_alignment): Add const to
4244         declaration to match definition.
4245         (coff_write_object_contents): Don't set F_AR32W(R)? if
4246         COFF_WITH_PE.
4247
4248         * coff-i386.c (in_reloc_p): Add declaration.
4249         (i386coff_vec): Simplify initialization of
4250         application_section_flags.
4251
4252         * coffcode.h (sec_to_styp_flags): Write separate COFF_WITH_PE
4253         version.  Move COFF_WITH_PE specific code to new version.
4254         (stype_to_sec_flags): Likewise.  Add section parameter.
4255         * coffgen.c (make_a_section_from_file): Set target_index before
4256         calling styp_to_sec_flags.  Pass section to styp_to_sec_flags.
4257         * libcoff.h: Rebuild.
4258
4259         * syms.c (stt): Add some PE/PEI section names.
4260         (bfd_decode_symclass): Return 'w', not 'U', for a weak undefined
4261         symbol.
4262         (bfd_symbol_info): Check for 'w'.
4263
4264         * section.c (struct bfd_comdat_info): Define.
4265         (asection): Add comdat field.
4266         (STD_SECTION): Initialize comdat field.
4267         (bfd_make_section_anyway): Likewise.
4268         * bfd-in2.h: Rebuild.
4269
4270 1999-09-06  Andreas Schwab  <schwab@suse.de>
4271
4272         * elflink.h (elf_link_add_object_symbols): Copy NON_GOT_REF flag
4273         to version symbols.
4274
4275 1999-09-06  Nick Clifton  <nickc@cygnus.com>
4276
4277         * elflink.h (elf_gc_record_vtentry): Use bfd_zmalloc and
4278         bfd_realloc instead of calloc and realloc.
4279
4280 1999-09-04  Steve Chamberlain  <sac@pobox.com>
4281
4282         * cpu-pj.c: New file.
4283         * elf32-pj.c: New file.
4284         * config.bfd (pj*): New cpu.
4285         (pj-*-*, pjl-*-*): New targets.
4286         * configure.in (bfd_elf32_pj_vec): New target vector.
4287         (bfd_elf32_pjl_vec): New target vector.
4288         * archures.c (bfd_arch_pj): Define.
4289         * elf.c (prep_headers): Handle bfd_arch_pj.
4290         * reloc.c: Define BFD_RELOC_PJ_* relocations.
4291         * targets.c (bfd_elf32_pj_vec, bfd_elf32_pjl_vec): Declare and add
4292         to target vector list.
4293         * Makefile.am: Rebuild dependencies.
4294         (ALL_MACHINES): Add cpu-pj.lo.
4295         (ALL_MACHINES_CFILES): Add cpu-pj.c.
4296         (BFD32_BACKENDS): Add elf32-pj.lo.
4297         (BFD32_BACKENDS_CFILES): Add elf32-pj.c.
4298         * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
4299
4300 1999-09-04  Ian Lance Taylor  <ian@zembu.com>
4301
4302         * elf-bfd.h (ELF_LINK_NON_GOT_REF): Define.
4303         * elflink.h (elf_adjust_dynamic_symbol): Copy REF_REGULAR_NONWEAK
4304         and NON_GOT_REF from weak defined symbol to real symbol.
4305         * elf32-i386.c (elf_i386_check_relocs): Set NON_GOT_REF.
4306         (elf_i386_adjust_dynamic_symbol): If NON_GOT_REF is not set, don't
4307         create a COPY reloc.
4308         * elf32-sparc.c (elf32_sparc_check_relocs): Set NON_GOT_REF.
4309         (elf32_sparc_adjust_dynamic_symbol): If NON_GOT_REF is not set,
4310         don't create a COPY reloc.
4311
4312 1999-09-03  Ian Lance Taylor  <ian@zembu.com>
4313
4314         * elflink.h (elf_bfd_final_link): When counting relocations, don't
4315         count those in sections we are not including in the link.
4316
4317 Thu Sep  2 17:41:20 1999  Jeffrey A Law  (law@cygnus.com)
4318
4319         * elflink.h (elf_link_add_object_symbols): Work around bogus SH_LINK
4320         field in hpux11 shared libraries.
4321
4322 1999-09-02  Nick Clifton  <nickc@cygnus.com>
4323
4324         * elflink.h (elf_gc_record_vtentry): Fix memory leak.
4325
4326 Wed Sep  1 13:34:29 1999  Jeffrey A Law  (law@cygnus.com)
4327
4328         * elf-hppa.h (elf_hppa_add_symbol_hook): New function.
4329         (elf_hppa_final_link, elf_hppa_relocate_section): Likewise.
4330         (elf_hppa_final_link_relocate, elf_hppa_relocate_insn): Likewise.
4331
4332 1999-08-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>
4333
4334         * elflink.h (record_link_assignment): When possible, keep the
4335         original type of the symbol.
4336
4337 Mon Aug 30 15:26:48 1999  Jeffrey A Law  (law@cygnus.com)
4338
4339         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Allow both
4340         R_PARISC_DIR32 and R_PARISC_DIR64 regardless of how the
4341         tools were configured.
4342         * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Declare.
4343
4344 1999-08-26  Mark Mitchell  <mark@codesourcery.com>
4345
4346         * elf32-mips.c (_bfd_mips_elf_check_relocs): Don't allocate local
4347         GOT entries for GOT16 relocations; they're not required.
4348
4349 1999-08-24  Nick Clifton  <nickc@cygnus.com>
4350
4351         From a patch submitted by Roland McGrath  <roland@baalperazim.frob.com>
4352
4353         * config.bfd (arm-*-netbsd*): New target.
4354         * configure.in (armnetbsd_vec): New target vector.
4355         * configure: Regenerate
4356         * targets.c (bfd_target_vector): Add &armnetbsd_vec.
4357
4358         * Makefile.am (BFD32_BACKENDS): Add armnetbsd.lo.
4359         (ALL_MACHINES_CFILES): Add armnetbsd.c.
4360         (armnetbsd.lo): New rule with deps.
4361         * Makefile.in: Regenerate.
4362
4363         * armnetbsd.c: New file:  Definitions specific to arm-netbsd
4364         target.
4365
4366 Tue Aug 24 00:25:58 1999  Jeffrey A Law  (law@cygnus.com)
4367
4368         * som.c (som_slurp_symbol_table): Fix typo in comment.
4369
4370 Fri Aug 20 17:01:23 1999  Jeffrey A Law  (law@cygnus.com)
4371
4372         * elf-hppa.h (elf_hppa_fake_sections): Compute section indices
4373         here instead of using elf_section_data...
4374
4375 1999-08-19  Nick Clifton  <nickc@cygnus.com>
4376
4377         * coff-mcore.c (mcore_emit_base_file_entry): New function:  Emit
4378         relocations into the base file.
4379         (coff_mcore_relocate_section): Call mcore_emit_base_file_entry if
4380         we are building a base file.
4381
4382 1999-08-19  Nick Clifton  <nickc@cygnus.com>
4383
4384         * elf32-arm.h (arm_add_to_rel): New function.  Add a value to
4385         a REL style reloc.
4386         (elf32_arm_relocate_section): Use arm_add_to_rel to increment
4387         REL relocs when performing a partial relocation.
4388
4389 1999-08-18  Donn Terry  <donn@interix.com>
4390
4391         * cofflink.c: Move definitions of N_TMASK, et. al., out of
4392         _bfd_coff_link_input_bfd into top level.
4393
4394         * coff-i386.c (coff_i386_reloc): Handle R_IMAGEBASE.
4395         (RTYPE2HOWTO): Return NULL if reloc type is out of range.
4396         (coff_i386_rtype_to_howto): Likewise.
4397         * coffcode.h (coff_slurp_symbol_table): Change a -2 to N_DEBUG.
4398         Completely ignore symbols which are all zero.
4399         (dummy_reloc16_estimate): Add return 0.
4400         * cofflink.c (_bfd_coff_link_input_bfd): Rename inner scope
4401         variable copy to name_copy to avoid shadowing outer scope
4402         variable.
4403         * libcoff-in.h (coff_data_type): Change raw_syment_count field
4404         from unsigned int to unsigned long.  Add timestamp field.
4405         * libcoff.h: Rebuild.
4406
4407 1999-08-17  H.J. Lu  <hjl@gnu.org>
4408
4409         * elf32-hppa.c (bfd_elf32_bfd_is_local_label_name): Fix typo in
4410         macro definition.
4411
4412 1999-08-17  Ian Lance Taylor  <ian@zembu.com>
4413
4414         * elf32-mips.c (_bfd_mips_elf_add_symbol_hook): Set BSF_DYNAMIC
4415         for special section symbols.
4416         * elflink.h (elf_merge_symbol): If we have no old BFD, check
4417         BSF_DYNAMIC on the section symbol to see whether the old BFD is
4418         dynamic.
4419
4420 1999-08-15  Mark Mitchell  <mark@codesourcery.com>
4421
4422         * elf32-mips.c (mips_elf_calculate_relocation): Fix unfortunate
4423         coincidence of variable names between old and new code.
4424
4425 1999-08-12  Nick Clifton  <nickc@cygnus.com>
4426
4427         * elf32-arm.h (elf32_arm_to_thumb_stub):  Make 'offset' parameter
4428         into a bfd_vma and 'addend' parameter a 'bfd_signed_vma'.
4429         (elf32_thumb_to_arm_stub):  Make 'offset' parameter into a bfd_vma
4430         and 'addend' parameter a 'bfd_signed_vma'.
4431         (elf32_arm_final_link_relocate): Do not involve stubs in
4432         R_ARM_THM_PC22 relocs relative to section symbols, they are long
4433         jumps, not function calls.
4434
4435 1999-08-11  Robin Farine <advanc@dial.eunet.ch>
4436
4437         * elf32-arm.h (elf32_arm_final_link_relocate): Check for overflow
4438         in R_ARM_PC24 relocs.
4439
4440 Tue Aug 10 12:48:09 1999  Jeffrey A Law  (law@cygnus.com)
4441
4442         * elf-hppa.h (elf_hppa_fake_sections): New function.
4443         * elf32-hppa.c (elf_backend_fake_sections): Define.
4444
4445         * elf-hppa.h (elf_hppa_final_write_processing): Update for
4446         recent changes to the arch_info structure.
4447
4448         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle
4449         R_HPPA_SEGBASE and R_HPPA_SEGREL32.
4450         * cpu-hppa.c (bfd_hppa20w_arch): New entry in architecture info
4451         list.
4452
4453 Tue Aug 10 00:34:29 1999  Mark P. Mitchell  <mark@codesourcery.com>
4454                           Ralf Baechle <ralf@uni-koblenz.de>
4455
4456         * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Always
4457         output DT_MIPS_GOTSYM.
4458         (_bfd_mips_elf_finish_dynamic_sections): Use the same value as
4459         DT_MIPS_SYMTABNO if there are no global GOT symbols.
4460
4461 Tue Aug 10 00:21:08 1999  Mark P. Mitchell  <mark@codesourcery.com>
4462
4463         * elf32-mips.c (mips_elf_create_dynamic_relocation): Change
4464         prototype.  Handle local symbols.  Add commentary.
4465         (mips_elf_calculate_relocation): Adjust accordingly.
4466         (_bfd_mips_elf_check_relocs): Handle local symbols in R_MIPS_32
4467         relocations.
4468
4469         * elflink.h (elf_bfd_final_link): Tweak last change.
4470
4471 1999-08-09  Mark Mitchell  <mark@codesourcery.com>
4472
4473         * elflink.h (elf_link_size_reloc_section): Use the counts in the
4474         elf-section data to allocate just the right amount of relocation
4475         space.  Don't allocate the hash space twice.
4476         (elf_bfd_final_link): Calculate the amount of space to allocate in
4477         each relocation section.
4478
4479 Mon Aug  9 17:37:30 1999  Jeffrey A Law  (law@cygnus.com)
4480
4481         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case 32): When in
4482         64bit mode, generate a section relative relocation for a 32bit
4483         wide relocation.
4484         (elf_hppa_is_local_label_name): New function.
4485         * elf32-hppa.c (elf_hppa_is_local_label_name): Deleted.  To be
4486         shared between 32bit and 64bit port.
4487
4488 1999-08-09  Mark Mitchell  <mark@codesourcery.com>
4489
4490         * elf32-mips.c (elf_mips_howto_table): Fix src_mask for
4491         R_MIPS_GOT16 and R_MIPS_CALL16.
4492         (mips_elf_got16_entry): Use mips_elf_high to calculate the value
4493         to use when looking for a preexisting GOT entry.
4494
4495 1999-08-09  Jakub Jelinek  <jj@ultra.linux.cz>
4496
4497         * elf64-sparc.c (sparc64_elf_relocate_section): Back out part of
4498         the Sep. 4th, 1998 change.  glibc 2.0.x dynamic linker had bug,
4499         not binutils.
4500         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4501
4502 1999-08-09  Geoff Keating  <geoffk@cygnus.com>
4503
4504         * elflink.h (elf_link_output_extsym): Don't output a weak
4505         reference to an undefined symbol just because it was defined weak
4506         in a shared object.
4507
4508 1999-08-09  Eli Zaretskii  <eliz@is.elta.co.il>
4509
4510         * coffgen.c (coff_find_nearest_line): When looking for file, use
4511         last best match rather than first.  If address is beyond last line
4512         number record, don't return the last line as the correct value.
4513
4514 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
4515
4516         * section.c (SEC_SMALL_DATA): Rename from SEC_SHORT.
4517         * bfd-in2.h: Rebuild.
4518
4519 1999-08-08  Mark Elbrecht  <snowball3@bigfoot.com>
4520
4521         * libcoff-in.h (struct coff_section_alignment_entry): Define.
4522         * coffcode.h (coff_set_custom_section_alignment): New static
4523         function.
4524         (coff_section_alignment_table): New static array.
4525         (coff_new_section_hook): Use coff_set_customer_section_alignment.
4526         * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
4527         * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
4528         * libcoff.h: Rebuild.
4529
4530 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
4531
4532         * Makefile.am: Rename .dep* files to DEP*.  Change DEP variable to
4533         MKDEP.
4534         * Makefile.in: Rebuild.
4535
4536 1999-08-08  Mumit Khan  <khan@xraylith.wisc.edu>
4537
4538         * section.c (SEC_SHARED): Define.
4539         * coffcode.h (sec_to_styp_flags): Handle SEC_SHARED.
4540         (styp_to_sec_flags): Likewise.
4541         * peicode.h (coff_swap_scnhdr_out): Likewise.
4542         * bfd-in2.h: Rebuild.
4543
4544 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
4545
4546         * coffcode.h (coff_classify_symbol): Comment out part of
4547         1999-08-05 change which breaks cygwin DLLs.
4548
4549         * acinclude.m4 (BFD_BINARY_FOPEN): Change -windows to -windows*.
4550         * aclocal.m4, configure: Rebuild.
4551
4552 1999-08-06  Ian Lance Taylor  <ian@zembu.com>
4553
4554         * section.c (global_syms): Only initialize union field if
4555         __STDC__.
4556
4557 1999-08-04  Mark Mitchell  <mark@codesourcery.com>
4558
4559         * elf32-mips.c (mips_elf_got16_entry): Don't multiply GOT index by
4560         the size of a GOT entry here.
4561         (mips_elf_calculate_relocation): Don't create a local GOT entry
4562         for the symbol in a GOT16 relocation; just for it's high-order bit
4563         (_bfd_mips_elf_relocate_section): Fix thinko.
4564
4565 1999-08-05  Ian Lance Taylor  <ian@zembu.com>
4566
4567         Based on patches from Donn Terry <donn@interix.com>:
4568         * coffcode.h (enum coff_symbol_classification): Define.
4569         (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to
4570         _bfd_coff_classify_symbol.  Change return type.
4571         (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global.
4572         (coff_slurp_symbol_table): Use coff_classify_symbol.
4573         (coff_classify_symbol): New static function.
4574         (coff_sym_is_global): Never define.
4575         (bfd_coff_std_swap_table): Initialize with coff_classify_symbol.
4576         * cofflink.c (coff_link_check_ar_symbols): Use
4577         bfd_coff_classify_symbol rather than bfd_coff_sym_is_global.
4578         (coff_link_add_symbols): Likewise.
4579         (_bfd_coff_link_input_bfd): Likewise.
4580         * coff-sh.c (bfd_coff_small_swap_table): Initialize with
4581         coff_classify_symbol.
4582         * libcoff.h: Rebuild.
4583
4584 Wed Aug  4 18:08:07 1999  Jeffrey A Law  (law@cygnus.com)
4585
4586         * libhppa.h (R_HPPA_LTPSEL, R_HPPA_RTPSEL): New field selectors
4587         (e_ltpsel, e_rtpsel): Similarly.
4588
4589         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle 21bit e_ltpsel
4590         and 14bit ertpsel.  Handle 64bit psel.
4591
4592 1999-08-04  Mark Mitchell  <mark@codesourcery.com>
4593
4594         * elf32-mips.c (_bfd_mips_elf_relocate_section): Tweak HI16/LO16
4595         handling for REL relocations.  And only left-shift R_MIPS26
4596         relocation addends where necessary.
4597
4598 1999-08-03  Mark Mitchell  <mark@codesourcery.com>
4599
4600         * elf32-mips.c (mips_elf_next_lo16_addend): Rename to ...
4601         (mips_elf_next_lo16_relocation): Don't compute the addend here.
4602         Just return the relocation found.
4603         (mips_elf_relocate_section): Pull the LO16 addend out of the
4604         section itself when using REL relocations.
4605
4606         * elf32-mips.c (mips_elf_calculate_relocation): Restore
4607         _DYNAMIC_LINK handling and handling of undefined symbols in shared
4608         libraries.
4609
4610 1999-08-03  Ian Lance Taylor  <ian@zembu.com>
4611
4612         * elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation
4613         value of a symbol in a SEC_DEBUGGING section.  Warn when doing a
4614         relocation against a symbol in an input section with no output
4615         section.  From Daniel Jacobowitz <drow@false.org>.
4616
4617         * coff-stgo32.c (go32_stubbed_coff_object_p): Remove; not used.
4618
4619         * acinclude.m4 (BFD_CC_FOR_BUILD): Change to use conftest, and to
4620         look for generated file correctly.
4621         * aclocal.m4, configure: Rebuild.
4622
4623 1999-08-02  Mark Mitchell  <mark@codesourcery.com>
4624
4625         * elf32-mips.c (_bfd_mips_elf_relocate_section): Handle R_MIPS_26
4626         and R_MIPS16_26 relocations correctly when relocating.
4627         (_bfd_mips_elf_check_relocs): Don't assume that R_MIPS_CALL_HI16
4628         and R_MIPS_CALL_LO16 are for global symbols.
4629
4630 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
4631
4632         * elflink.h (elf_bfd_final_link): Copy the whole isym, not just
4633         some fields.
4634         * elf64-sparc.c (sparc64_elf_output_arch_syms): Declare used
4635         variables and initialize them.
4636
4637 1999-08-01  Mark Mitchell  <mark@codesourcery.com>
4638
4639         * elf32-mips.c (_bfd_mips_elf_final_link): Handle the case where
4640         there are no global symbols requiring GOT entries.
4641         (_bfd_mips_elf_size_dynamic_sections): Likewise.
4642         (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
4643         (_bfd_mips_elf_finish_dynamic_sections): Likewise.
4644
4645         * elf32-mips.c (mips_elf_calculate_relocation): Undefined weak
4646         symbols are considered to have the value zero.
4647         (_bfd_mips_elf_relocate_section): Don't try to perform a
4648         relocation for an undefined symbol.
4649         (_bfd_mips_elf_check_relocs): Allocate locate GOT space for local
4650         GOT16 relocations.
4651
4652 1999-07-30  Jakub Jelinek  <jj@ultra.linux.cz>
4653
4654         * elf64-sparc.c (sparc64_elf_build_plt): Cosmetic change - ABI
4655         wants ba,a,pt %xcc instead of %icc.
4656         Emit correct .PLT0-(.PLTN+4) initial value into the pointer slots
4657         of large PLT entries.
4658         (sparc64_elf_plt_ptr_offset): Fix calculation.
4659         (sparc64_elf_finish_dynamic_symbol): Negative value of R_SPARC_JMP_SLOT
4660         addend should be relative to load address, not .plt section start.
4661         (sparc64_elf_size_info): Sparc64 uses 32bit .hash entries.
4662
4663 1999-07-30  Jakub Jelinek  <jj@ultra.linux.cz>
4664
4665         * elf-bfd.h (struct elf_backend_data): Add
4666         print_symbol_all and output_arch_syms backend methods.
4667         * elfxx-target.h: Likewise.
4668         * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create,
4669         sparc64_elf_add_symbol_hook, sparc64_elf_output_arch_syms,
4670         sparc64_elf_get_symbol_type, sparc64_elf_symbol_processing): New
4671         functions.
4672         (sparc64_elf_size_dynamic_sections): Leave space for STT_REGISTER
4673         symbols in .dynsym, add their names into .dynstr. Put those symbols
4674         into dynlocal.
4675         (sparc64_elf_finish_dynamic_sections): Fix up DT_SPARC_REGISTER
4676         pointers to STT_REGISTER symbols in dynsym section.
4677         (sparc64_elf_print_symbol_all): New function.
4678         * elf.c (bfd_elf_print_symbol): Allow special backend symbol
4679         printing using the print_symbol_all hook.
4680
4681 1999-07-30  Catherine Moore  <clm@cygnus.com>
4682
4683         * elf32-arm.h (elf32_arm_check_relocs):  Use r_offset for
4684         R_ARM_GNU_VTENTRY.
4685
4686 1999-07-29  Richard Henderson  <rth@cygnus.com>
4687
4688         * elf32-mips.c (_bfd_mips_elf_final_link): Only re-sort dynsyms if
4689         dynamic_sections_created.
4690
4691 1999-07-29  Richard Henderson  <rth@cygnus.com>
4692
4693         * elf32-mips.c (mips_info_to_howto_rel): Split out switch to ...
4694         (mips_rtype_to_howto): ... new function.
4695         (_bfd_mips_elf_relocate_section): Use it.
4696
4697 1999-07-28  Mark Mitchell  <mark@codesourcery.com>
4698
4699         * elf32-mips.c (_bfd_mips_elf_relocate_section): Fix typo.
4700
4701 1999-07-27  Nick Clifton  <nickc@cygnus.com>
4702
4703         Patch generated by Bernd Schmidt. <bernds@cygnus.co.uk>
4704
4705         * coff-arm.c (coff_arm_is_local_label_name): Change to strip
4706         out only symbols that start with LOCAL_LABEL_PREFIX followed by 'L'.
4707
4708 1999-07-23  Donn Terry  <donn@interix.com>
4709
4710         * libcoff-in.h (coff_link_hash_entry): Add coff_link_hash_flags
4711         field, and define COFF_LINK_HASH_PE_SECTION_SYMBOL.
4712         * cofflink.c (coff_link_add_symbols): If PE, handle section
4713         symbols specially.
4714         * libcoff.h: Rebuild.
4715
4716         * config.bfd (i[3456]86-*-interix*): New target.
4717
4718 1999-07-21  Mark Elbrecht  <snowball3@bigfoot.com>
4719
4720         * coffcode.h (styp_to_sec_flags): If COFF_LONG_SECTION_NAMES and
4721         COFF_SUPPORT_GNU_LINKONCE, mark sections whose names begin with
4722         .gnu.linkonce with SEC_LINKONCE and SEC_LINK_DUPLICATES_DISCARD.
4723         * coff-go32.c: (COFF_LONG_SECTION_NAMES): Define.
4724         (COFF_SUPPORT_GNU_LINKONCE): Define.
4725         * coff-stgo32.c: (COFF_LONG_SECTION_NAMES): Define.
4726         (COFF_SUPPORT_GNU_LINKONCE): Define.
4727
4728 1999-07-21  Ian Lance Taylor  <ian@zembu.com>
4729
4730         From Mark Elbrecht:
4731         * makefile.dos: Remove; obsolete.
4732         * configure.bat: Remove; obsolete.
4733
4734 1999-07-21  H.J. Lu  <hjl@gnu.org>
4735
4736         * config.bfd (i[3456]86-*-vxworks*): Add targ_underscore=yes.
4737
4738 1999-07-21  Philippe De Muyter  <phdm@macqel.be>
4739
4740         * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error
4741         message and fail if a symbol index is out of range.
4742
4743 1999-07-21  Ian Lance Taylor  <ian@zembu.com>
4744
4745         * elf32-mips.c (mips_elf_calculate_relocation): Get the GP value
4746         when looking at a R_MIPS_GOT16 relocation.
4747
4748 1999-07-20  Nick Clifton  <nickc@cygnus.com>
4749
4750         * coff-m88k.c: Use CREATE_BIG_COFF_TARGET_VEC.
4751
4752 Mon Jul 19 14:03:44 1999  Mark P. Mitchell  <mark@codesourcery.com>
4753
4754         * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP
4755         removed in previous change.
4756         (_bfd_mips_elf_relocate_section): Adjust GP relative relocations
4757         in relocateable output.
4758
4759 1999-07-19  Ian Lance Taylor  <ian@zembu.com>
4760
4761         * coff-m88k.c (m88kbcs_vec): Initialize new field of bfd_target
4762         structure.
4763
4764         * elflink.h (elf_merge_symbol): Do merge symbols from the same BFD
4765         if they appear to be specially created by the linker.
4766
4767 1999-07-19  Nick Clifton  <nickc@cygnus.com>
4768
4769         * targets.c (alternative_target): New field in bfd_target
4770         structure.
4771         (bfd_search_for_target): New function:  Find a target that
4772         satisifies a search function.
4773         * bfd-in2.h: Regenerate.
4774
4775         * elfxx-target.h: Initialise the alternative_target field of
4776         the bfd_target structures to point to the other target (if
4777         defined).
4778         * nlm-target.h: Initialise the alternative_target field of
4779         the bfd_target structures to point to the other target (if
4780         defined).
4781
4782         * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): New macro.
4783         (CREATE_LITTLE_COFF_TARGET_VEC): New macro.
4784
4785         * aix386-core.c: Initialise new field of bfd_target structure.
4786         * aout-adobe.c: Initialise new field of bfd_target structure.
4787         * aout-arm.c: Initialise new field of bfd_target structure.
4788         * aout-target.h: Initialise new field of bfd_target structure.
4789         * aout-tic30.c: Initialise new field of bfd_target structure.
4790         * binary.c: Initialise new field of bfd_target structure.
4791         * bout.c: Initialise new field of bfd_target structure.
4792         * cisco-core.c: Initialise new field of bfd_target structure.
4793         * coff-a29k.c: Use CREATE_BIG_COFF_TARGET_VEC.
4794         * coff-alpha.c: Initialise new field of bfd_target structure.
4795         * coff-apollo.c: Use CREATE_BIG_COFF_TARGET_VEC.
4796         * coff-arm.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
4797         * coff-h8300.c: Use CREATE_BIG_COFF_TARGET_VEC.
4798         * coff-h8500.c: Use CREATE_BIG_COFF_TARGET_VEC.
4799         * coff-i386.c: Initialise new field of bfd_target structure.
4800         * coff-i860.c: Initialise new field of bfd_target structure.
4801         * coff-i960.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
4802         * coff-m68k.c: Use CREATE_BIG_COFF_TARGET_VEC.
4803         * coff-mcore.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
4804         * coff-mips.c: Initialise new field of bfd_target structure.
4805         * coff-ppc.c: Initialise new field of bfd_target structure.
4806         * coff-rs6000.c: Initialise new field of bfd_target structure.
4807         * coff-sh.c:  Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
4808         * coff-sparc.c: Use CREATE_BIG_COFF_TARGET_VEC.
4809         * coff-tic30.c: Initialise new field of bfd_target structure.
4810         * coff-tic80.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
4811         * coff-w65.c:   Use CREATE_LITTLE_COFF_TARGET_VEC.
4812         * coff-we32k.c: Use CREATE_BIG_COFF_TARGET_VEC.
4813         * coff-z8k.c:   Use CREATE_BIG_COFF_TARGET_VEC.
4814         * hppabsd-core.c: Initialise new field of bfd_target structure.
4815         * hpux-core.c: Initialise new field of bfd_target structure.
4816         * i386msdos.c: Initialise new field of bfd_target structure.
4817         * i386os9k.c: Initialise new field of bfd_target structure.
4818         * ieee.c: Initialise new field of bfd_target structure.
4819         * ihex.c: Initialise new field of bfd_target structure.
4820         * irix-core.c: Initialise new field of bfd_target structure.
4821         * mipsbsd.c: Initialise new field of bfd_target structure.
4822         * netbsd-core.c: Initialise new field of bfd_target structure.
4823         * oasys.c: Initialise new field of bfd_target structure.
4824         * osf-core.c: Initialise new field of bfd_target structure.
4825         * ppcboot.c: Initialise new field of bfd_target structure.
4826         * ptrace-core.c: Initialise new field of bfd_target structure.
4827         * sco5-core.c: Initialise new field of bfd_target structure.
4828         * som.c: Initialise new field of bfd_target structure.
4829         * srec.c: Initialise new field of bfd_target structure.
4830         * tekhex.c: Initialise new field of bfd_target structure.
4831         * trad-core.c: Initialise new field of bfd_target structure.
4832         * versados.c: Initialise new field of bfd_target structure.
4833         * vms.c: Initialise new field of bfd_target structure.
4834
4835 1999-07-19  Andreas Schwab  <schwab@suse.de>
4836
4837         * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash
4838         and rel_hdr.
4839
4840 Sat Jul 17 02:28:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
4841
4842         * elflink.h (elf_link_adjust_relocs): New function.
4843         (elf_bfd_final_link): Use it.
4844         (elf_link_input_bfd): Deal with the fact that there can be
4845         two relocation sections for a single section.
4846         (elf_reloc_link_order): Likewise.
4847
4848         * elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for
4849         a relocateable object.
4850         (_bfd_mips_elf_relocate_section): Handle relocateable links.
4851
4852 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
4853
4854         * elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID.
4855         (sparc64_elf_get_reloc_upper_bound,
4856         sparc64_elf_get_dynamic_reloc_upper_bound,
4857         sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
4858         sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs):
4859         New functions.
4860         (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use
4861         ELF64_R_TYPE_ID/DATA where appropriate.
4862
4863 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
4864
4865         * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove
4866         DT_SPARC_PLTFMT.
4867
4868 1999-07-16  Ian Lance Taylor  <ian@zembu.com>
4869
4870         * elf32-mips.c (mips_elf_local_relocation_p): New static
4871         function.
4872         (mips_elf_next_lo16_addend): Call bfd_set_error on failure.
4873         (mips_elf_calculate_relocation): Use mips_elf_local_relocation_p.
4874         Always set *require_jalxp.
4875         (mips_elf_stub_section_p): Mark abfd parameter as unused.
4876         (_bfd_mips_elf_relocate_section): Only look for LO16 following
4877         GOT16 if the GOT16 is against a local symbol.  Don't return false
4878         for an undefined symbol.  If there is an overflow, assert that we
4879         have a name.
4880
4881 1999-07-16  Andreas Schwab  <schwab@suse.de>
4882
4883         * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused
4884         variables `link' and `elfsec'.
4885         (elf_bfd_final_link): Remove unused variable `os'.
4886
4887 Thu Jul 15 17:55:31 1999  Mark P. Mitchell  <mark@codesourcery.com>
4888
4889         * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require
4890         a PT_PHDR program headers.
4891         (_bfd_mips_elf_final_link): Don't assume there are going to be
4892         section symbols when we're not building a shared object.
4893         (_bfd_mips_elf_check_relocs): Make sure we have a GOT when
4894         we need one.
4895
4896 1999-07-15  J.T. Conklin  <jtc@redback.com>
4897
4898         * config.bfd (i[3456]86-*-vxworks*): New target.
4899
4900 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
4901
4902         * elf32-mips.c (mips_elf_stub_section_p): New function.
4903         (mips_elf_calculate_relocation): Handle MIPS16 stub functions.
4904         (mips_elf_relocate_section): Adjust calling sequence for
4905         mips_elf_calculate_relocation and mips_elf_perform_relocation.
4906         (mips_elf_perform_relocation): Turn `jal' into `jalx' where
4907         required.
4908
4909 1999-07-15  Ian Lance Taylor  <ian@zembu.com>
4910
4911         * configure.in: Bump version number to 2.9.5.
4912         * configure: Rebuild.
4913
4914 Thu Jul 15 02:56:15 1999  Jeffrey A Law  (law@cygnus.com)
4915
4916         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
4917         64bit format.
4918         (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
4919         to derive final type instead of hardwiring a selection.
4920
4921 1999-07-14  Mark Mitchell  <mark@codesourcery.com>
4922
4923         * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of
4924         things relocated by R_MIPS16_GPREL.
4925         (mips_elf_perform_relocation): Likewise.
4926
4927 Wed Jul 14 15:23:19 1999  Jim Wilson  <wilson@cygnus.com>
4928
4929         * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss.
4930
4931 1999-07-14  Richard Henderson  <rth@cygnus.com>
4932
4933         * elf32-mips.c (struct mips_got_info): Add global_gotno.
4934         (_bfd_mips_elf_size_dynamic_sections): Set it.
4935         (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow.
4936         (mips_elf_sort_hash_table): Set max_non_got_dynindex based off
4937         new argument max_local.
4938
4939 1999-07-14  Mark Mitchell  <mark@codesourcery.com>
4940
4941         * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit
4942         subwords when handling an R_MIPS16_26 relocation.
4943         (mips_elf_perform_relocation): Don't be paranoid abour right-shift
4944         semantics.
4945
4946         * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and
4947         dst_mask to match reality.
4948         (_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL.
4949         (mips_elf_obtain_contents): Use bfd_get.
4950         (mips_elf_perform_relocation): Handle R_MIPS16_GPREL.
4951         (mips_elf_relocate_section): Likewise.
4952
4953 1999-07-13  Mark Mitchell  <mark@codesourcery.com>
4954
4955         * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
4956         (mips_elf_relocate_section): Adjust calling sequence for
4957         mips_elf_perform_relocation.
4958         (mips_elf_perform_relocation): Take additional argument.  Handle
4959         R_MIPS16_26.  Use bfd_put for convenience.
4960
4961 1999-07-13  Richard Henderson  <rth@cygnus.com>
4962
4963         * elf.c (assign_file_positions_for_segments): Thinko last change.
4964         Always overwrite p_flags.
4965
4966 1999-07-13  Richard Henderson  <rth@cygnus.com>
4967
4968         * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
4969         * elflink.c (_bfd_elf_create_dynamic_sections): Only create
4970         .dynbss and .rel[a].bss if want_dynbss.
4971         * elfxx-target.h (elf_backend_want_dynbss): Provide default.
4972
4973 1999-07-13  Richard Henderson  <rth@cygnus.com>
4974
4975         * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags.
4976
4977 1999-07-13  Richard Henderson  <rth@cygnus.com>
4978
4979         * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
4980         (struct elf_link_hash_table): Add dynlocal.
4981         (_bfd_elf_link_lookup_local_dynindx): Prototype.
4982         (_bfd_elf_link_adjust_dynindx): Delete.
4983         (_bfd_elf_link_renumber_dynsyms): Prototype.
4984         (_bfd_elf,link_record_local_dynamic_symbol): Prototype.
4985         * elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
4986         * elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
4987         (_bfd_elf_link_lookup_local_dynindx): New function.
4988         (elf_link_renumber_hash_table_dynsyms): New function.
4989         (_bfd_elf_link_renumber_dynsyms): New function.
4990         * elflink.h (elf_link_record_local_dynamic_symbol): New function.
4991         (struct elf_assign_sym_version_info): Delete removed_dynamic.
4992         (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
4993         instead of elf_link_remove_section_and_adjust_dynindices.
4994         Remove removed_dynamic code.  Use _bfd_elf_link_renumber_dynsyms.
4995         (elf_link_assign_sym_version): Remove removed_dynamic code.
4996         (elf_link_renumber_dynsyms): Delete.
4997         (elf_bfd_final_link): Install section and local symbols into .dynsym.
4998
4999         * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
5000         (elf_m68k_size_dynamic_sections): Don't set section dynindicies.
5001         (elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
5002         * elf32-mips.c: Similarly.
5003         * elf32-ppc.c: Similarly.
5004         * elf32-sparc.c: Similarly.
5005         * elf64-alpha.c: Similarly.
5006         * elf64-sparc.c: Similarly.
5007
5008 1999-07-13  Mark Mitchell  <mark@codesourcery.com>
5009
5010         * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
5011         when _gp_disp is undefined.  Do not check R_MIPS_LO16 for overflow
5012         when the relocation is against _gp_disp.
5013
5014 1999-07-12  Mark Mitchell  <mark@codesourcery.com>
5015
5016         * dwarf2.c (read_attribute): Support DW_FORM_ref8.
5017         * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs
5018         to possibly_dynamic_relocs.  Adjust usage throughout code.
5019         (elf_mips_howto_table): Handle R_MIPS_64 correctly.
5020         (elf_mips_ctor64_howto): Likewise.
5021         (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32.
5022         Adjust indentation.
5023         (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode.
5024         (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32.
5025         Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries.
5026         * elf64-mips.c (elf_backend_may_use_rel_p): Define.
5027
5028 1999-07-12  Ian Lance Taylor  <ian@zembu.com>
5029
5030         * Makefile.am: Rebuild dependencies.
5031         * Makefile.in: Rebuild.
5032
5033         * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE.
5034         * bfd-in2.h: Rebuild.
5035
5036         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
5037         as appropriate.  Use EMPTY_HOWTO as appropriate.  Fill in
5038         structure initializations.  Add casts.
5039         * reloc.c (EMPTY_HOWTO): Define.
5040         * bfd-in2.h: Rebuild.
5041         * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
5042         comparisons against 0.
5043         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
5044         previous_ibfd_e_flags to unsigned long.
5045         * vms.h (struct vms_private_data_struct): Change section_count to
5046         unsigned.
5047         * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
5048         (_bfd_vms_write_gsd): Change symnum to unsigned.
5049         * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
5050         * vms-tir.c (etir_sta): Change psect to unsigned.
5051         (alloc_section): Change idx to unsigned.
5052         (tir_sta, tir_ctl): Change psect to unsigned.
5053         (_bfd_vms_write_tir): Change len and before to bfd_size_type.
5054         * vms.c (priv_section_count): Change to unsigned.
5055
5056 1999-07-12  Andreas Schwab  <schwab@suse.de>
5057
5058         * elf32-m68k.c: Add some ATTRIBUTE_UNUSED.
5059         * m68klinux.c: Likewise.
5060
5061 1999-07-12  Ian Lance Taylor  <ian@zembu.com>
5062
5063         * Many files: Changes to avoid gcc warnings: Remove unused local
5064         variables.  Add default case to enum switches.
5065         * coff-arm.c (bfd_arm_allocate_interworking_sections): Only
5066         compile if not COFF_IMAGE_WITH_PE.
5067         (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
5068         (bfd_arm_get_bfd_for_interworking): Likewise.
5069         (bfd_arm_process_before_allocation): Likewise.
5070         * epoc-pei-arm.c: Don't rename bfd_arm functions.
5071         * pei-arm.c: Likewise.
5072         * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
5073         (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
5074         (mips_elf_got16_entry): Put parens around & in body of ==.
5075         (mips_elf_calculate_relocation): Correct test for empty string.
5076         * vms-gsd.c: Use _bfd_error_handler rather than fprintf to
5077         stderr.
5078         * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
5079         format.
5080
5081 1999-07-11  Ian Lance Taylor  <ian@zembu.com>
5082
5083         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
5084         as appropriate.  Fill in structure initializations.  Add variable
5085         initializations.  Add casts.
5086         * dwarf1.c (parse_line_table): Change eachLine to unsigned long.
5087         (dwarf1_unit_find_nearest_line): Change i to unsigned long.
5088
5089         * elf.c (bfd_elf_hash): Change parameter from unsigned char * to
5090         char *.
5091         * elf-bfd.h (bfd_elf_hash): Update declaration.
5092         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts
5093         when calling bfd_elf_hash.
5094
5095 1999-07-11  Mark Mitchell  <mark@codesourcery.com>
5096
5097         * libbfd.c (bfd_put_8): Make it of type `void'.
5098         * bfd-in2.h: Regenerated.
5099         * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
5100         for 32-bit hosts.
5101         (_bfd_mips_elf_final_link): Likewise.
5102
5103         * elflink.h (elf_link_read_relocs_from_section): Be type-correct.
5104
5105 Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
5106
5107         * config.bfd (hppa*-*-linux-gnu*): New target
5108
5109 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
5110
5111         * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
5112         (_bfd_mips_elf_create_dynamic_sections): New function.
5113         (_bfd_mips_elf_add_symbol_hook): Likewise.
5114         (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
5115         (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
5116         (_bfd_mips_elf_finish_dynamic_sections): Likewise.
5117         (_bfd_mips_elf_gc_mark_hook): Likewise.
5118         (_bfd_mips_elf_gc_sweep_hook): Likewise.
5119         (_bfd_mips_elf_always_size_sections): Likewise.
5120         (_bfd_mips_elf_size_dynamic_sections): Likewise.
5121         (_bfd_mips_elf_check_relocs): Likewise.
5122         (_bfd_mips_elf_link_hash_table_create): Likewise.
5123         (_bfd_mips_elf_print_private_data): Likewise.
5124         (_bfd_mips_elf_link_output_symbol_hook): Likewise.
5125         (_bfd_mips_elf_final_link): Likewise.
5126         (_bfd_mips_elf_additional_program_headers): Likewise.
5127         (_bfd_mips_elf_modify_segment_map): Likewise.
5128         (_bfd_mips_elf_relocate_section): Likewise.
5129         * elf32-mips.c (mips_elf32_object_p): Move contents into
5130         _bfd_mips_elf_object_p.
5131         (mips_elf_additional_program_headers): Rename to
5132         _bfd_mips_elf_additional_program_headers.
5133         (mips_elf_modify_segment_map): Rename to
5134         _bfd_mips_elf_modify_segment_map.
5135         (elf_mips_abi_name): Change prototype.
5136         (mips_elf32_section_from_shdr): Merge into
5137         _bfd_mips_elf_section_from_shdr.
5138         (mips_elf32_section_processing): Merge into
5139         _bfd_mips_elf_section_processing.
5140         (mips_elf_final_link): Rename to _bfd_mips_elf_final_link.  Invoke
5141         the right back-end ELF linker.
5142         (mips_elf_relocate_section): Rename to
5143         _bfd_mips_elf_relocate_section.  Clean up.  Adjust for 64-bit code.
5144         (mips_elf_link_output_symbol_hook): Rename to
5145         _bfd_mips_elf_link_output_symbol_hook.
5146         (mips_elf_create_dynamic_section): Rename to
5147         _bfd_mips_elf_create_dynamic_section.
5148         (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs.
5149         Adjust for 64-bit code.  Use mips_elf_got_section.
5150         (mips_elf_adjust_dynamic_symbol): Rename to
5151         _bfd_mips_elf_adjust_dynamic_symbol.  Use
5152         mips_elf_allocate_dynamic_relocations.
5153         (mips_elf_finish_dynamic_symbol): Rename to
5154         _bfd_mips_elf_finish_dynamic_symbol.  Use mips_elf_got_section.
5155         Adjust for 64-bit code.
5156         (mips_elf_finish_dynamic_sections): Rename to
5157         _bfd_mips_elf_finish_dynamic_sections.  Adjust for 64-bit code.
5158         (mips_elf_always_size_sections): Rename to
5159         _bfd_mips_elf_always_size_sections.
5160         (mips_elf_add_symbol_hook): Rename to
5161         _bfd_mips_elf_add_symbol_hook.
5162         (mips_elf_next_lo16_addend): Constify.
5163         (mips_elf_calculate_relocation): Likewise.
5164         (mips_elf_obtain_contents): Likewise.
5165         (mips_elf_perform_relocation): Likewise.
5166         (mips_elf_create_dynamic_relocation): Likewise.
5167         (mips_elf_allocate_dynamic_relocations): New function.
5168         (MIPS_ELF_REL_DYN_SECTION_NAME): New macro.
5169         (MIPS_ELF_REL_SIZE): Likewise.
5170         (MIPS_ELF_DYN_SIZE): Likewise.
5171         (MIPS_ELF_GOT_SIZE): Likewise.
5172         (MIPS_ELF_SYM_SIZE): Likewise.
5173         (MIPS_ELF_LOG_FILE_ALIGN): Likewise.
5174         (MIPS_ELF_GET_WORD): Likewise.
5175         (MIPS_ELF_PUT_WORD): Likewise.
5176         (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
5177         (STUB_LW): Conditionalize for 64-bit value.
5178         (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST
5179         entries.
5180         (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS].
5181         Check it for inconsistency.
5182         (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit
5183         ABI.
5184         (_bfd_mips_elf_fake_sections): Remove duplicate handling of
5185         .msym.
5186         (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE.
5187         (mips_elf_got_offset_from_index): Use misp_elf_got_section.
5188         (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE.
5189         (mips_elf_local_got_index): Likewise.
5190         (mips_elf_got_page): Likewise.
5191         (mips_elf_got_info): Likewise.
5192         (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split.
5193         (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code.
5194         (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN,
5195         instead of constant `2'.
5196         (mips_elf_create_got_section): Tidy.  Use MIPS_ELF_GOT_SIZE.
5197         (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN.
5198         (mips_elf_size_dynamic_sections): Use
5199         MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE,
5200         MIPS_ELF_ADD_DYNAMIC_ENTRY.  Remove #if 0'd code.
5201         Adjust all releveant entries in elf backend table.
5202         * elf64-mips.c (mips_elf64_section_from_shdr): Remove.
5203         (mips_elf64_section_processing): Likewise.
5204         Adjust elf backend entries to use _bfd_mips_elf variants now
5205         publicly available.
5206
5207         * elflink.h (elf_link_create_dynamic_sections): Handle non-standard
5208         hash-entry sizes.
5209         (size_dynamic_sections): Likewise.
5210         (elf_link_output_extsym): Likewise.
5211         * elf.c: (elf_fake_sections): Likewise.
5212         * libbfd.c (bfd_get): New macro.
5213         (bfd_put): Likewise.
5214         * bfd-in2.h: Regenerated.
5215
5216 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
5217
5218         * elf-bfd.h (elf_size_info): Add hash_entry_size,
5219         int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out,
5220         wap_reloca_in, and swap_reloca_out.
5221         * elflink.h (elf_link_read_relocs_from_section): Adjust to handle
5222         multiple internal relocations per external relocation.
5223         (link_read_relocs): Likewise.
5224         (elf_bfd_final_link): Likewise.
5225         (elf_link_input_bfd): Likewise.
5226         (elf_gc_mark): Likewise.
5227         (elf_gc_smash_unused_vtentry_relocs): Likewise.
5228         * elfcode.h (elf_swap_dyn_out): Adjust type to match
5229         elf_swap_dyn_in.
5230         (size_info): Add entries for new fields.
5231         * elf64-mips.c (mips_elf64_swap_reloc_out): Enable.
5232         (mips_elf64_be_swap_reloc_in): New function.
5233         (mips_elf64_be_swap_reloc_out): Likewise.
5234         (mips_elf64_be_swap_reloca_in): Likewise.
5235         (mips_elf64_be_swap_reloca_out): Likewise.
5236         (mips_elf64_size_info): Add entries for new fields.
5237
5238 1999-07-07  Ian Lance Taylor  <ian@zembu.com>
5239
5240         * elflink.h (elf_bfd_final_link): Assert that section reloc_count
5241         field equals the new rel_count field.
5242         (elf_link_input_bfd): When doing a relocateable link, use the new
5243         rel_count field rather than the reloc_count field.
5244         (elf_reloc_link_order): Likewise.
5245         (elf_finish_pointer_linker_section): Likewise.
5246
5247         Based on patch from H.J. Lu <hjl@gnu.org>:
5248         * elflink.h (elf_merge_symbol): Permit a non-weak definition in a
5249         shared library to override a weak definition in a regular object.
5250
5251 Tue Jul  6 10:23:39 1999  Jeffrey A Law  (law@cygnus.com)
5252
5253         * libhppa.h: Revert July 2, 1999 patch.
5254
5255         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors
5256         need to generate DLTIND relocations, not DLTREL relocations.
5257
5258 1999-07-05  Nick Clifton  <nickc@cygnus.com>
5259
5260         * coffcode.h (coff_set_arch_mach_hook): Recognise arm 5
5261         architectures.
5262         (coff_set_flags): Recognise arm 5 architectures.
5263
5264         * cpu-arm.c: Add support for strongarm and arm9 cpus.
5265         Add support for armv5 architecture.
5266
5267         * archures.c: Add bfd_mach_arm_5 and bfd_mach_arm_5T.
5268
5269         * reloc.c: Add new, assembler only, ARM reloc:
5270         BFD_RELOC_ARM_ADRL_IMMEDIATE.
5271
5272         * bfd-in2.h: Regenerate.
5273
5274 1999-07-02  Mark Mitchell  <mark@codesourcery.com>
5275
5276         * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.
5277         (_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter.
5278         * elf.c (_bfd_elf_find_nearest_line): Pass it.
5279         * elf32-arm.h (elf32_arm_find_nearest_line): Likewise.
5280         * elf32-mips.c (ABI_64_P): New macro.
5281         (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P.
5282         (_bfd_mips_elf_find_nearest_line): Adjust call to
5283         _bfd_dwarf2_find_nearest_line.
5284         * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
5285         * libbfd.h: Regenerated.
5286
5287 1999-07-02  Ian Lance Taylor  <ian@zembu.com>
5288
5289         * config.bfd: Add * at the end of i[3456]86-*-unixware.
5290
5291 Fri Jul  2 12:21:10 1999  Jeffrey A Law  (law@cygnus.com)
5292
5293         * libhppa.h (HPPA_R_ARG_RELOC): Delete.
5294         (HPPA_R_CONSTANT, HPPA_R_ADDEND): Likewise.
5295
5296 1999-07-01  Mark Mitchell  <mark@codesourcery.com>
5297
5298         * elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2
5299         fields.
5300         (_bfd_elf_init_reloc_shdr): New function.
5301         * elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than
5302         bfd_alloc followed by memset.
5303         (_bfd_elf_init_reloc_shdr): New function, split out from ...
5304         (elf_fake_sections): Here.
5305         (assign_section_numbers): Assign section numbers for the second
5306         relocation section, if required.
5307         * elflink.h (elf_link_output_relocs): New function.
5308         (elf_link_size_reloc_section): Likewise.
5309         (elf_bfd_final_link): Use elf_link_size_reloc_section.
5310         (elf_link_input_bfd): Use elf_link_output_relocs.
5311
5312         * elf32-mips.c (_bfd_mips_elf_fake_sections): Use
5313         _bfd_elf_init_reloc_shdr to initialize rel_hdr2.
5314
5315 Thu Jul  1 13:58:48 1999  Jeffrey A Law  (law@cygnus.com)
5316
5317         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle R_PCREL_CALL
5318         with 22bit format.
5319
5320 1999-06-28  Mark Mitchell  <mark@codesourcery.com>
5321
5322         * elf32-mips.c (mips_elf_got_info): Move declaration before
5323         prototypes.  Change global_gotsym to be a pointer to a hash entry,
5324         rather than a number index.
5325         (mips_elf_link_hash_entry): Move declaration before prototypes.
5326         (mips_elf_irix6_finish_dynamic_symbol): New function.
5327         (mips_elf_sign_extend): Likewise.
5328         (mips_elf_high): Likewise.
5329         (mips_elf_higher): Likewise.
5330         (mips_elf_highest): Likewise.
5331         (mips_elf_global_got_index): Likewise.
5332         (mips_elf_local_got_index): Likewise.
5333         (mips_elf_got_offset_from_index): Likeiwse.
5334         (mips_elf_record_global_got_symbol): Likewise.
5335         (mips_elf_got_page): Likewise.
5336         (mips_elf_next_lo16_addend): Likewise.
5337         (mips_elf_calculate_relocation): Likewise.
5338         (mips_elf_obtain_contents): Likewise.
5339         (mips_elf_perform_relocation): Likewise.
5340         (mips_elf_assign_gp): Likewise.
5341         (mips_elf_sort_hash_table_f): Likewise.
5342         (mips_elf_sort_hash_table): Likewise.
5343         (mips_elf_got_section): Likewise.
5344         (mips_elf_got_info): Likewise.
5345         (mips_elf_create_local_got_entry): Likewise.
5346         (mips_elf_got16_entry): Likewise.
5347         (mips_elf_create_dynamic_relocation): Likewise.
5348         (elf_mips_howto_table): Add description of R_MIPS_SCN_DISP.
5349         (mips_elf_final_gp): Use mips_elf_assign_gp.
5350         (_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols
5351         into SHN_SCOMMON automatically on IRIX6.
5352         (mips_elf_add_symbol_hook): Likewise.
5353         (mips_elf_relocate_section): Rewrite, using
5354         mips_elf_calculate_relocation and mips_elf_perform_relocation.
5355         (mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME.
5356         Don't deal with .rld_map on IRIX6.
5357         (mips_elf_create_got_section): Adjust use of global_gotsym.  Set
5358         section flags appropriately for .got.
5359         (mips_elf_check_relocs): Handle IRIX6 relocations making use of
5360         the got.  Call mips_elf_record_global_got_symbol and allocate
5361         local got space appropriately.
5362         (mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned
5363         char *.  Rework calculation of GOT size.  Sort dynamic symbol
5364         table entries so entries that do not require GOT entries appear at
5365         the beginning.  Don't use DT_MIPS_HIPAGENO on IRIX6.  Remove dead
5366         code dealing with DT_INIT and DT_FINI.  Remove fiddling with
5367         global_gotsym.
5368         (mips_elf_finish_dynamic_symbol): Adjust creation of global GOT
5369         entries.
5370         (mips_elf_finish_dynamic_symbol): Use
5371         mips_elf_irix6_finish_dynamic_symbol.
5372         (mips_elf_finish_dynamic_sections): Correct off-by-one error
5373         setting DT_MIPS_UNREFEXTNO.  Adjust setting of DT_MIPS_GOTSYM for
5374         change to global_gotsym.  Set DT_MIPS_OPTIONS on IRIX6.
5375
5376 1999-06-30  Ian Lance Taylor  <ian@zembu.com>
5377
5378         * elf32-mips.c (mips_elf_final_link): Don't set CPIC when doing a
5379         relocateable link.  From Ralf Baechle <ralf@uni-koblenz.de>.
5380
5381 1999-06-04  Philip Blundell  <philb@gnu.org>
5382
5383         * elf32-arm.h (elf_backend_got_header_size): Define.
5384         (elf_backend_plt_header_size): Likewise.
5385
5386 1999-06-28  Jim Pick  <jim@jimpick.com>
5387
5388         * elf32-arm.h (elf32_arm_relocate_section): Mind no_undefined
5389
5390 Tue Jun 29 02:25:03 1999  Jeffrey A Law  (law@cygnus.com)
5391
5392         * elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
5393         relocation function.
5394         * elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
5395
5396 1999-06-27  Mark Mitchell  <mark@codesourcery.com>
5397
5398         * elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro.
5399         (MIPS_ELF_OPTIONS_SECTION_NAME): Likewise.
5400         (MIPS_ELF_STUB_SECTION_NAME): Likewise.
5401         (_bfd_mips_elf_section_from_shdr): Use them.
5402         (_bfd_mips_elf_fake_sections): Likewise.  Add .srdata to the list
5403         of GP-relative sections.
5404         (_bfd_mips_elf_set_section_contents): Use them.
5405         (_bfd_mips_elf_section_processing): Share code between .sdata and
5406         .lit4/.lit8 sections.  Set appropriate flags for .srdata.
5407         (mips_elf_additional_program_headers): Add handling for
5408         PT_MIPS_OPTIONS segment on IRIX6.
5409         (mips_elf_modify_segment_map): Likeiwse.
5410         (mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI.
5411         Include the options sections on IRIX6.  Don't look for GP-relative
5412         sections by name; use SHF_MIPS_GPREL instead.
5413         (ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for
5414         the N32 ABI.
5415         (mips_elf_create_dynamic_sections): Don't muck about with section
5416         alignments and such on IRIX6.
5417         (mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
5418         (mips_elf_size_dynamic_sections): Likewise. Adjust to handle the
5419         fact that ELF_DYNAMIC_INTERPRETER is no longer a constant.  Use
5420         bfd_zalloc rather than bfd_alloc and memset.
5421         (mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
5422         Don't assert the existence of .rld_map on IRIX6.
5423         (mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME.
5424
5425         * elf32-mips.c (mips_elf_adjust_dynindx): Remove.
5426         (mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx
5427         instead.
5428
5429 1999-06-26  Mark Mitchell  <mark@codesourcery.com>
5430
5431         * elf32-mips.c (mips_elf_swap_msym_in): New function.
5432         (mips_elf_swap_msym_out): New function.
5433         (mips_elf_create_msym_section): Likewise.
5434         (MIPS_ELF_MSYM_SECTION_NAME): New macro.
5435         (_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
5436         (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
5437         section not named .msym.
5438         (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
5439         .msym directly.  Set appropriate attributes for the .msym
5440         section.
5441         (mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
5442         (mips_elf_link_hash_newfunc): Clear it.
5443         (mips_elf_create_dynamic_sections): Create the .msym section
5444         on IRIX6.
5445         (mips_elf_size_dynamic_sections):  Allocate space for the
5446         .msym section.  Add a DT_MIPS_MSYM entry.
5447         (mips_elf_finish_dynamic_symbol): Write out a .msym entry for
5448         the symbol.
5449         (mips_elf_finish_dynamic_sections): Assign a value for
5450         DT_MIPS_MSYM.  Add .msym entries for the section symbols as well.
5451
5452         * elf32-mips.c (irix_compat_t): New enumeration.
5453         (ABI_N32_P): New macro.
5454         (IRIX_COMPAT): Likewise.
5455         (SGI_COMPAT): Implement in terms of IRIX_COMPAT.
5456         (mips_elf_relocate_section): Fix typo.
5457
5458 1999-06-26  Mumit Khan  <khan@xraylith.wisc.edu>
5459
5460         * peicode.h (coff_swap_scnhdr_out): Mark non readonly BFD sections
5461         as writable PE sections.
5462
5463 1999-06-26  David Mosberger  <davidm@hpl.hp.com>
5464
5465         * dwarf2.c (struct arange): New type.
5466         (struct comp_unit): Replace LOW and HIGH by member ARANGE.
5467         (arange_add): New function.
5468         (decode_line_info): Keep track of address ranges that a compilation
5469         unit covers.
5470         (comp_unit_contains_address): Return true if address is contained
5471         in _any_ of the address ranges associated with a compilation unit.
5472         (_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
5473         on the first comp_unit that contains the address.
5474
5475 1999-06-26  David Mosberger  <davidm@hpl.hp.com>
5476
5477         * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
5478         (decode_line_info): Add variable STASH and initialize it to point
5479         to the per-bfd dwarf2_debug info.  Remove static variable
5480         dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
5481
5482 1999-06-26  Ian Lance Taylor  <ian@zembu.com>
5483
5484         * elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic
5485         shared library to have an undefined symbol.
5486
5487         From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
5488         * elf32-ppc.c (ppc_elf_relocate_section): Fix last patch.
5489
5490 Thu Jun 24 20:59:11 1999  Jeffrey A Law  (law@cygnus.com)
5491
5492         * elf-hppa.c (elf_hppa_final_write_processing): New function.
5493         * elf32-hppa.c: Remove everything related to symbol extension
5494         sections & records.  Use the common elf_hppa_final_write_processing.
5495
5496 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
5497
5498         * elflink.h (size_dynamic_sections): Use user-specified init/fini
5499         functions instead of _init/_fini if requested.
5500
5501 1999-06-23  Ian Lance Taylor  <ian@zembu.com>
5502
5503         * elf.c (bfd_section_from_shdr): Avoid crashing on a bogus sh_link
5504         field.
5505
5506 1999-06-22  Ian Lance Taylor  <ian@zembu.com>
5507
5508         From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
5509         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx
5510         field to 0, not -1.
5511         (ppc_elf_finish_dynamic_sections): Check for positive section
5512         dynindx field, rather than comparing against -1.
5513         (ppc_elf_relocate_section): Only return false if undefined_symbol
5514         or reloc_overflow fail, not always upon encountering an error.
5515
5516 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
5517
5518         * elflink.h (link_read_relocs): Explicitly cast external_relocs to
5519         bfd_byte * before performing pointer arithmetic.
5520
5521 Tue Jun 22 13:06:25 1999  Jeffrey A Law  (law@cygnus.com)
5522
5523         * elf-hppa.h: New file.  Common stuff for elf32 and elf64 PA
5524         support.
5525         * elf32-hppa.c: Include elf-hppa.h.
5526         (ARCH_SIZE): Define.
5527         (elf_hppa_reloc_type_lookup): Delete.  Found in the common code
5528         now.
5529         (elf32_hppa_info_to_howto): Similarly.
5530         (elf_hppa_howto_table): Similarly.
5531         (elf_hppa_reloc_type_lookup): Similarly.
5532         (hppa_elf_gen_reloc_type): Similarly.
5533         * elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
5534
5535 1999-06-22  Nick Clifton  <nickc@cygnus.com>
5536
5537         * elf32-v850.c (v850_elf_final_link_relocate): Catch overflow
5538         handling R_V850_22_PCREL relocation.
5539
5540 1999-06-21  Ian Lance Taylor  <ian@zembu.com>
5541
5542         * coff-arm.c (arm_emit_base_file_entry): Explicitly declare return
5543         type.
5544
5545 Sun Jun 20 14:13:57 1999  Richard Henderson  <rth@cygnus.com>
5546
5547         * section.c (_bfd_strip_section_from_output): Ignore sections
5548         DISCARDed by the link script.
5549
5550 1999-06-19  Ian Lance Taylor  <ian@zembu.com>
5551
5552         * elflink.h (elf_link_remove_section_and_adjust_dynindices):
5553         Remove unused local variable spp.
5554
5555         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't crash if
5556         the entry symbol is not set.
5557
5558 Fri Jun 18 04:24:57 1999  Richard Henderson  <rth@cygnus.com>
5559
5560         * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
5561         GPDISP or LITUSE in a relocatable link.
5562
5563 Thu Jun 17 21:24:43 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5564
5565         * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc.
5566         * (alloc_dwarf1_func): Likewise.
5567
5568 Wed Jun 16 03:09:57 1999  Jeffrey A Law  (law@cygnus.com)
5569
5570         * libhppa.h: Fix various formatting errors.
5571         (assemble_3); Rewrite using CATENATE.
5572         (assemble_17): Fix various bugs.
5573
5574 1999-06-16  Nick Clifton  <nickc@cygnus.com>
5575
5576         * elf32-mcore.c (R_MCORE_RAW): Fix definition.
5577
5578 1999-06-15  Richard Henderson  <rth@cygnus.com>
5579
5580         * section.c (SEC_SHORT): Define.
5581         * bfd-in2.h: Rebuild.
5582
5583 1999-06-13  Mark Mitchell  <mark@codesourcery.com>
5584
5585         * elflink.h (elf_link_remove_section_and_adjust_dynindices):
5586         Remove abfd parameter.  Use _bfd_strip_section_from_output.
5587         (bfd_elf_size_dynamic_sections): Adjust callers accordingly.
5588
5589         * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
5590         * elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
5591         * elflink.h (elf_link_remove_section_and_adjust_dynindices): New
5592         function.
5593         (bfd_elf_size_dynamic_sections): Use it.
5594
5595 1999-06-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
5596
5597         * elf32-i386.c (elf_howto_table): Change R_386_PC8 from
5598         complain_overflow_bitfield to complain_overflow_signed.
5599
5600 1999-06-13  Mark Mitchell  <mark@codesourcery.com>
5601
5602         * elflink.h (elf_link_read_relocs_from_section): New function,
5603         split out from ...
5604         (elf_link_read_relocs): Here.  Use it for both relocation
5605         sections.
5606
5607 1999-06-12  Mark Mitchell  <mark@codesourcery.com>
5608
5609         * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
5610         asect->reloc_count is valid.
5611
5612 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
5613
5614         * elf32-mips.c (mips_elf32_section_processing): Permit a
5615         SHT_MIPS_REGINFO section to have a size of 0.
5616
5617 1999-06-12  David O'Brien  <obrien@freebsd.org>
5618
5619         * config.bfd (alpha*-*-freebsd*): New target.
5620         (i[3456]86-*-freebsd*): Now defaults to ELF.
5621
5622 1999-06-11  Ian Lance Taylor  <ian@zembu.com>
5623
5624         * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
5625         wrap if the relocation covers the high bit of an address.
5626
5627         * dwarf2.c (decode_line_info): Remove unused variable first_time.
5628
5629 1999-06-10  Jakub Jelinek  <jj@ultra.linux.cz>
5630
5631         * elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
5632         instead of R_SPARC_max.
5633         (sparc64_elf_info_to_howto): Likewise.
5634         * elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
5635         (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
5636
5637 1999-06-07  Richard Henderson  <rth@cygnus.com>
5638
5639         * section.c (_bfd_strip_section_from_output): Remove output
5640         sections with no initial link_order.
5641
5642 1999-06-07  Nick Clifton  <nickc@cygnus.com>
5643
5644         * elf32-m88k.c (ELF_MAXPAGESIZE): Define.
5645
5646 Mon Jun  7 11:49:43 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
5647
5648         * Makefile.am (SOURCE_HFILES): Add missing headers.
5649         * Makefile.in: Regenerated.
5650
5651 1999-06-06  Mark Mitchell  <mark@codesourcery.com>
5652
5653         * elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize
5654         the N32 ABI.
5655
5656 1999-06-04  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5657
5658         * elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of
5659         range undefweak symbols.
5660         * hash.c: Add missing comma after @xref{}
5661         * linker.c: Likewise.
5662
5663 1999-06-04  Nick Clifton  <nickc@cygnus.com>
5664
5665         * elfxx-target.h (ELF_MAXPAGESIZE): Produce an error message
5666         if not defined.
5667         * elf32-gen.c (ELF_MAXPAGESIZE): Define.
5668         * elf32-i860.c (ELF_MAXPAGESIZE): Define.
5669         * elf32-i960.c (ELF_MAXPAGESIZE): Define.
5670         * elf64-gen.c (ELF_MAXPAGESIZE): Define.
5671
5672 1999-06-04  Ian Lance Taylor  <ian@zembu.com>
5673
5674         * Makefile.am: Rebuild dependencies.
5675         (BFD32_BACKENDS): Add dwarf1.lo.
5676         (BFD32_BACKENDS_CFILES): Add dwarf1.c.
5677         * Makefile.in: Rebuild.
5678
5679 1999-06-04  Nick Clifton  <nickc@cygnus.com>
5680
5681         * Makefile.am: Add epoc-arm-pe target.
5682         * Makefile.in: Regenerate.
5683         * pe-arm.c: Only redefine interworking function names if they have
5684         not already been redefined.
5685         * pei-arm.c: Only redefine interworking function names if they have
5686         not already been redefined.
5687         * epoc-pe-arm.c: Redefine interworking function names to avoid a
5688         name space clash.
5689         * epoc-pei-arm.c: Redefine interworking function names to avoid a
5690         name space clash.
5691
5692 1999-06-03  Nick Clifton  <nickc@cygnus.com>
5693
5694         * elfxx-target.h (ELF_MAXPAGESIZE): Default to 0x1000 not 1.
5695
5696 Fri Jun  4 10:05:11 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
5697
5698         * elf.c (elf_fake_sections): Undo change of 1999-05-10.
5699
5700 Fri Jun  4 03:10:49 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5701
5702         * elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of
5703         start / stop for recalculating of r_addend of R_SH_SWITCH*.
5704
5705 Fri Jun  4 02:53:13 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5706
5707         * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32
5708         in other text sections.
5709
5710 Fri Jun  4 02:29:34 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5711
5712         * libbfd.c (_bfd_generic_verify_endian_match): New function.
5713         * libbfd-in.h (_bfd_generic_verify_endian_match): Declare.
5714         * libbfd.h: Regenerate.
5715         * coff-sh.c (sh_merge_private_data): Delete.
5716         (coff_bfd_merge_private_bfd_data): Change to
5717         _bfd_generic_verify_endian_match.
5718         (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
5719
5720 1999-06-03  Ulrich Drepper  <drepper@cygnus.com>
5721
5722         * elf32-arm.h: Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE.
5723
5724 1999-06-03  Ian Lance Taylor  <ian@zembu.com>
5725
5726         * bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct
5727         prototype.
5728         (bfd_elf32_arm_process_before_allocation): Likewise.
5729         * bfd-in2.h: Rebuild.
5730
5731 1999-06-03  David Mosberger  <davidm@hpl.hp.com>
5732
5733         * dwarf2.c (struct line_info): Add member END_SEQUENCE to keep
5734         track of end_sequence markers.
5735         (add_line_info): Add END_SEQUENCE arg.
5736         (decode_line_info): Don't try to infer lo_pc and hi_pc from the
5737         debug-line info---it doesn't work right if a compilation unit
5738         consists of multiple discontiguous code-sequences.  It would be
5739         worthwhile to optimize for the common case where a compilation
5740         unit results in a contiguous set of code sequences, but this is
5741         quite tricky to get right for arbitrary DWARF2 files.
5742         (lookup_address_in_line_info_table): Don't use the last line entry
5743         for a compilation unit for anything with an address higher than
5744         this line entry.  Also, check for end_sequence markers to
5745         correctly handle discontinuities.
5746         (_bfd_dwarf2_find_nearest_line): When checking previously loaded
5747         compilation units, check all compilation units with each->high==0
5748         just like when reading compilation units.
5749
5750         * dwarf2.c (decode_line_info): Initialize table->files and
5751         table->last_line to NULL to avoid segfaults due to random
5752         values in these members.
5753         (concat_filename): Check for out-of-range file number before
5754         indexing filename table.  Segfaults suck.
5755
5756         * dwarf2.c (decode_line_info): Don't truncate address to least
5757         significant 32 bits (breaks 64 bit targets).
5758         (lookup_address_in_function_table): Ditto.
5759         (comp_unit_contains_address): Ditto.
5760
5761 1999-06-02  Mark Mitchell  <Mark Mitchell <mark@codesourcery.com>>
5762
5763         * elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR.
5764         * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
5765         (mips_elf64_howto_table_rela): Likewise.
5766
5767         * elfcode.h (elf_slurp_reloc_table_from_section): New function,
5768         split out from ...
5769         (elf_slurp_reloc_table): Here.  Use it to handle the case where a
5770         single section has two associated relocation sections.
5771
5772 1999-06-02  Mark Salter  <msalter@cygnus.com>
5773
5774         * coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if
5775         COFF_WITH_PE defined.
5776
5777 1999-06-02  Nick Clifton  <nickc@cygnus.com>
5778
5779         * pe-arm.c: Rename global arm interworking functions to avoid name
5780         collision when all targets BFD is built.
5781         * pei-arm.c: Ditto.
5782
5783 1999-05-31  Mark Mitchell  <mark@codesourcery.com>
5784
5785         * elf-bfd.h (elf_backend_data): Remove use_rela_p.  Add
5786         may_use_rel_p, may_use_rela_p, default_use_rela_p.
5787         (bfd_elf_section_data): Add use_rela_p.
5788         * elf.c (bfd_section_from_shdr): Set use_rela_p appropriately.
5789         (_bfd_elf_new_section_hook): Likewise.
5790         (elf_fake_sections): Use may_use_rela_p, etc., instead of
5791         use_rela_p.
5792         (_bfd_elf_copy_private_section_data): Copy use_rela_p.
5793         * elfcode.h (write_relocs): Determine whether or not use rela
5794         relocs based on the relocation section header.
5795         * elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p
5796         instead of use_rela_p.
5797         * elfxx-target.h (elf_backend_may_use_relp): New macro.
5798         (elf_backend_may_use_rela_p): Likewise.
5799         (elf_backend_default_use_rela_p): Likewise.
5800         (elfNN_bed): Use them.
5801
5802 Wed Jun  2 12:38:49 1999  Miodrag Vallat <miodrag@multimania.com>
5803
5804         * hosts/alphalinux.h (TRAD_CORE_EXTRA_SIZE_ALLOWED): Expand to 4096.
5805
5806 Tue Jun  1 17:57:58 1999  Mark P. Mitchell  <mitchell@n02.acl.lanl.gov>
5807
5808         * reloc.c (BFD_RELOC_MIPS_SUB): New relocation.
5809         (BFD_RELOC_MIPS_GOT_PAGE): Likewise.
5810         (BFD_RELOC_MIPS_GOT_OFST): Likewise.
5811         (BFD_RELOC_MIPS_GOT_DISP): Likewise.
5812         * bfd-in2.h: Regenerated.
5813         * libbfd.h: Likewise.
5814         * elf32-mips.c (mips_info_to_howto_rela): New function.
5815         (USE_REL): Adjust for new conventions.
5816         (MINUS_ONE): New macro.
5817         (elf_mips_howto_table): Add R_MIPS_SUB.
5818         (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST,
5819         and MIPS_GOT_DISP.
5820         (mips_elf_final_write_processing): Set sh_link, not sh_info, for a
5821         .MIPS.content section.
5822         (_bfd_mips_elf_fake_sections): Treat all sections that begin
5823         with .MIPS.content as .MIPS.content sections.  Set
5824         SHF_MNIPS_NOSTRIP for such section.
5825         (elf_info_to_howto): Define to mips_info_to_howto_rela.
5826         * elf64-mips.c (mips_r):  Add entries for MIPS_SUB, MIPS_GOT_PAGE,
5827         MIPS_GOT_OFST, and MIPS_GOT_DISP.
5828
5829 Wed Jun  2 11:51:12 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
5830
5831         * vms-misc.c (_bfd_vms_hash_newfunc): Fix use of uninitialized
5832         variable.
5833
5834         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Avoid ambigous
5835         `else'.
5836
5837 1999-05-30  Philip Blundell  <philb@gnu.org>
5838
5839         * elf32-arm.h (elf32_arm_relocate_section): Reinstate change of
5840         1993-03-25 (!!).  Take into account the bitmasks for the reloc so
5841         the addend does not overflow into the rest of the word.
5842
5843 1999-05-29  Nick Clifton  <nickc@cygnus.com>
5844
5845         * bfd-in.h: Amend prototype for
5846         bfd_elf32_arm_process_before_allocation .
5847         * bfd-in.h: Regenerate.
5848
5849         * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of
5850         elements in a fixed sized array.
5851         (ARM_ELF_ABI_VERSION): Define.
5852         (ARM_ELF_OS_ABI_VERSION): Define.
5853         (R_ARM_THM_ABS5): Fix rightshift and size.
5854         (R_ARM_THM_PC22): Fix size.
5855         (R_ARM_PLT32): Define Howto.
5856         (find_howto): New function: Locate a howto based on a reloc
5857         number.
5858         (elf32_arm_info_to_howto): Use find_howto if necessary.
5859         (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
5860         bfd_reloc_code_real_type.
5861         (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT
5862         and BFD_RELOC_VTABLE_ENTRY.
5863         (elf32_arm_reloc_type_lookup): Use find_howto if necessary.
5864
5865         * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of
5866         elements in a fixed sized array.
5867         (ARM_ELF_ABI_VERSION): Define.
5868         (ARM_ELF_OS_ABI_VERSION): Define.
5869         (R_ARM_THM_ABS5): Fix rightshift and size.
5870         (R_ARM_THM_PC22): Fix size.
5871         (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto.
5872         (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
5873         bfd_reloc_code_real_type.
5874
5875         * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field:
5876         no_pipeline_knowledge.
5877         (elf32_arm_link_hash_create): Initialise new field to zero.
5878         (bfd_elf32_arm_process_before_allocation): Add new paraemter:
5879         no_pipeline_knowledge.  Use this parameter to initialise the field
5880         in the globals data structure.
5881         (elf32_arm_final_link_relocate): Only add in pipeline offset if
5882         no_pipeline_knowledge is false and the binary is from an old
5883         toolchain.
5884         (elf32_arm_merge_private_data): Generate an error if an attempt is
5885         made to link together big endian and little endian code.
5886         (elf32_arm_post_process_headers): New function:  Initialise the
5887         EI_OSABI and EI_ABIVERSION fields of the newly created ELF program
5888         header.
5889         (elf_backend_post_process_headers): Define.
5890
5891 1999-05-28  Nick Clifton  <nickc@cygnus.com>
5892
5893         * elf-bfd.h (struct elf_backend_data): Add new field:
5894         elf_backend_post_process_headers.
5895
5896         * elfxx-target.h (elf_backend_post_process_headers): Define to
5897         NULL if not already defined.
5898         (elfNN_bed): Initialise elf_backend_post_process_headers field.
5899
5900         * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields
5901         to zero.
5902         (_bfd_elf_compute_section_file_positions): Call
5903         elf_backend_post_process_headers if defined.
5904
5905 1999-05-28  Ian Lance Taylor  <ian@zembu.com>
5906
5907         * configure.in: Check whether getuid and getgid exist.
5908         * archive.c: Define getuid and getgid as macros if HAVE_GETUID or
5909         HAVE_GETGID are not defined, respectively.
5910         (bfd_write_armap): Don't special case on _WIN32 for getuid and
5911         getgid.
5912         * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
5913         * configure, config.in: Rebuild.
5914
5915 1999-05-28  Martin Dorey  <mdorey@madge.com>
5916
5917         * elf32-i960.c: New file.
5918         * elf.c (prep_headers): Handle bfd_arch_i960.
5919         * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec.
5920         * config.bfd (i960-*-elf*): New target.
5921         * configure.in (bfd_elf32_i960_vec): New target vector.
5922         * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo.
5923         (BFD32_BACKENDS_CFILES): Add elf32-i960.c.
5924         * Makefile.in, aclocal.m4, configure: Rebuild.
5925
5926 1999-05-27  Nick Clifton  <nickc@cygnus.com>
5927
5928         * elfarm-oabi.c (elf32_arm_howto_table): Add entry for
5929         R_ARM_PLT32.
5930         (find_howto): New function: Find entries in the
5931         elf32_arm_howto_table.
5932         (elf32_arm_info_to_howto): Use find_howto if the entry cannot be
5933         computed simply.
5934         (elf32_arm_reloc_type_lookup): Add lookup for
5935         BFD_RELOC_ARM_PLT32.
5936
5937 1999-05-25  Philip Blundell  <pb@nexus.co.uk>
5938
5939         * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function.
5940         (elf32_arm_link_hash_table_create): Use above function as the
5941         constructor for hash table entries.
5942         (elf32_arm_relocate_section): Avoid crash when there is no output
5943         section.
5944         (elf32_arm_final_link_relocate): New parameter h.
5945         (elf32_arm_relocate_section): Pass symbol hash entry to above
5946         routine.
5947         (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct
5948         comments.
5949
5950 1999-05-25  Catherine Moore  <clm@cygnus.com>
5951
5952         * coff-arm.c (coff_arm_relocate_section): Don't emit
5953         base file entries for pc-relative values.
5954
5955 1999-05-25  DJ Delorie  <dj@cygnus.com>
5956
5957         * peicode.h (coff_swap_sym_in): When we create the actual section
5958         to reflect the not-there section C_SECTION symbols refer to,
5959         change the symbol class to C_STAT as the section is now really
5960         there.
5961
5962 1999-05-24  Philip Blundell  <pb@nexus.co.uk>
5963
5964         * elf32-arm.h (elf32_arm_relocate_section): Undo change of
5965         1999-03-25.
5966
5967 Mon May 17 13:35:35 1999  Stan Cox  <scox@cygnus.com>
5968
5969         * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed
5970         F_PIC_INT to F_PIC.
5971         * coffcode.h (coff_set_arch_mach_hook): Added F_ARM_2a, and
5972         F_ARM_3M labels.  Changed F_PIC_INT to F_PIC.
5973
5974 1999-05-16  Nick Clifton  <nickc@cygnus.com>
5975
5976         * coff-mcore.c (in_reloc_p): Reinstate.
5977
5978 1999-05-15  Nick Clifton  <nickc@cygnus.com>
5979
5980         * reloc.c (BFD_RELOC_MCORE_RVA): Define.
5981         * bfd-in2.h: Regenerate.
5982         * coff-mcore.c (in_reloc_p): Remove defintion.
5983         (mcore_coff_howto): Add IMAGE_REL_MCORE_RVA.
5984         (mcore_coff_reloc_type_lookup): Map BFD_RELOC_RVA to
5985         IMAGE_REL_MCORE_RVA.
5986         (coff_mcore_rtype_to_howto): Add special processing for
5987         IMAGE_REL_MCORE_RVA.
5988         (coff_mcore_relocate_section): Add support for
5989         IMAGE_REL_MCORE_RVA.
5990         * elf32-mcore (mcore_elf_howto_): Add R_MCORE_RELATIVE.
5991         (mcore_elf_reloc_type_lookup): Map BFD_RELOC_RVA to
5992         R_MCORE_RELATIVE.
5993         (mcore_elf_relocate_section): Delete redundant case labels.
5994
5995 Fri May 14 10:59:55 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
5996
5997         * elf32-arm.h (elf32_arm_relocate_section): Fix operator
5998         precedence between bit-and and comparison.
5999
6000 Thu May 13 09:45:23 1999  Joel Sherrill (joel@OARcorp.com)
6001
6002         * config.bfd (i[3456]86*-*-rtems*, m68k*-*-rtems*): Added to
6003         list of target formats (targ_selvecs).
6004         (i[3456]86*-*-rtemself*, mips*el-*-rtems*): New targets.
6005         (powerpcle*-*rtems*, sh-*-rtemself*): New targets.
6006
6007 1999-05-10  DJ Delorie  <dj@cygnus.com>
6008
6009         * ecoff.c (_bfd_ecoff_write_armap): give the symtab element a
6010         reasonable mode until "ar x" is smart enough to skip it (fixes
6011         gcc/libgcc.a builds on mips-ecoff targets
6012
6013         * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed
6014         to work.  Hack to support MS import libraries, which use different
6015         COMDAT types than GNU.
6016         (coff_slurp_symbol_table): C_SECTION symbols are local; they refer
6017         to implied zero-length sections (see peicode below)
6018         * coffgen.c (coff_get_normalized_symtab): Properly read long MS
6019         filename symbols, which use one *or more* auxents.
6020         * coffswap.h (coff_swap_aux_in): ditto
6021         * peicode.h (coff_swap_sym_in): Build the implied zero-length
6022         sections
6023
6024 Tue May 11 15:51:58 1999  Jeffrey A Law  (law@cygnus.com)
6025
6026         * elf32-v850.c (v850_elf_howto_table): Make partial_inplace false
6027         for all relocations.
6028
6029 1999-05-10  Catherine Moore  <clm@cygnus.com>
6030
6031         * bfd-in.h (bfd_arm_allocate_interworking_sections):  Static
6032         if COFF_IMAGE_WITH_PE.
6033         (bfd_arm_process_before_allocation): Likewise.
6034         (bfd_arm_get_bfd_for_interworking): Likewise.
6035         * coff-arm.c: Likewise.
6036         * bfd-in2.h: Regenerate.
6037         * configure.in (armpe_little_vec): Remove coff-arm.lo.
6038         (armpe_big_vec): Likewise.
6039         * configure: Rebuild.
6040
6041 1999-05-10  Nick Clifton  <nickc@cygnus.com>
6042
6043         * elf.c (elf_fake_sections): Check for .rel. as start of rel
6044         section, not just .rel.  Same for .rela.
6045
6046 1999-05-07  Nick Clifton  <nickc@cygnus.com>
6047
6048         * coff-mcore.c (coff_mcore_relocate_section): Replace assert about
6049         endianism with an error message.
6050
6051 Thu May  6 17:09:09 1999  Fred Fish  <fnf@be.com>
6052
6053         * dwarf2.c (read_abbrevs): Change cast of dwarf_abbrev_buffer
6054         assignment from "unsigned char *" to "char *".
6055         (decode_line_info): Likewise for dwarf_line_buffer assignment.
6056
6057 1999-05-05  Catherine Moore  <clm@cygnus.com>
6058
6059         * coff-arm.c (coff_arm_relocate_section):  Add one to
6060         address of ARM_RVA32 thumb functions.
6061
6062 1999-05-05  Catherine Moore  <clm@cygnus.com>
6063
6064         * elf32-m68k.c (elf32_m68k_set_private_flags): New.
6065         (elf32_m68k_copy_private_bfd_data): New.
6066         (elf32_m68k_merge_private_bfd_data): New.
6067         (elf32_m68k_print_private_bfd_data): New.
6068         (CPU32_FLAG): Define.
6069         (PLT_CPU32_ENTRY_SIZE): Define.
6070         (elf_cpu32_plt0_entry): Declare.
6071         (elf_cpu32_plt_entry): Declare.
6072         (elf_m68k_adjust_dynamic_symbol): Generate cpu32 plt entries.
6073         (elf_m68k_finish_dynamic_symbol): Likewise.
6074         (elf_m68k_finish_dynamic_sections): Likewise.
6075         (elf_backend_plt_header_size): Remove definition.
6076         (bfd_elf32_bfd_copy_private_bfd_data): Define.
6077         (bfd_elf32_bfd_merge_private_bfd_data): Define.
6078         (bfd_elf32_bfd_set_private_flags): Define.
6079         (bfd_elf32_bfd_print_private_bfd_data): Define.
6080
6081 Mon May  3 09:24:49 1999  Jeffrey A Law  (law@cygnus.com)
6082
6083         * som.c (som_fixup_formats): Fix comments for R_SHORT_PCREL_MODE
6084         and R_LONG_PCREL_MODE.
6085
6086 1999-04-29  Nick Clifton  <nickc@cygnus.com>
6087
6088         * coff-mcore.c (coff_mcore_relocate_section): Fix typos.
6089
6090 Fri Apr 28 16:36:19 1999  Stan Cox  <scox@cygnus.com>
6091
6092         * elf32-sh.c (sh_elf_relocate_section): Include relocation addend
6093         in relocation calculation.
6094
6095 1999-04-26  Tom Tromey  <tromey@cygnus.com>
6096
6097         * aclocal.m4, configure: Updated for new version of libtool.
6098
6099 1999-04-21  Nick Clifton  <nickc@cygnus.com>
6100
6101         * coff-mcore.c: Add support for mcore relocs.
6102
6103 1999-04-20  Gavin Romig-Koch  <gavin@cygnus.com>
6104
6105         * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): Scrap the
6106         incorrect use EF_MIPS_xxBITPTRS.
6107
6108 1999-04-18  Ian Lance Taylor  <ian@zembu.com>
6109
6110         * elf64-alpha.c (elf64_alpha_relax_section): Remove unused local
6111         variable insn.
6112
6113         * bfd-in2.h: Rebuild.
6114         * libbfd.h: Rebuild.
6115
6116 Sat Apr 17 20:55:15 1999  Catherine Moore  <clm@cygnus.com>
6117
6118         * coff-arm.c (coff_arm_rtype_to_howto): Remove ARM26D transform.
6119         (coff_arm_relocate_section):  Add ARM26D transform.  Only
6120         change to ARM26D for relocateable links.
6121
6122 1999-04-16  Gavin Romig-Koch  <gavin@cygnus.com>
6123
6124         * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): New.
6125         (bfd_elf32_bfd_print_private_bfd_data): New.
6126
6127 1999-04-15  Doug Evans  <devans@casey.cygnus.com>
6128
6129         * elf32-arm.h (elf32_arm_final_link_relocate):  For R_ARM_THM_ABS5,
6130         refetch addend if USE_REL, add many comments regarding current state.
6131         For R_ARM_THM_PC22, refetch addend if USE_REL, simplify.
6132         * elfarm-nabi.c (elf32_arm_howto_table): For R_ARM_THM_ABS5, fix
6133         size and rightshift.  For R_ARM_THM_PC22, fix bitsize.
6134         * elfarm-oabi.c (elf32_arm_howto_table): Ditto.
6135
6136 Wed Apr 14 14:33:08 1999  Richard Henderson  <rth@cygnus.com>
6137
6138         * elf32-mips.c (_bfd_mips_elf_read_ecoff_info): Zero `debug'.
6139         * elf64-alpha.c (elf64_alpha_read_ecoff_info): Likewise.
6140
6141 1999-04-13  David Mosberger  <davidm@hpl.hp.com>
6142
6143         * dwarf2.c (decode_line_info): Don't truncate address to least
6144         significant 32 bits (breaks 64 bit targets).
6145         (lookup_address_in_function_table): Ditto.
6146         (comp_unit_contains_address): Ditto.
6147
6148 Tue Apr 13 21:27:19 1999  Catherine Moore  <clm@cygnus.com>
6149
6150         * coff-arm.c (arm_emit_base_file_entry): New routine.
6151         (A2T3_OFFSET): Define.
6152         (T2A3_OFFSET): Define.
6153         (coff_arm_relocate_section):  Emit base file entries for interworking
6154         stubs.
6155
6156 1999-04-13  Philip Blundell  <philb@gnu.org>
6157
6158         * elfarm-nabi.c (elf32_arm_howto_table): Add dummy entries for
6159         relocs 17 through 19.
6160
6161 Sun Apr 11 01:25:17 1999  Richard Henderson  <rth@cygnus.com>
6162
6163         * elfcode.h: Remove fnmatch.h.
6164         * elflink.h (elf_link_assign_sym_version): Call back to ld
6165         instead of calling fnmatch.
6166
6167         * config.bfd (i?86-*-beoself): Include pe vecs.
6168
6169 Sun Apr 11 01:14:06 1999  Richard Henderson  <rth@cygnus.com>
6170
6171         * elf32-i386.c (elf_i386_finish_dynamic_sections): Allow .plt
6172         to go missing.
6173
6174 1999-04-10  Richard Henderson  <rth@cygnus.com>
6175
6176         * elf32-i386.c (elf_i386_relocate_section): Mind no_undefined
6177         when trying to resolve dynamic symbol references.
6178         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
6179         * elf32-mips.c (mips_elf_relocate_section): Likewise.
6180         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
6181         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6182         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
6183         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6184         * elflink.h (elf_link_output_extsym): Likewise.
6185
6186 Sat Apr 10 15:12:09 1999  Richard Henderson  <rth@cygnus.com>
6187
6188         * section.c (_bfd_strip_section_from_output): New function moved from
6189         * elf64-alpha.c (elf64_alpha_strip_section_from_output): ... here.
6190         * elf32-i386.c (elf_i386_size_dynamic_sections): Use it.
6191         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
6192         * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
6193         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
6194         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
6195         * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
6196         * bfd-in2.h: Update.
6197
6198 1999-04-09  Ian Lance Taylor  <ian@zembu.com>
6199
6200         * elf64-sparc.c: Fix incorrect calls to bfd_check_overflow.
6201
6202 1999-04-08  Nick Clifton  <nickc@cygnus.com>
6203
6204         * coff-mcore.c: New File: Support for mcore-pe targets.
6205         * cpu-mcore.c: New File: Support for mcore targets.
6206         * elf32-mcore.c: New File: Support for mcore-elf target.
6207         * pe-mcore.c: New File: Definitions for mcore-pe target.
6208         * pei-mcore.c: New File: Definitions for mcore-pei target.
6209         * Makefile.am: Add support for MCore targets.
6210         * Makefile.in: Regenerate.
6211         * config.bfd: Add support for MCore targets.
6212         * configure.in: Add support for MCore targets.
6213         * configure: Regenerate.
6214         * archures.c: Add support for MCore architecture.
6215         * bfd-in2.h: Regenerate.
6216         * coffcode.h: Add support for mcore-pe targets.
6217         * elf.c: Add support for mcore-elf target.
6218         * reloc.c: Add support for MCore relocs.
6219         * targets.c: Add support for MCore targets.
6220
6221 1999-04-07  Nick Clifton  <nickc@cygnus.com>
6222
6223         * elfarm-nabi.c (elf32_arm_howto_table): Add entries for
6224         R_ARM_XPC25 and R_ARM_THM_XPC22.
6225         (elf32_arm_reloc_map): Remove redundant entries.
6226
6227 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
6228
6229         * sysdep.h (LC_MESSAGES): Never define.
6230
6231 1999-04-06  Chris Torek  <torek@bsdi.com>
6232
6233         * reloc.c (bfd_check_overflow): Add addrsize parameter.  Change
6234         all callers.  Rewrite completely.
6235         (_bfd_relocate_contents): Rewrite overflow checking.
6236         * bfd-in2.h: Rebuild.
6237
6238 1999-04-05  Ian Lance Taylor  <ian@zembu.com>
6239
6240         From Gabriel Paubert <paubert@iram.es>:
6241         * elf32-ppc.c (ppc_elf_howto_raw): Set R_PPC_GOT16_LO,
6242         R_PPC_PLT16_LO and R_PPC_SECTOFF_LO to be complain_overflow_dont.
6243         Set R_PPC_PLT16_HA, R_PPC_SECTOFF_HA and R_PPC_EMB_NADDR16_HA to
6244         have a rightshift of 16 and use ppc_elf_addr16_ha_reloc.
6245         * ppcboot.c (ppcboot_vec): Use little endian routines for
6246         headers.
6247
6248         * elf.c (elfcore_strndup): Only define if it will be used.
6249         * elf32-ppc.c (ppc_elf_relax_section): Remove unused locals irel
6250         and irelend.
6251         (ppc_elf_check_relocs): Remove unused local i.
6252         (ppc_elf_gc_mark_hook): Add default case to switch.
6253
6254         From Bernd Nitzler <nitzler@kagcpd01.ag01.kodak.COM>:
6255         * srec.c (srec_scan): Accept \r in symbol definitions.
6256         (srec_object_p): Set HAS_SYMS if we saw any symbols.
6257         (symbolsrec_object_p): Likewise.
6258
6259 1999-04-04  Don Bowman <don@pixsci.com>
6260
6261         * config.bfd: Add mips*el-*-vxworks* and mips*-*-vxworks*.
6262
6263 1999-04-04  Ian Lance Taylor  <ian@zembu.com>
6264
6265         * dwarf1.c (parse_line_table): Remove unused locals last_pc and
6266         last_line.
6267         * elf-bfd.h (_bfd_elfcore_section_from_phdr): Declare.
6268         * elf32-i386.c (elf_i386_gc_mark_hook): Add default case to
6269         switch.
6270         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove unused
6271         local i.
6272         * syms.c (_bfd_stab_section_find_nearest_line): Remove unused
6273         local val.
6274
6275 1999-03-31  Nick Clifton  <nickc@cygnus.com>
6276
6277         * config.bfd: Add support for arm-epoc-pe target.
6278         * configure.in: Add support for arm-epoc-pe target.
6279         * configure: Regenerate.
6280         * targets.c: Add support for arm-epoc-pe target.
6281         * coff-arm.c: Allow header files to override definition of
6282         TARGET_UNDERSCORE and USER_LABEL_PREFIX.
6283         * pe-arm.h: Allow previous header files to override definition of
6284         TARGET_LITTLE_SYM and TARGET_BIG_SYM.
6285         * pei-arm.h: Allow previous header files to override definition of
6286         TARGET_LITTLE_SYM and TARGET_BIG_SYM.
6287         * epoc-pe-arm.c: New file.  Support arm-epoc-pe target.
6288         * epoc-pei-arm.c: New file.  Support arm-epoc-pei target.
6289
6290 1999-03-30  Nick Clifton  <nickc@cygnus.com>
6291
6292         * elf.c (elf_map_symbols): Handle the case where section
6293         symbols are generated for content-less sections which are
6294         not mapped to the output file.
6295
6296         * linker.c: Replace direct references to fields in BFD structure
6297         with accessor macros.
6298
6299         * elflink.h: Replace direct references to fields in BFD structure
6300         with accessor macros.
6301
6302 1999-03-25  Philip Blundell  <pb@nexus.co.uk>
6303
6304         * config.bfd: Eliminate redundancy in checks for Linux/ARM.
6305
6306         * elf32-arm.h (elf32_arm_relocate_section): Take the rightshift into
6307         account when adjusting section symbols during a partial link.
6308
6309 1999-03-24  Nick Clifton  <nickc@cygnus.com>
6310
6311         * coff-sparc.c (struct coff_reloc_map): Change type of field
6312           'bfd_reloc_val' to bfd_reloc_code_real_type.
6313         * elf-m10200.c (struct mn10200_reloc_map): Ditto.
6314         * elf-m10300.c (struct mn10300_reloc_map): Ditto.
6315         * elf32-arc.c (struct arc_reloc_map): Ditto.
6316         * elf32-d10v.c (struct d10v_reloc_map): Ditto.
6317         * elf32-d30v.c (struct d30v_reloc_map): Ditto.
6318         * elf32-fr30.c (struct fr30_reloc_map): Ditto.
6319         * elf32-m32r.c (struct m32r_reloc_map): Ditto.
6320         * elf32-sh.c (struct elf_reloc_map): Ditto.
6321         * elf32-sparc.c (struct elf_reloc_map): Ditto.
6322         * elf32-v850.c (struct v850_reloc_map): Ditto.
6323         * elf64-sparc.c (struct elf_reloc_map): Ditto.
6324         * elfarm-nabi.c (struct elf32_arm_reloc_map): Ditto.
6325         * elfarm-oabi.c (struct elf32_arm_reloc_map): Ditto.
6326
6327 1999-03-17  Martin Hunt  <hunt@cygnus.com>
6328
6329         * syms.c (_bfd_stab_section_find_nearest_line): Changed this
6330         function so source-level assembly works.  If multiple N_SOs
6331         are seen without and N_FUNs, create an indextable entry with
6332         a NULL function name.
6333
6334 1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>
6335
6336         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data) Allow merging
6337         of certian similar cpus.
6338
6339 1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>
6340
6341         * elf32-mips.c (_bfd_mips_elf_final_write_processing):
6342         Add the 5000.  Change the architecture for the 5400 to mips4.
6343         (elf_mips_mach): Add r5000.
6344
6345 1999-03-11  Doug Evans  <devans@casey.cygnus.com>
6346
6347         * cpu-i960.c (scan_i960_mach): Recognize i960:ka_sa and i960:kb_sb.
6348
6349 1999-03-11  Nick Clifton  <nickc@cygnus.com>
6350
6351         * binary.c (binary_set_section_contents): Generate warning about
6352         huge file offsets for any section that will occupy file space, not
6353         just those that are loadable.
6354
6355 1999-02-24  Jim Blandy  <jimb@zwingli.cygnus.com>
6356
6357         * libbfd.h: Regenerate after Nick Clifton's Feb 17 changes.
6358
6359 1999-02-22  Jim Lemke  <jlemke@cygnus.com>
6360
6361         * elf32-ppc.c: Add ppc_elf_relax_section() for the ld option mpc860c0.
6362
6363 Mon Feb 22 18:26:51 1999  Ian Lance Taylor  <ian@cygnus.com>
6364
6365         * elf-bfd.h (ELF_LINK_HASH_REF_REGULAR_NONWEAK): Define.
6366         * elflink.h: Revert all changes since Feb 16.  Instead:
6367         (elf_link_add_object_symbols): Set REF_REGULAR_NONWEAK flag if
6368         appropriate.  Copy it to version symbols.
6369         (elf_fix_symbol_flags): Set REF_REGULAR_NONWEAK for non ELF
6370         symbols if appropriate.
6371         (elf_adjust_dynamic_symbol): Set REF_REGULAR_NONWEAK for weakdef
6372         symbol if appropriate.
6373         (elf_link_output_extsym): If symbol is marked as undefined, and
6374         has no nonweak references, mark it as weak undefined.
6375
6376 Fri Feb 19 16:01:12 1999  Ian Lance Taylor  <ian@cygnus.com>
6377
6378         * elflink.h (elf_merge_symbol): When overriding a dynamic
6379         definition with a weak undefined symbol, set NEEDS_PLT if it is a
6380         function.
6381         (elf_link_add_object_symbols): Don't copy the other field if we
6382         are overridding.
6383
6384 Thu Feb 18 18:07:43 1999  Ian Lance Taylor  <ian@cygnus.com>
6385
6386         * elflink.h (elf_merge_symbol): Do not merge any symbol from a
6387         shared object with a weak undefined symbol.
6388
6389 1999-02-18  Nick Clifton  <nickc@cygnus.com>
6390
6391         * elfarm-nabi.c: Set partial_inplace back to false.
6392
6393 1999-02-17  Nick Clifton  <nickc@cygnus.com>
6394
6395         * coff-arm.c (TARGET_UNDERSCORE): Re-enable.
6396         (USER_LABEL_PREFIX): Set to "_".
6397
6398         The following patches are from: Scott Bambrough
6399         <scottb@corelcomputer.com>
6400
6401         * libaout.h (M_ARM6_NETBSD): Set to 143.
6402
6403         * reloc.c: Add ARM PIC relocs:   BFD_RELOC_ARM_GOT12,
6404         BFD_RELOC_ARM_GOT32, BFD_RELOC_ARM_JUMP_SLOT, BFD_RELOC_ARM_COPY,
6405         BFD_RELOC_ARM_GLOB_DAT, BFD_RELOC_ARM_PLT32,
6406         BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC.
6407         * bfd-in2.h: Regenerate.
6408
6409         * elfarm-nabi.c (elf32_arm_howto_table): Set partial_inplace to
6410         'true' as REL relocs are now being used.  Add new PIC relocs:
6411         R_ARM_COPY, R_ARM_GLOB_DAT, R_ARM_JUMP_SLOT, R_ARM_RELATIVE,
6412         R_ARM_GOTOFF, R_ARM_GOTPC, R_ARM_GOT32, R_ARM_PLT32.
6413
6414         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Check byte order
6415         of targets.
6416         (elf32_arm_final_link_relocate): Change parameters so that entire
6417         reloc is passed.  Add support for PIC relocs.
6418         (elf32_arm_relocate_section): Pass entire reloc to
6419         elf32_arm_final_link_relocate.
6420         (elf32_arm_check_relocs): Handle new PIC relocs.
6421         (elf32_arm_adjust_dynamic_symbol): New function.
6422         (elf32_arm_size_dynamic_sections): New function.
6423         (elf32_arm_discard_copies): New function.
6424         (elf32_arm_finish_dynamic_symbol): New function.
6425         (elf32_arm_finish_dynamic_sections): New function.
6426         (ELF_MAXPAGE_SIZE): Define.
6427         (bfd_elf32_bfd_reloc_type_lookup): Define.
6428         (elf_backend_relocate_section): Define.
6429         (elf_backend_adjust_dynamic_symbol): Define.
6430         (elf_backend_create_dynamic_sections): Define.
6431         (elf_backend_finish_dynamic_symbol): Define.
6432         (elf_backend_finish_dynamic_sections): Define.
6433         (elf_backend_size_dynamic_sections): Define.
6434         (elf_backend_plt_readonly): Define.
6435         (elf_backend_want_got_plt): Define.
6436         (elf_backend_want_plt_sym): Define.
6437
6438 Wed Feb 17 12:02:26 1999  Stan Cox  <scox@cygnus.com>
6439
6440         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Make reginfo
6441         sections SEC_LINK_ONCE and SEC_LINK_DUPLICATES_SAME_SIZE.
6442         (_bfd_mips_elf_fake_sections): Likewise.
6443
6444 Wed Feb 17 12:07:23 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
6445
6446         * elfarm-oabi.c (bfd_elf32_arm_allocate_interworking_sections,
6447         bfd_elf32_arm_get_bfd_for_interworking,
6448         bfd_elf32_arm_process_before_allocation): Define to avoid clash
6449         with elfarm-nabi.c.
6450
6451         * elf32-arm.h: Don't declare elf32_arm_info_to_howto.
6452         (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
6453         elf32_arm_find_nearest_line): Make them static.
6454
6455 Tue Feb 16 22:44:37 1999  Ian Lance Taylor  <ian@cygnus.com>
6456
6457         * elflink.h (elf_merge_symbol): Add pflags parameter.  Change all
6458         callers.  Do not merge a definition from a shared object with a
6459         weak undefined symbol.
6460         (elf_link_add_object_symbols): Do not change the symbol type or
6461         size if the old symbol overrides the new one.
6462
6463 1999-02-08  Nick Clifton  <nickc@cygnus.com>
6464
6465         * config.bfd: Add support for strongarm target.
6466
6467 Mon Feb  8 11:18:14 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
6468
6469         * elf32-m68k.c (reloc_map): Use the correct types for the struct
6470         fields instead of unsigned char.
6471
6472 Fri Feb  5 00:22:36 1999  Ian Lance Taylor  <ian@cygnus.com>
6473
6474         * Makefile.am: Rebuild dependencies.
6475         * Makefile.in: Rebuild.
6476
6477 Thu Feb  4 22:30:13 1999  Ian Lance Taylor  <ian@cygnus.com>
6478
6479         * configure.in: Change AC_PREREQ to 2.13.  Remove AM_CYGWIN32.
6480         Change AM_EXEEXT to AC_EXEEXT and AM_PROG_INSTALL to
6481         AC_PROG_INSTALL.  Add comments to uses of AC_DEFINE.
6482         * acinclude.m4: Add comments to uses of AC_DEFINE.
6483         * acconfig.h: Remove.
6484         * configure: Rebuild with current autoconf/automake.
6485         * aclocal.m4: Likewise.
6486         * config.in: Likewise.
6487         * Makefile.in: Likewise.
6488
6489 1999-02-04  DJ Delorie  <dj@cygnus.com>
6490
6491         * libbfd.c (real_read): don't call fread for zero bytes.  This
6492         covers up a bug (or misuse of bfd) that's exposed by Solaris.
6493
6494 Thu Feb  4 12:38:10 1999  Stan Cox  <scox@cygnus.com>
6495
6496         * elf32-mips.c (mips_elf_relocate_section): Insure that the target
6497         of a jump is in the current 256 MB region.
6498
6499 Thu Feb  4 12:15:38 1999  Ian Lance Taylor  <ian@cygnus.com>
6500
6501         * format.c (bfd_check_format_matches): Change last patch to only
6502         take effect for the binary target.
6503
6504 Wed Feb  3 19:40:12 1999  Ian Lance Taylor  <ian@cygnus.com>
6505
6506         * elf32-i386.c (elf_i386_reloc_type_lookup): Add BFD_RELOC_CTOR.
6507
6508 Wed Feb  3 15:02:44 1999  Catherine Moore  <clm@cygnus.com>
6509
6510         * elf32-fr30.c (fr30_elf_check_relocs):  New routine.
6511
6512 Tue Feb  2 21:38:28 1999  Ian Lance Taylor  <ian@cygnus.com>
6513
6514         * format.c (bfd_check_format_matches): If the target was
6515         previously specified, don't check other targets when checking for
6516         an archive file.
6517
6518 Tue Feb  2 18:16:43 1999  Catherine Moore  <clm@cygnus.com>
6519
6520         * elf32-arm.h (elf32_arm_reloc_map):  Removed.
6521         (elf32_arm_reloc_type_lookup):  Removed
6522         * elfarm-nabi.c (elf32_arm_reloc_map):  New.
6523         (elf32_arm_reloc_type_lookup):  New.
6524         * elfarm-oabi.c (elf32_arm_reloc_map):  New.
6525         (elf32_arm_reloc_type_lookup):  New.
6526
6527 Mon Feb  1 19:49:21 1999  Catherine Moore  <clm@cygnus.com>
6528
6529         * elfarm-nabi.c:  Renamed from elf32-arm-newabi.c.
6530         * elfarm-oabi.c:  Renamed from elf32-arm-oldabi.c
6531         * Makefile.am:  Use new files.
6532         * Makefile.in:  Regenerate.
6533         * configure.in:  Use new files.
6534         * configure:  Regenerate.
6535
6536 1999-02-01  Nick Clifton  <nickc@cygnus.com>
6537
6538         * elf32-fr30.c (fr30_elf_gc_mark_hook): New function.
6539         (fr30_elf_gc_sweep_hook): New function.
6540         (elf_backend_can_gc_sections): Define.
6541
6542 Mon Feb  1 12:21:47 1999  Catherine Moore  <clm@cygnus.com>
6543
6544         * targets.c (bfd_target_vector):  Add bfd_elf32_littlearm_oabi_vec
6545         and bfd_elf32_bigarm_oabi_vec.
6546
6547 Mon Feb  1 11:46:31 1999  Catherine Moore  <clm@cygnus.com>
6548
6549         * Makefile.am (elf32-arm-oldabi.lo):  New.
6550         (elf32-arm-newabi.lo):  New.
6551         * Makefile.in:  Regenerate.
6552         * config.bfd (thumb-*-elf):  Remove definition of targ_underscore.
6553         (arm-*-elf):  Likewise.
6554         (arm-*-oabi):  New.
6555         (thumb-*-oabi):  New.
6556         * configure:  Regenerate.
6557         * configure.in (bfd_elf32_littlearm_oabi_vec):  New.
6558         (bfd_elf32_bigarm_oabi_vec):  New.
6559         * elf32-arm-newabi.c:  New.
6560         * elf32-arm-oldabi.c:  New.
6561         * elf32-arm.c:  Removed.
6562         * elf32-arm.h:  New.
6563
6564 Mon Feb  1 11:52:12 1999  Frank Ch. Eigler  <fche@cygnus.com>
6565
6566         * binary.c (binary_set_section_contents): Omit warnings for
6567         unloadable sections.
6568
6569 1999-01-31  Michael Meissner  <meissner@cygnus.com>
6570
6571         * config.bfd (powerpc{,le}-*-vxworks*): Add aliases to
6572         powerpc{,le}-*-eabi.
6573
6574 1999-01-29  Nick Clifton  <nickc@cygnus.com>
6575
6576         * dwarf2.c (read_unsigned_leb128): Remove unused variables.
6577         * dwarf2.c (read_signed_leb128): Remove unused variables.
6578
6579 Fri Jan 29 00:47:21 1999  H.J. Lu  <hjl@gnu.org>
6580
6581         * elf.c (assign_file_positions_for_segments): Only adjust
6582         p_align when needed.
6583
6584 Thu Jan 28 20:05:22 1999  Ian Lance Taylor  <ian@cygnus.com>
6585
6586         * binary.c (binary_set_section_contents): Don't return early for a
6587         non-loadable section, in case the first section is non-loadable.
6588         Don't set the low lma for a SEC_NEVER_LOAD section.  From Maciej
6589         W. Rozycki <macro@ds2.pg.gda.pl>.
6590
6591 1999-01-28  Nick Clifton  <nickc@cygnus.com>
6592
6593         * elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
6594         R_FR30_GNU_VTENTRY relocs.
6595
6596 Thu Jan 28 11:08:16 1999  Catherine Moore  <clm@cygnus.com>
6597
6598         * elflink.h (elf_link_output_sym):  Zero syms which are
6599         part of sections which have been excluded.
6600
6601 Wed Jan 27 13:35:35 1999  Stan Cox  <scox@cygnus.com>
6602
6603         * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed F_PIC
6604         to F_PIC_INT.
6605         * coffcode.h (coff_set_arch_mach_hook): Removed F_ARM_2a and
6606         F_ARM_3M labels.  Changed F_PIC to F_PIC_INT.
6607
6608 1999-01-27  Nick Clifton  <nickc@cygnus.com>
6609
6610         * elf32-fr30.c (fr30_elf_howto_table): Fix name of R_FR30_48
6611         relocation.
6612         (fr30_final_link_relocate): Use computed value as result of
6613         relocation.
6614
6615 1999-01-26  Frank Ch. Eigler  <fche@cygnus.com>
6616
6617         * binary.c (binary_set_section_contents): Emit warning for
6618         huge file offsets due to widely-dispersed section LMAs.
6619
6620 Mon Jan 18 03:35:35 1999  Ian Lance Taylor  <ian@cygnus.com>
6621
6622         * elf.c (assign_file_positions_for_segments): If not D_PAGED,
6623         align first section to largest section alignment, not first
6624         section alignment.
6625
6626 1999-01-04  Jason Molenda  (jsm@bugshack.cygnus.com)
6627
6628         * configure.in: Require autoconf 2.12.1 or higher.
6629
6630 Tue Dec 22 15:21:41 1998  Catherine Moore  <clm@cygnus.com>
6631
6632         * archures.c (bfd_mach_i386_i386_intel_syntax):  Define.
6633         * bfd-in2.h:  Likewise.
6634         * cpu-i386.c (bfd_i386_arch_intel_syntax):  New.
6635
6636 1998-12-16  Gavin Romig-Koch  <gavin@cygnus.com>
6637
6638         * archures.c,bfd-in2.h (bfd_mach_mips4111): New.
6639         * cpu-mips.c: Add support for and independent 4111.
6640         * elf32-mips.c (elf_mips_mach): E_MIPS_MACH_4111 -> bfd_mach_mips4111.
6641         (_bfd_mips_elf_final_write_processing):
6642         bfd_mach_mips4111 -> E_MIPS_ARCH_3 | E_MIPS_MACH_4111.
6643
6644 1998-12-15  Gavin Romig-Koch  <gavin@cygnus.com>
6645
6646         * elf32-mips.c (elf_mips_abi_name): New.
6647         (_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags.
6648
6649 1998-12-12  Gavin Romig-Koch  <gavin@cygnus.com>
6650
6651         * elf32-mips.c (_bfd_mips_elf_final_write_processing):
6652         Handle bfd_mach_mips4300.
6653
6654 1998-12-11  Ulrich Drepper  <drepper@cygnus.com>
6655
6656         * elf32-i386.c: Remove leaked development code from patch
6657         1998-12-10 by Richard Henderson.
6658
6659 1998-12-10  Richard Henderson  <rth@cygnus.com>
6660
6661         * elf32-i386.c (elf_i386_relocate_section): Don't fail relocations
6662         in debug sections for symbol defined externally.
6663
6664 Thu Dec 10 10:58:38 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
6665
6666         * targets.c (bfd_target_vector): Remove duplicate entry for
6667         tekhex_vec.
6668
6669 1998-12-09  Nick Clifton  <nickc@cygnus.com>
6670
6671         * elf32-fr30.c (fr30_elf_howto_table): Set src_mask fields to 0
6672         since we are using RELAs.
6673
6674 Tue Dec  8 22:15:48 1998  Ian Lance Taylor  <ian@cygnus.com>
6675
6676         SCO Open Server Release 5 core file support, from Jouke Numan
6677         <jnuman@hiscom.nl>:
6678         * sco5-core.c: New file.
6679         * configure.in (i[3456]86-*-sco3.2v5*): Use sco5-core.lo.
6680         (sco5-core.lo): Define SCO5_CORE in COREFLAG.
6681         * Makefile.am: Rebuild dependencies.
6682         (OPTIONAL_BACKENDS): Add sco5-core.lo.
6683         (OPTIONAL_BACKENDS_CFILES): Add sco5-core.c.
6684         * bfd.c (struct _bfd): Add sco5_core_data field to tdata.
6685         * targets.c (sco5_core_vec): Add to target list if SCO5_CORE.
6686         * bfd-in2.h, configure, Makefile.in: Rebuild.
6687
6688 Tue Dec  8 19:38:42 1998  Mark Klein  <mklein@dis.com>
6689
6690         * config.bfd (hppa*-*-mpeix*): New target.
6691         * configure.in: Add AC_HEADER_DIRENT.
6692         (hppa*-*-mpeix*): New target.
6693         * configure.host (hppa*-*-mpeix*): New host.
6694         * hpux-core.c: Check HOST_HPPAMPEIX.  Use HAVE_DIRENT_H and
6695         friends rather than just including <sys/dir.h>.
6696         * som.h (struct som_symbol): Add hppa_priv_level and apto
6697         tc_data.  Change all users.
6698         (struct somdata): Add comp_unit field.
6699         (obj_som_compilation_unit): Define.
6700         (bfd_som_attach_compilation_unix): Declare.
6701         * som.c: Check HOST_HPPAMPEIX.
6702         (struct som_misc_symbol_info): Add new field priv_level.
6703         (som_object_setup): Add current_offset parameter.  Change all
6704         callers.
6705         (setup_sections): Likewise.
6706         (som_object_p): For EXECLIBMAGIC, read the lst header.
6707         (som_write_symbol_strings): Add compilation_unit parameter.
6708         Change all callers.
6709         (som_finish_writing): Write out compilation_unit.
6710         (som_bfd_derive_misc_symbol_info): Set priv_level.
6711         (som_build_and_write_symbol_table): Set xleast field to 3.
6712         (som_slurp_symbol_table): Set symbol priv_level.
6713         (bfd_som_attach_compilation_unit): New function.
6714         (som_bfd_ar_write_symbol_stuff): Set xleast field to 3.  Set
6715         priv_level into symbol_value.
6716         * configure, config.in: Rebuild.
6717
6718 Tue Dec  8 16:21:35 1998  Ian Lance Taylor  <ian@cygnus.com>
6719
6720         * hpux-core.c (hpux_core_core_file_p): Change call to nonexistent
6721         warning function to call _bfd_error_handler instead.
6722
6723         * libbfd.c (COERCE32): Cast through unsigned long and long to
6724         avoid bug in old version of gcc.
6725
6726         * elf64-alpha.c (elf64_alpha_additional_program_headers): Remove.
6727         (elf_backend_additional_program_headers): Don't define.
6728
6729 1998-12-08  Nick Clifton  <nickc@cygnus.com>
6730
6731         * elf32-fr30.c (fr30_final_link_relocate): Fix PC relative
6732         relocations to include offset of 2 included in the insns, and the
6733         offset of the relocs within the section.
6734
6735 Wed Dec  2 15:03:59 1998  David Taylor  <taylor@texas.cygnus.com>
6736
6737         The following changes were made by David Taylor
6738         <taylor@texas.cygnus.com>, Edith Epstein
6739         <eepstein@sophia.cygnus.com>, Jim Blandy
6740         <jimb@zwingli.cygnus.com>, and Elena Zannoni
6741         <ezannoni@kwikemart.cygnus.com> as part of the project to merge in
6742         changes originally made by HP; HP did not create ChangeLog
6743         entries.
6744
6745         * aclocal.m4, configure, Makefile.in: Rebuilt using latest
6746         automake macro library.
6747
6748         * hpux-core.c (hpux_core_core_file_p): this function now
6749         understands HPUX 10.30 thread info. Yes, the thread stacks can be
6750         found in the corefile! Also, in hpux_core_core_file_p, if we
6751         encounter a section with an unknown type, don't punt.  Instead,
6752         just skip it.  Also, count the number of sections of known type
6753         that we encounter.  If we encounter at least one good one, then
6754         we'll declare that the file is a core file.  If we encounter any
6755         unknown ones but some known ones, then we'll issue a warning (but
6756         still declare it to be a core file). Also, correctly decide when a
6757         file is not a core.
6758         (PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined.
6759         (CORE_ANON_SHMEM): define if not defined.
6760         (hpux_core_struct): add members lwpid and user_tid.
6761         (core_kernel_thread_id, core_user_thread_id): new macros.
6762         (make_bfd_asection): use bfd_alloc to allocate room for a copy of
6763         the name before storing it in the bfd.
6764         (hpux_core_core_file_p): handle threads.
6765
6766         * libhppa.h (GET_FIELD): protect against redefinition.
6767         (HPPA_WIDE): define.
6768         (GET_FIELD): define.
6769         (GET_BIT): define.
6770         (MASK): define.
6771         (CATENATE): define.
6772         (ELEVEN): define.
6773         (sign_extend): redefine.
6774         (assemble_6): define.
6775         (assemble_12): rewrite.
6776         (assemble_16): define.
6777         (assemble_16a): define.
6778         (assemble_17): rewrite.
6779         (assemble_22): define.
6780
6781 1998-12-07  Nick Clifton  <nickc@cygnus.com>
6782
6783         * elf32-fr30.c (fr30_final_link_relocate): Using signed
6784         relocations for signed values.
6785
6786 Sun Dec  6 16:30:33 1998  Ian Lance Taylor  <ian@cygnus.com>
6787
6788         * mipsbsd.c (MY(set_arch_mach)): Make static.
6789         * aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use
6790         bfd_mach_mips* macros rather than simple numbers.
6791
6792         COFF weak symbol support, based on patches from Mark Elbrecht
6793         <snowball3@usa.net>:
6794         * coffcode.h (coff_slurp_symbol_table): Handle C_WEAKEXT.
6795         * coffgen.c (coff_renumber_symbols): Handle weak symbols.
6796         (coff_write_alien_symbol): Likewise.
6797         * cofflink.c (coff_link_check_ar_symbols): Likewise.
6798         (coff_link_add_symbols): Likewise.
6799         (_bfd_coff_link_input_bfd): Likewise.
6800         (_bfd_coff_write_global_sym): Likewise.
6801
6802         * elf.c (copy_private_bfd_data): Always initialize the
6803         includes_phdrs field.
6804
6805         * elflink.h (elf_fix_symbol_flags): Check for case where a non-ELF
6806         file defines a symbol first mentioned in an ELF file.
6807
6808         * bfd-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if
6809         possible, rather than only if BFD64.
6810         * elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT,
6811         not __GNUC__.
6812         * bfd-in2.h: Rebuild.
6813
6814         * srec.c (srec_set_section_contents): Correct test to avoid
6815         switching to 4 byte addresses after seeing a second section which
6816         requires 3 byte addresses.  From Joel Schantz
6817         <joel.schantz@argosys.boeing.com>.
6818
6819         * config.bfd (m68*-*-gnu*): New target.  From Aymeric Vincent
6820         <aymeric.vincent@emi.u-bordeaux.fr>.
6821
6822 1998-12-04  Jim Blandy  <jimb@zwingli.cygnus.com>
6823
6824         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Fix logic to
6825         decide whether the output file is -mrelocatable-lib,
6826         -mrelocatable, or neither.  (gdb.base/nodebug.exp)
6827
6828 1998-12-03  Nick Clifton  <nickc@cygnus.com>
6829
6830         * elf32-fr30.c: Add support for R_FR30_48 reloc.
6831         * reloc.c: Add BFD_RELOC_FR30_48 relocation.
6832         * bfd-in2.h: Regenerate.
6833         * libbfd.h: Regenerate
6834
6835 Wed Dec  2 00:58:37 1998  Ian Lance Taylor  <ian@cygnus.com>
6836
6837         * elflink.h (elf_adjust_dynamic_symbol): Warn on an attempt to
6838         link against a dynamic symbol with no type or size.
6839
6840 1998-12-01  Ulrich Drepper  <drepper@cygnus.com>
6841
6842         * elf32-i386.c (i386_check_relocs) [R_386_32]: Don't emit
6843         relocation for section which does not get loaded.
6844         (elf_i386_relocate_section) [R_386_32]: Likewise.
6845
6846 Tue Dec  1 11:33:33 1998  Jim Wilson  <wilson@cygnus.com>
6847
6848         * coff-h8300.c (h8300_bfd_link_add_symbols): Make reloc_size,
6849         reloc_count and i long instead of unsigned long.  Handle error
6850         return from bfd_canonicalize_reloc.
6851
6852 1998-12-01  Nick Clifton  <nickc@cygnus.com>
6853
6854         * elf32-v850.c (v850_elf_relocate_section): Detect the absence of
6855         a hash table.
6856
6857 Mon Nov 30 15:28:09 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6858
6859         * elf32-sh.c (elf/sh.h): Include.
6860         sh_reloc_type: Delete.  Changed all references to elf_sh_reloc_type.
6861         (sh_elf_howto_tab): Add HOWTO for R_SH_SWITCH8.
6862         (sh_reloc_map): Map BFD_RELOC_8_PCREL to R_SH_SWITCH8.
6863         (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
6864         * Makefile.in: Add dependency of elf32-sh.lo on $(INCDIR)/elf/sh.h.
6865
6866 Fri Nov 27 17:51:38 1998  Geoff Keating  <geoffk@ozemail.com.au>
6867
6868         * elflink.h (compute_bucket_count): Don't allow minsize==0, it
6869         causes division by zero later on.
6870
6871 Thu Nov 26 11:19:35 1998  Dave Brolley  <brolley@cygnus.com>
6872
6873         * elf32-fr30.c (fr30_elf_pc9_reloc,fr30_elf_pc12_reloc): Not
6874         needed.
6875
6876 1998-11-25  DJ Delorie  <dj@cygnus.com>
6877
6878         * coff-i386.c (i3coff_object_p): Remove hack.  Use new emulation
6879         hook now.
6880
6881 Tue Nov 24 10:25:27 1998  Nick Clifton  <nickc@cygnus.com>
6882
6883         * elf32-fr30.c (fr30_elf_relocate_section): Call
6884         fr30_final_link_relocate.
6885         (fr30_final_link_relocate): New function: Handle I20 and I32
6886         relocs.
6887         (fr30_elf_i32_reloc): New function: Handle I32 relocs.
6888         (fr30_elf_pc9_reloc): New function: Handle 9_PCREL relocs.
6889         (fr30_elf_pc12_reloc): New function: Handle 12_PCREL relocs.
6890
6891         * elf32-v850.c (v850_elf_relocate_section): Reset hi16s reloc
6892         chain to empty.
6893
6894         The following changes are based on a patch submitted by Gianluca
6895         Moro <glctr@abc.it>:
6896
6897         (v850_elf_perform_relocation): Only update a hi16s reloc if it has
6898         not already been updated.
6899         (find_remembered_hi16s_reloc): New parameter 'already_found'
6900         returns state of remembered hi16s reloc.
6901         (remember_hi16s_reloc): Set 'found' field to false.
6902         (hi16s_location): Add 'found' field.
6903
6904 1998-11-23  DJ Delorie  <dj@cygnus.com>
6905
6906         * coff-i386.c (bfd_pe_dll_not_recognized_hack): the linker wants
6907         to see .DLL files as unrecognized.
6908         (i3coff_object_p): Sorry, had to hack it to not recognize these
6909         files (pei-i386) on request.
6910
6911 1998-11-23  DJ Delorie  <dj@cygnus.com>
6912
6913         * opncls.c (bfd_make_readable): need more cleanup for symbols and
6914         relents.  Call bfd_check_format to reinitialize.
6915
6916 Fri Nov 20 14:21:36 1998  Nick Clifton  <nickc@cygnus.com>
6917
6918         * elf32-fr30.c (fr30_elf_relocate_section): Remove spurious
6919         warnings.
6920
6921 Thu Nov 19 14:42:15 1998  Geoffrey Noer  <noer@cygnus.com>
6922
6923         * aclocal.m4: regenerate
6924         * configure: regenerate
6925
6926 Tue Nov 17 20:23:35 1998  Richard Henderson  <rth@cygnus.com>
6927
6928         * elf-bfd.h (struct elf_link_hash_entry): Add vtable_entries_size.
6929         * elf.c (_bfd_elf_link_hash_newfunc): Clear it.
6930         * elflink.h (elf_gc_propagate_vtable_entries_used): Copy it, and
6931         respect it as an upper bound on what memory to reference.
6932         (elf_gc_smash_unused_vtentry_relocs): Likewise.
6933         (elf_gc_record_vtentry): Handle as-yet undefined vtables.  Set and
6934         update vtable_entries_size appropriately.
6935
6936 Tue Nov 17 15:28:31 1998  Nick Clifton  <nickc@cygnus.com>
6937
6938         * elf32-fr30.c (fr30_reloc_type_lookup): Used integers to hold
6939         reloc number.
6940
6941 Mon Nov 16 22:19:21 1998  DJ Delorie  <dj@cygnus.com>
6942
6943         * archive.c (bfd_ar_hdr_from_filesystem): support BFD_IN_MEMORY
6944         bfds; they have no "file" so we fake it.
6945         * bfd-in2.h: add bfd_make_writable and bfd_make_readable (regen)
6946         * libbfd.c (bfd_write): Allow writing to BFD_IN_MEMORY bfds by
6947         resizing the memory buffer.
6948         * opncls.c (bfd_make_writable): New function; lets you write a
6949         bfd_create'd bfd to an in-memory buffer.
6950         (bfd_make_readable): New function; lets you read back that buffer
6951         as if it were from bfd_openr.  Used to build generated archive
6952         members (winsup's ld's dlltool)
6953
6954 Mon Nov 16 19:15:19 1998  Dave Brolley  <brolley@cygnus.com>
6955
6956         * po/bfd.pot: Regenerated.
6957
6958 Mon Nov 16 10:57:06 1998  Nick Clifton  <nickc@cygnus.com>
6959
6960         * elf32-v850.c (hi16s_location): Replaced fixed size array with
6961         linked list.
6962
6963 Sun Nov 15 20:28:25 1998  Richard Henderson  <rth@cygnus.com>
6964
6965         * elf64-alpha.c (elf64_alpha_relax_section): Search for the proper
6966         element of the gotentry list for local symbols too.
6967         (elf64_alpha_relocate_section): Unify local and global handling.
6968         Assert that gotent->use_count > 0.
6969
6970 Sat Nov 14 15:16:01 1998  Ian Lance Taylor  <ian@cygnus.com>
6971
6972         * configure.in (vms_alpha_vec): Rename from evax_alpha_vec, and
6973         update for file name changes of July 2, 1998.
6974         (vms_vax_vec): New.
6975         * configure: Rebuild.
6976
6977 Thu Nov 12 19:19:54 1998  Dave Brolley  <brolley@cygnus.com>
6978
6979         * po/bfd.pot: Regenerated.
6980
6981 Tue Nov 10 16:17:06 1998  Geoffrey Noer  <noer@cygnus.com>
6982
6983         * acinclude.m4, config.bfd: detect cygwin* instead of cygwin32*.
6984         * aclocal.m4, configure: regenerate
6985
6986 Tue Nov 10 15:13:59 1998  Nick Clifton  <nickc@cygnus.com>
6987
6988         * elf.c (prep_headers): Add support for bfd_arch_fr30.
6989
6990 Tue Nov 10 13:37:36 1998  Felix Lee  <flee@cygnus.com>
6991
6992         * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE,
6993         BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): didn't define macro when value
6994         was cached.
6995         * aclocal.m4, configure: regenerated.
6996
6997 Tue Nov 10 14:31:01 1998  Catherine Moore  <clm@cygnus.com>
6998
6999         * elf32-d10v.c (reloc_type):  Add R_D10V_GNU_VTINHERIT and
7000         R_D10V_GNU_VTENTRY relocs.
7001         (elf_d10v_howto_table):  Likewise.
7002         (d10v_reloc_map d10v_reloc_map):  Likewise.
7003         (elf32_d10v_gc_mark_hook):  New.
7004         (elf32_d10v_gc_sweep_hook):  New.
7005         (elf32_d10v_check_relocs):  New.
7006         (elf32_d10v_relocate_section):  New.
7007         (elf_backend_relocate_section):  Define.
7008         (elf_backend_can_gc_sections):  Define.
7009
7010 Sat Nov  7 18:07:51 1998  Peter Schauer  <peter.schauer@regent.e-technik.tu-muenchen.de>
7011
7012         * Makefile.am (BFD32_BACKENDS): Move vms files here...
7013         (BFD64_BACKENDS): ...from here.
7014         (BFD32_BACKENDS_CFILES): Move vms files here...
7015         (BFD64_BACKENDS_CFILES): ...from here.
7016         * Makefile.in: Rebuild.
7017
7018 Wed Nov  4 15:58:48 1998  Nick Clifton  <nickc@cygnus.com>
7019
7020         * Makefile.am: Add FR30 target.
7021         * Makefile.in: Add FR30 target.
7022         * archures.c: Add support for FR30.
7023         * config.bfd: Add support for FR30.
7024         * configure.in: Add support for FR30.
7025         * reloc.c: Add support for FR30 relocations.
7026         * targets.c: Add support for FR30 relocations.
7027         * bfd-in2.h: Regenerate.
7028         * configure: Regenerate.
7029         * libbfd.h:  Regenerate.
7030         * cpu-fr30.c: New file.
7031         * elf32-fr30.c: New file.
7032
7033 Mon Nov  2 14:59:33 1998  Geoffrey Noer  <noer@cygnus.com>
7034
7035         * configure.in: detect cygwin* instead of cygwin32*
7036         * configure: regenerate
7037
7038 Sun Nov  1 19:32:28 1998  Jeffrey A Law  (law@cygnus.com)
7039
7040         * elf-m10300.c (mn10300_elf_relax_section): Do not use alloca,
7041         use bfd_malloc and free instead and check return value from bfd_malloc.
7042
7043 Sun Nov  1 16:20:35 1998  Ian Lance Taylor  <ian@cygnus.com>
7044
7045         * libbfd-in.h (_bfd_dwarf1_find_nearest_line): Declare.
7046         * libbfd.h: Rebuild.
7047
7048         * elf32-mips.c (mips_elf_dynsym_sec_names): Comment out.
7049         (SIZEOF_MIPS_DYNSYM_SECNAMES): Likewise.
7050         (MIPS_TEXT_DYNSYM_SECN): Likewise.
7051         (_bfd_mips_elf_fake_sections): Don't set sh_info field of a .hash
7052         section.
7053         (struct mips_elf_link_hash_table): Remove dynsym_sec_strindex
7054         field.
7055         (mips_elf_link_hash_table_create): Don't initialize
7056         dynsym_sec_strindex.
7057         (mips_elf_gc_mark_hook): Add default case to avoid warning.
7058         (mips_elf_size_dynamic_sections): Generate a section symbol for
7059         every output section.
7060         (mips_elf_finish_dynamic_sections): Count all sections for
7061         DT_MIPS_UNREFEXTNO.
7062         (mips_elf_finish_dynamic_sections): Use dynamic symbols for all
7063         output sections.
7064
7065 Sun Nov  1 12:46:53 1998  Geoff Keating  <geoffk@ozemail.com.au>
7066
7067         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Allocate two slots
7068         for later PLT entries in large PLTs.
7069         (ppc_elf_finish_dynamic_symbol): Allow for the extra slots.
7070
7071 Sat Oct 31 20:10:09 1998  Jeffrey A Law  (law@cygnus.com)
7072
7073         * elf32-ppc.c (ppc_elf_reload_section): Fix typo.
7074
7075 1998-10-26 15:58  Ulrich Drepper  <drepper@cygnus.com>
7076
7077         * elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value.
7078         * elflink.h (elf_collect_hash_codes): New function.  This function is
7079         called for each exported symbol and we compute the ELF hash value for
7080         it.
7081         (compute_bucket_value): New function.  It is called from
7082         size_dynamic_sections to determine the hash table size.  When we are
7083         optimizing a better, but slower, algorithm is used.
7084         (size_dynamic_sections): Call compute_bucket_value.
7085
7086         * elf.c (bfd_elf_hash): Optimize the hash function a bit.
7087
7088 Mon Oct 19 20:03:21 1998  Catherine Moore  <clm@cygnus.com>
7089
7090         * elf32-sh.c:  Add HOWTO entries for R_SH_GNU_VTINHERIT and
7091         R_SH_GNU_VTENTRY.
7092         (sh_elf_gc_mark_hook):  New.
7093         (sh_elf_gc_sweep_hook):  New.
7094         (sh_elf_check_relocs):  New.
7095         (elf_backend_can_gc_sections):  Define.
7096
7097 Mon Oct 19 16:57:05 1998  Felix Lee  <flee@cygnus.com>
7098
7099         * acinclude.m4: undo previous gettext change
7100         * aclocal.m4: rebuild with right version of aclocal.
7101
7102 Mon Oct 19 01:47:21 1998  Felix Lee  <flee@cygnus.com>
7103
7104         * acinclude.m4, aclocal.m4: move gettext-related fragments from
7105         aclocal.m4 to acinclude.m4, so they don't get lost.
7106
7107         * elfcore.h: rewrite for better corefile support.
7108         * elf.c (elfcore_*): new functions.
7109         * elf-bfd.h (elf_obj_tdata): new structure members.
7110         * acconfig.h, acinclude.m4, configure.in: add feature-tests for
7111         flavor of procfs.
7112         * aclocal.m4, config.in, configure, Makefile.in: regenerated.
7113
7114 Fri Oct 16 14:07:45 1998  Catherine Moore  <clm@cygnus.com>
7115
7116         * elf32-m32r.c:  Add HOWTO entries for R_M32R_GNU_VTINHERIT
7117         and R_M32R_GNU_VTENTRY.
7118         (elf_backend_can_gc_sections):  Define.
7119         (m32r_elf_check_relocs):  New.
7120         (m32r_elf_gc_mark_hook):  New.
7121         (m32r_elf_gc_sweep_hook):  New.
7122         (m32r_elf_relocate_section):  Handle VT relocs.
7123
7124 Mon Oct 12 14:18:40 1998  Nick Clifton  <nickc@cygnus.com>
7125
7126         * coff-arm.c (arm_relocate_section): Remove redundant test.
7127
7128         * bfd-in2.h (struct reloc_howto_struct): Improve comment to make
7129         cleat that the 'bitsize' field is the size of the bitfield AFTER
7130         relocation not before.
7131
7132         * elf32-m32r.c (R_M32R_18_PCREL): Fix size of bitfield.
7133
7134         * coff-mips.c (mips_relocate_hi): Cope with missing refhi or reflo
7135         relocs.
7136
7137 Tue Oct  6 09:20:44 1998  Catherine Moore  <clm@cygnus.com>
7138
7139         * elf32-sparc.c:  Add HOWTO entries for R_SPARC_GNU_VTINHERIT and
7140         R_SPARC_GNU_VTENTRY.
7141         (elf32_sparc_check_relocs):  Handle them.
7142         (elf32_sparc_reloc_type_lookup):  Likewise.
7143         (elf32_sparc_relocate_section):  Likewise.
7144         (elf32_sparc_gc_mark_hook):  New.
7145         (elf32_sparc_gc_sweep_hook):  New.
7146
7147 Mon Oct  5 14:55:30 1998  Jeffrey A Law  (law@cygnus.com)
7148
7149         * som.c (som_finish_writing): Perform some sanity checks when
7150         writing an executable or shared library.
7151
7152 Mon Oct  5 12:02:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
7153
7154         * dwarf1.c : New file.  Adds _bfd_dwarf1_find_nearest_line.
7155         * configure.in (elf): Add dwarf1.lo.
7156         * elf_bfd.h (elf_ob_tdata): Add dwarf1_find_line_info.
7157         * elf.c (_bfd_elf_find_nearest_line): Add call to
7158         _bfd_dwarf1_find_nearest_line.
7159         * elf32-mips.c (_bfd_mips_elf_find_nearest_line):
7160         Add call to _bfd_dwarf1_find_nearest_line.
7161         * configure: Rebuilt.
7162
7163 Mon Oct  5 10:06:22 1998  Catherine Moore  <clm@cygnus.com>
7164
7165         * elflink.h (elf_gc_sections):  Do not allow garbage
7166         collection if dynamic sections have been created.
7167
7168 Mon Oct  5 09:07:37 1998  Catherine Moore  <clm@cygnus.com>
7169
7170         * elf32-v850.c: Add HOWTO entries for R_V850_GNU_VTINHERIT and
7171         R_V850_GNU_VTENTRY.
7172         (v850_elf_check_relocs):  Handle VTINHERIT and VTENTRY relocs.
7173         (v850_elf_perform_relocation):  Likewise.
7174         (v850_elf_final_link_relocate):  Likewise.
7175         (v850_elf_relocate_section):  Likewise.
7176         (v850_elf_gc_sweep_hook):  New routine.
7177         (v850_elf_gc_mark_hook):  New routine.
7178         (elf_backend_can_gc_sections):  Define.
7179
7180 Mon Oct  5 09:04:25 1998  Catherine Moore  <clm@cygnus.com>
7181
7182         * elf32-m68k.c (elf_m68k_gc_sweep_hook):  Don't assume
7183         that dynobj exists.
7184
7185 Sun Oct  4 23:29:34 1998  David Edelsohn  <edelsohn@mhpcc.edu>
7186
7187         * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
7188         Declare size as bfd_size_type.
7189         (rs6000coff_get_section_contents): Declare count as bfd_size_type.
7190
7191 Sun Oct  4 20:38:29 1998  Jeffrey A Law  (law@cygnus.com)
7192
7193         * cpu-hppa.c (bfd_hppa20_arch): Define.  Link it into the bfd_hppa_arch
7194         structure.
7195         * som.c (CPU_PA_RISC2_0): Define.
7196         (_PA_RISC2_0_ID): Likewise.
7197         (som_finish_writing): Use CPU_PA_RISC2_0 for the system_id as needed.
7198
7199 Sun Oct  4 21:19:09 1998  Ian Lance Taylor  <ian@cygnus.com>
7200
7201         * elflink.h (elf_link_add_object_symbols): When a versioned symbol
7202         has a base which is already defined, only add the referenced
7203         symbol to the dynamic symbol table if it is defined or referenced
7204         by a regular file.
7205
7206         * elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs
7207         correctly.
7208
7209 1998-09-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7210
7211         * elflink.h (elf_link_add_object_symbols): Undo last change.
7212
7213 Wed Sep 23 16:09:31 1998  Richard Henderson  <rth@cygnus.com>
7214
7215         * elflink.h (elf_link_add_object_symbols): Don't record a dynamic
7216         symbol for the indirect alias to a versioned symbol.
7217
7218 Mon Sep 21 12:15:22 1998  Catherine Moore  <clm@cygnus.com>
7219
7220         * elf32-i386.c (elf32_i386_vtinherit_howto): New.
7221         (elf32_i386_vtentry_howto): New.
7222         (elf_i386_reloc_type_lookup):  Return elf32_i386_vtentry_howto
7223         or elf32_i386_vtinherit_howto  on lookup.
7224
7225 Sun Sep 20 00:48:07 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7226
7227         * elf32-m68k.c: Include "elf/m68k.h".  Remove definition of enum
7228         reloc_type.  Rename R_68K__max to R_68K_max.
7229         (howto_table): Use _bfd_elf_rel_vtable_reloc_fn for a VTENTRY
7230         reloc.
7231
7232 Sun Sep 20 00:09:25 1998  Chris Torek  <torek@bsdi.com>
7233
7234         * libbfd.c (bfd_getb32): Rewrite expression to get better code.
7235         (bfd_getl32, bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
7236
7237         * libbfd.c (bfd_log2): Cast to bfd_vma before shifting, not
7238         after.
7239
7240 Sat Sep 19 22:42:23 1998  Doug Rabson  <dfr@nlsystems.com>
7241
7242         * elflink.h (elf_link_add_object_symbols): Ensure that the warning
7243         message has a null byte terminator.
7244
7245 Fri Sep 18 14:35:29 1998  Nick Clifton  <nickc@cygnus.com>
7246
7247         * elf32-v850.c (v850_elf_perform_relocation): Ignore contents of
7248         word subject to R_V850_32 relocation.
7249
7250 Thu Sep 17 17:20:36 1998  Nick Clifton  <nickc@cygnus.com>
7251
7252         * dwarf2.c: Add comment describing problem computing line numbers
7253         for undefined symbols at link time.
7254
7255 Thu Sep 17 16:03:28 1998  Richard Henderson  <rth@cygnus.com>
7256
7257         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
7258         transform a defweak into a plt entry.
7259         (elf64_alpha_calc_dynrel_sizes): Allow room for secondary
7260         plt entry references to receive a RELATIVE reloc.
7261         (elf64_alpha_finish_dynamic_symbol): Fill them in.
7262         (elf64_alpha_relocate_section): Assert we don't overrun
7263         the allocated relocation space.
7264
7265 Wed Sep 16 18:03:13 1998  Nick Clifton  <nickc@cygnus.com>
7266
7267         * elf.c (swap_out_syms): Always treat section symbols as
7268         special, even if they are attached to a common section.
7269
7270 Wed Sep 16 10:34:13 1998  Nick Clifton  <nickc@cygnus.com>
7271
7272         * elf32-v850.c (v850_elf_symbol_processing): Move symbols in
7273         sections with v850 common section attributes into named v850
7274         common sections.
7275         (v850_elf_add_symbol_hook): Move symbols in sections with v850
7276         common section attributes into named v850 common sections.
7277
7278 Wed Sep 16 11:26:49 CDT 1998  Catherine Moore  <clm@cygnus.com>
7279
7280         * elf32-arm.c (elf32_arm_gc_mark_hook):  Remove print
7281         statement.
7282
7283 1998-09-15  Geoff Keating  <geoffk@ozemail.com.au>
7284
7285         * elf32-ppc.c (ppc_elf_relocate_section): Reverse output_offset
7286         part of Vladimir's change of 1998-08-19.  Make a R_PPC_SDAREL16
7287         reloc to the wrong section a warning, not an error.  .dynsbss
7288         is not an output section, so there is no need to check for it.
7289
7290 Tue Sep 15 12:40:05 1998  Catherine Moore  <clm@cygnus.com>
7291
7292         * elf-bfd.h:  Add argument to elf_backend_get_symbol_type.
7293
7294 Tue Sep 15 08:34:40 1998  Catherine Moore  <clm@cygnus.com>
7295
7296         * elf.c (swap_out_syms):  Pass type to elf_backend_get_symbol_type.
7297         * elf32-arm.c:  Add HOWTO entries for R_ARM_GNU_VTINHERIT and
7298         R_ARM_GNU_VTENTRY.
7299         (elf32_arm_gc_mark_hook): New.
7300         (elf32_arm_gc_sweep_hook): New.
7301         (elf32_arm_check_relocs): New.
7302         (elf32_arm_final_link_relocate):  Handle VTINHERIT and VTENTRY
7303         relocations.
7304         (elf32_arm_relocate_section): Handle VTINHERIT and VTENTRY
7305         relocations.
7306
7307 1998-09-10  Geoff Keating  <geoffk@ozemail.com.au>
7308
7309         * elf32-ppc.c (ppc_elf_relocate_section): If dynobj is NULL,
7310         assume there is no PLT or GOT.
7311
7312 Wed Sep  9 14:24:12 1998  Nick Clifton  <nickc@cygnus.com>
7313
7314         * elf32-arm.c (elf32_arm_find_nearest_line): New function:  just
7315         like _elf_bfd_find_nearest_line() except that STT_ARM_TFUNC is
7316         also accepted as a function symbol type.
7317
7318 Mon Sep  7 13:24:03 1998  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
7319
7320         * rs6000-core.c (_LONG_LONG):  Define for AIX 4.x only.
7321
7322 Sat Sep  5 20:40:18 1998  Ian Lance Taylor  <ian@cygnus.com>
7323
7324         * libbfd-in.h (_bfd_nolink_bfd_gc_sections): Correct definition to
7325         match definition of _bfd_gc_sections field.
7326         * libbfd.h: Rebuild.
7327
7328 Fri Sep  4 13:54:23 1998  David Miller  <davem@dm.cobaltmicro.com>
7329
7330         * elf32-sparc.c (elf32_sparc_relocate_section): Properly adjust
7331         the addend of a dynamic relocation referencing a section.
7332         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7333         (sparc64_elf_finish_dynamic_symbol): Fix the PLT relocation offset.
7334
7335 Thu Sep  3 17:28:50 1998  Richard Henderson  <rth@cygnus.com>
7336
7337         * elflink.h (bfd_elfNN_size_dynamic_sections): Verify that the
7338         bed has a size_dynamic_sections routine before trying to use it.
7339
7340 Mon Aug 31 14:49:22 1998  Richard Henderson  <rth@cygnus.com>
7341
7342         * elf32-mips.c (elf_mips_gnu_vtentry_howto): Use
7343         _bfd_elf_rel_vtable_reloc_fn.
7344
7345 Mon Aug 31 10:23:40 1998  Catherine Moore  <clm@cygnus.com>
7346
7347         * Makefile.am:  Add elf32-arm.c.
7348         * Makefile.in:  Rebuild.
7349         * elf-bfd.h:  Add elf_backend_get_symbol_type.
7350         * elf.c (swap_out_syms):  If defined, call
7351         elf_backend_get_symbol_type.
7352         * elf32-arm.c: Define elf_backend_get_symbol_type.
7353         (elf32_arm_get_symbol-type):  New routine.
7354         (record_thumb_to_arm_glue):  Change to use STT_ARM_TFUNC.
7355         (bfd_elf32_arm_process_before_allocation):  Change to
7356         check for STT_ARM_TFUNC.
7357         (elf32_arm_final_link_relocate):  Likewise.
7358         * elfxx-target.h:  Add elf_backend_get_symbol_type.
7359
7360 Fri Aug 28 19:44:07 1998  Richard Henderson  <rth@cygnus.com>
7361
7362         * archures.c (bfd_mach_alpha_ev[456]): New.
7363         * cpu-alpha.c: Rework to match these types.
7364         * bfd-in2.h: Rebuild.
7365
7366 Fri Aug 28 19:38:53 1998  Richard Henderson  <rth@cygnus.com>
7367
7368         * elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare.
7369         * elf.c (_bfd_elf_rel_vtable_reloc_fn): New.
7370
7371         * elf32-i386.c (elf_howto_table): Add vtable relocs.
7372         (elf_i386_reloc_type_lookup): Recognize them.
7373         (elf_i386_check_relocs): Pass them off to generic code.
7374         (elf_i386_relocate_section): Ignore them.
7375         (elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New.
7376         (elf_backend_can_gc_sections): True.
7377
7378 Thu Aug 20 15:03:45 1998  Nick Clifton  <nickc@cygnus.com>
7379
7380         * elf32-arm.c (elf32_thumb_to_arm_stub): Check sym_sec is not NULL
7381         before looking at owner field.
7382         (elf32_arm_to_thumb_stub): Ditto.
7383         (elf32_arm_relocate_section): Compute name before calling
7384         elf32_arm_final_link_relocate().
7385
7386 Thu Aug 20 11:30:17 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
7387
7388         * elf.c: comment and formatting cleanups.
7389         * elfcore.h: ditto.
7390
7391 Wed Aug 19 15:43:26 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
7392
7393         * elfcode.h (elf_object_p): Reject files of header type ET_CORE
7394         (core files are treated differently than object files).
7395         * elf-bfd.h (_bfd_elf_write_corefile_contents,
7396         bfd_elf_mkcorefile): declare.
7397         * elfxx-target.h (_bfd_elf_write_corefile_contents,
7398         bfd_elf_mkcorefile): add to bfd_target vector.
7399         * elfcore.h (elf_core_file_p): save the program header table,
7400         and set the bfd architecture from the elf file header.
7401         * elf.c (bfd_elf_mkcorefile): new function.
7402         (_bfd_elf_write_corefile_contents): new function.
7403         (assign_file_positions_for_segments): add cases for handling
7404         PT_NOTE segments.  (assign_file_positions_except_relocs):
7405         core files should be handled the same as exec files.
7406         (prep_headers): identify core files as type ET_CORE.
7407         (copy_private_bfd_data): identify the sections belonging to
7408         the PT_NOTE segment.
7409
7410         * elf32-sparc.c (elf32_sparc_final_write_processing):
7411         add break statement to default case.
7412
7413 1998-08-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
7414
7415         * elf32-ppc.c (ppc_elf_relocate_section): Check that output
7416         section (not input) will be in sections ".sbss", ".sbss2",
7417         ".sdata", and ".sdata" for R_PPC_SDAREL16, R_PPC_EMB_SDA2REL,
7418         R_PPC_EMB_SDA21, R_PPC_EMB_RELSDA.  In all these cases also ignore
7419         output_offset for correct evaluation of addend.
7420
7421 Tue Aug 18 11:48:12 1998  Catherine Moore  <clm@cygnus.com>
7422
7423         * elf32-arm.c: Add prefix bfd_ to elf32_arm_get_bfd_for_interworking,
7424         elf32_arm_allocate_interworking_sections and
7425         elf32_arm_process_before_allocation.
7426
7427 Tue Aug 18 11:46:00 1998  Nick Clifton  <nickc@cygnus.com>
7428
7429         * bfd-in.h: Ammend prototype for
7430         elf32_arm_process_before_allocation to remove surplus third
7431         argument.
7432
7433         * bfd-in2.h: Regenerate.
7434
7435 Sat Aug 15 20:55:08 1998  Richard Henderson  <rth@cygnus.com>
7436
7437         * elf64-alpha.c (elf64_alpha_relax_section): Handle indirect symbols.
7438
7439 Fri Aug 14 09:12:28 1998  Stan Cox  <scox@cygnus.com>
7440
7441         * aoutx.h (aout_link_input_section_ext): Use the relocation already
7442         calculated for RELOC_SPARC_REV32 case.
7443
7444 Thu Aug 13 14:02:02 1998  Catherine Moore  <clm@cygnus.com>
7445
7446         * bfd-in.h:  Add prototypes for elf32_arm_get_bfd_for_interworking,
7447         elf32_arm_allocate_interworking_sections and
7448         elf32_arm_process_before_allocation.
7449         * bfd-in2.h:  Regenerated.
7450         * elf32-arm.c Define elf32_arm_link_hash_table.
7451         (insert_thumb_branch): New routine.
7452         (find_thumb_glue): New routine.
7453         (find_arm_glue): New routine.
7454         (record_arm_to_thumb_glue): New routine.
7455         (record_thumb_to_arm_glue): New routine.
7456         (elf32_arm_link_hash_table_create): New routine.
7457         (elf32_arm_get_bfd_for_interworking): New routine.
7458         (elf32_arm_allocate_interworking_sections) New routine.
7459         (elf32_arm_process_before_allocation) New routine.
7460         (elf32_thumb_to_arm_stub): New routine.
7461         (elf32_arm_to_thumb_stub): New routine.
7462         (elf32_print_private_bfd_data): Fix typo.
7463         (elf32_arm_final_link_relocate):  Add argument sym_sec.
7464         Check for branches to thumb symbols in case R_ARM_PC24.
7465         Check for branches to arm symbols in case R_ARM_THM_PC22.
7466         (elf32_arm_relocate_section):  Pass symbol section to
7467         elf32_arm_final_link_relocate.
7468
7469 Wed Aug 12 19:00:39 1998  Geoff Keating  <geoffk@ozemail.com.au>
7470
7471         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT
7472         entries unless the symbol is defined in the executable; in
7473         particular, undefined weak symbols get a PLT entry.
7474
7475 Wed Aug 12 14:48:33 1998  Ian Lance Taylor  <ian@cygnus.com>
7476
7477         * libaout.h: Remove nested comment to avoid warning.
7478
7479 Wed Aug 12 08:10:11 1998 Catherine Moore  <clm@cygnus.com>
7480
7481         * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
7482         R_ARM_PC24 relocation.
7483
7484 Tue Aug 11 14:42:26 1998  Catherine Moore  <clm@cygnus.com>
7485
7486         * elf32-arm.c (elf32_arm_final_link_relocate):  Remove unused
7487         argument is_local.  Add argument sym_flags.  Check sym_flags
7488         in R_ARM_ABS32 case.  Include addend for R_ARM_THM_PC22 case.
7489         (elf32_arm_relocate_section):  Don't pass local sym and pass
7490         sym_flags to elf32_arm_final_link_relocate.
7491
7492 Mon Aug 10 20:38:39 1998  Richard Henderson  <rth@cygnus.com>
7493
7494         * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change
7495         to not count too few relocs for dynamicly linked executables.
7496
7497 Mon Aug 10 15:35:34 1998  Richard Henderson  <rth@cygnus.com>
7498
7499         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider
7500         symbols without a dynamic index dynamic.  Consider all weak
7501         symbols dynamic.
7502         (elf64_alpha_strip_section_from_output): Don't assume 1-1
7503         correspondance between input and output sections.
7504
7505 Mon Aug 10 15:31:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7506
7507         * elflink.h (elf_gc_common_finalize_got_offsets): For backends
7508         that use a .got.plt section start the got offset at zero.
7509
7510 Mon Aug 10 17:31:21 1998  Ian Lance Taylor  <ian@cygnus.com>
7511
7512         * ieee.c (ieee_write_processor): Correct the processor ID written
7513         out for bfd_arch_m68k, accommodating change of March 25.
7514
7515 Sun Aug  9 20:55:44 1998  Catherine Moore  <clm@cygnus.com>
7516
7517         * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
7518         R_ARM_THM_RPC22 relocations.
7519
7520 Sat Aug  8 15:15:30 1998  Richard Henderson  <rth@cygnus.com>
7521
7522         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
7523         are always dynamic.
7524         (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
7525         .got relocs in -Bsymbolic shared objects.
7526
7527 Wed Aug  5 15:48:08 1998  Nick Clifton  <nickc@cygnus.com>
7528
7529         * elf32-arm.c: Add private flags to ELF header.
7530         (elf32_arm_print_private_bfd_data): New Function.
7531         (elf32_arm_set_private_flags): New Function.
7532         (elf32_arm_copy_private_flags): New Function.
7533         (elf32_arm_merge_private_bfd_data): New Function.
7534
7535 Mon Aug  3 17:10:15 1998  Ian Lance Taylor  <ian@cygnus.com>
7536
7537         * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against
7538         a local symbol.
7539         (elf32_sparc_relocate_section): Likewise.
7540
7541 Sun Aug  2 03:19:23 1998  Richard Henderson  <rth@cygnus.com>
7542
7543         * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL.  Create the
7544         .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_.
7545         (ppc_elf_relocate_section): Pull sgot and splt search to the start
7546         of the function.  Recognize no .plt as static linking.
7547
7548 1998-08-01  Ulrich Drepper  <drepper@cygnus.com>
7549
7550         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass
7551         ".liblist" string through gettext.
7552
7553 Fri Jul 31 16:38:14 1998  Catherine Moore  <clm@cygnus.com>
7554
7555         * Makefile.am: Add support for elf32-arm.lo.
7556         * Makefile.in: Rebuild.
7557         * config.bfd (arm-*-elf):  Define targ_defvec and targ_selvecs.
7558         (thumb-*-elf): Define targ_defvec and targ_selvecs.
7559         * configure.in:  Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec.
7560         * configure: Regenerate.
7561         * elf.c: (prep_headers):  Support arch_type of EM_ARM.
7562         * targets.c:  Support new targets bfd_elf32_bigarm_vec and
7563         bfd_target bfd_elf32_littlearm_vec.
7564         * elf32-arm.c:  New file.
7565
7566 Tue Jun 28 19:05:28 1998  Stan Cox  <scox@cygnus.com>
7567
7568         * libaout.h (M_SPARCLITE_LE): New machine.
7569         * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE.
7570         * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE.
7571         (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le
7572         * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32.
7573         (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le
7574         (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support.
7575         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
7576         elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32
7577         * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to
7578         be BFD_RELOC_SPARC_REV32.
7579         * reloc.c: Ditto.
7580         * config.bfd (sparc86x-*-aout): New
7581
7582 Fri Jul 24 13:54:19 1998  Nick Clifton  <nickc@cygnus.com>
7583
7584         * linker.c (_bfd_generic_final_link): Allocate NULL symbol before
7585         actually mapping the output sections.
7586
7587 Fri Jul 24 11:24:29 1998  Jeffrey A Law  (law@cygnus.com)
7588
7589
7590         * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry.
7591         (mn10300_elf_reloc_map): Similarly.
7592         (mn10300_elf_final_link_relocate): Handle R_MN10300_24.
7593
7594 Fri Jul 24 12:36:04 1998  Ian Lance Taylor  <ian@cygnus.com>
7595
7596         * elf32-mips.c (elf_mips_howto_table): Add reloc types used on
7597         Irix 6.
7598         (bfd_elf32_bfd_reloc_type_lookup): Add default case.
7599         * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with
7600         elf_mips_reloc_type defined in elf/mips.h.
7601
7602 1998-07-24  Ulrich Drepper  <drepper@cygnus.com>
7603
7604         * elf64-mips.c: Remove reloc_type definition completely.  It's now
7605         in elf/mips.h.
7606
7607 Thu Jul 23 13:33:19 1998  Doug Evans  <devans@canuck.cygnus.com>
7608
7609         * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations
7610         as they are defined in elf/mips.h now.
7611
7612 Thu Jul 23 11:29:43 1998  Jeffrey A Law  (law@cygnus.com)
7613
7614
7615         * Re-add lost change:
7616         * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
7617         "movm_stack_size".
7618         (mn10300_elf_relax_section): Include stack space for register saves
7619         in the imm8 field of a "call" instruction.
7620         (compute_function_info): Determine how much stack is allocated by
7621         the movm instruction.  Fix typo.
7622         (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
7623
7624 Thu Jul 23 11:38:05 1998  Ian Lance Taylor  <ian@cygnus.com>
7625
7626         * elf32-sparc.c (elf_backend_got_header_size): Define as 4.
7627         * elf64-sparc.c (elf_backend_got_header_size): Define as 8.
7628
7629 1998-07-22  Ulrich Drepper  <drepper@cygnus.com>
7630
7631         * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type.
7632
7633 Wed Jul 22 16:27:18 1998  Nick Clifton  <nickc@cygnus.com>
7634
7635         * elf32-hppa.h: Let ELF header define the enum containing the
7636         external reloc numbers.
7637         * elf32-i386.h: Likewise.
7638
7639 1998-07-22 14:57  Ulrich Drepper  <drepper@cygnus.com>
7640
7641         * elf-m10300.c: Let ELF header now define the macros to get the enum.
7642         * elf32-mips.c: Likewise.
7643         * elf32-ppc.c: Likewise.
7644
7645 Wed Jul 22 13:53:52 1998  Nick Clifton  <nickc@cygnus.com>
7646
7647         * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in
7648         bfd_coff_set_symbol_class(), in order to avoid K&R compatability
7649         prblems.
7650         * bfd-in.h: Regenerate.
7651         * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class'
7652         parameter to 'unsigned int' to avoid K&R compatability problems.
7653
7654 Wed Jul 22 16:43:24 1998  Ian Lance Taylor  <ian@cygnus.com>
7655
7656         * ieee.c (ieee_find_nearest_line): Change filename_ptr and
7657         functionname_ptr to be const.  Change line_ptr to be unsigned.
7658
7659         * coffcode.h (coff_link_output_has_begun): Simplify handling when
7660         macro is not defined.  Change second parameter from bfd_link_info
7661         to coff_final_link_info.  Add prototype.
7662         (coff_final_link_postscript): Simplify handling when macro is not
7663         defined.  Add prototype.
7664
7665 1998-07-22 13:08  Ulrich Drepper  <drepper@cygnus.com>
7666
7667         * elf-mn10300.c: Before include system specific ELF header define
7668         START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
7669         * elf32-mips.c: Likewise.
7670         * elf32-ppc.c: Likewise.
7671
7672 Wed Jul 22 13:46:51 1998  Ian Lance Taylor  <ian@cygnus.com>
7673
7674         * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
7675         temporary patch over to elf64-mips.c as well.
7676
7677 1998-07-21  Ulrich Drepper  <drepper@cygnus.com>
7678
7679         * elf32-mips.c (reloc_type): Temporarily disable definition of
7680         standard relocation since they are now defined in elf/mips.h.
7681
7682 Tue Jul 21 09:47:00 1998  Catherine Moore  <clm@cygnus.com>
7683
7684         * elf-m10200.c (mn10200_elf_final_link_relocate):
7685         Modify range test for case R_MN10200_8.
7686
7687         * elf-m10300.c (mn10300_elf_final_link_relocate):
7688         Modify range test for case R_MN10300_8.
7689
7690 Mon Jul 20 18:50:54 1998  Richard Henderson  <rth@cygnus.com>
7691
7692         * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size.
7693         * elf32-i386.c (elf_backend_got_header_size): Define.
7694         (elf_backend_plt_header_size): Define.
7695         * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise.
7696         * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise.
7697         * elfxx-target.h: Provide a default of zero.
7698         * elflink.c (_bfd_elf_create_got_section): Use got_header_size.
7699         * elflink.h (elf_gc_common_finalize_got_offsets): Likewise.
7700
7701         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT
7702         entry from an executable, even if the plt refcount goes to 0.
7703
7704 Mon Jul 20 12:47:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7705
7706         * aoutx.h (NAME(aout,find_nearest_line)): Also remember the
7707         directory name at the line number.
7708
7709         * elf.c (_bfd_elf_find_nearest_line): Also consider symbols
7710         with an unspecified type.
7711
7712 Wed Jul 15 11:20:01 1998  Ian Lance Taylor  <ian@cygnus.com>
7713
7714         * sunos.c: Add undef of valid to avoid problem on SunOS.
7715
7716 Tue Jul 14 15:30:59 1998  Richard Henderson  <rth@cygnus.com>
7717
7718         * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize.
7719
7720 Tue Jul 14 11:22:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7721
7722         * elf32-m68k.c (elf_m68k_check_relocs): Also reference count
7723         R_68K_PCxx and R_68K_xx relocations.  Make sure that
7724         ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference.
7725         (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and
7726         R_68K_xx relocations.
7727         (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol
7728         that has no plt entry.
7729         (elf_m68k_relocate_section): Ignore the plt offset in a static
7730         link.
7731         * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for
7732         an ignored symbol.
7733         (elf_gc_common_finalize_got_offsets): Set the got offsets also in
7734         a static link.
7735
7736         * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc
7737         types.
7738         (howto_table, reloc_map): Add entries for them.
7739         (elf_m68k_check_relocs): Handle them.  Implement reference
7740         counting for got and plt entries.
7741         (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions.
7742         (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt
7743         symbols.
7744         (rtype_to_howto_rel, elf_info_to_howto_rel): Delete.
7745         (elf_m68k_relocate_section): Handle the new reloc types.
7746         (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook,
7747         elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define.
7748         * elflink.h (elf_link_add_object_symbols): When creating an
7749         indirect reference for symbol versioning also copy the plt
7750         offset.
7751         (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT
7752         flag also reset the plt offset.
7753         (elf_link_assign_sym_version): Likewise.
7754         (elf_gc_common_finalize_got_offsets): Increment the got offset by
7755         the size of the entry in bytes.
7756         (elf_gc_allocate_got_offsets): Likewise.
7757
7758 Tue Jul 14 11:18:14 1998  Ian Lance Taylor  <ian@cygnus.com>
7759
7760         * elflink.h (elf_gc_sections): Return true rather than falling off
7761         the bottom.
7762
7763         * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not
7764         xmalloc.
7765
7766 Mon Jul 13 11:06:31 1998  Nick Clifton  <nickc@cygnus.com>
7767
7768         * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a
7769         comment describing when it should be enabled.
7770         Changed definition of USER_LABEL_PREFIX to "", to fall into line
7771         with GCC sources.
7772
7773 Mon Jul 13 13:06:54 1998  Ian Lance Taylor  <ian@cygnus.com>
7774
7775         * ieee.c (ieee_slurp_external_symbols): Handle call optimization
7776         information ATN records.
7777
7778 Fri Jul 10 16:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
7779
7780         * ieee.c (ieee_slurp_external_symbols): Select an appropriate
7781         section for an absolute symbol in a fully linked file.  Based on
7782         patch from Christian Holland <CHolland@de.lucent.com>.
7783
7784 Wed Jul  8 11:29:56 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7785
7786         * coff-m88k.c (m88k_special_reloc): Don't lose the information
7787         that a symbol is undefined.
7788
7789 Tue Jul  7 21:47:02 1998  Jeffrey A Law  (law@cygnus.com)
7790
7791         * som.c (som_bfd_gc_sections): Define.
7792
7793 Mon Jul  6 11:35:50 1998  Nick Clifton  <nickc@cygnus.com>
7794
7795         * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about
7796         overflows in ARM_26D patches, since they have already been
7797         implmented.  Patch submitted by Dr. R.J. Black <rjb@dcs.gla.ac.uk>
7798
7799 Sat Jul  4 12:25:36 1998  Ian Lance Taylor  <ian@cygnus.com>
7800
7801         * coffcode.h (coff_write_object_contents): If we have any long
7802         section names, call coff_write_symbols even if there are no
7803         symbols.
7804
7805 Fri Jul  3 13:11:35 1998  Ian Lance Taylor  <ian@cygnus.com>
7806
7807         * elf.c (copy_private_bfd_data): Only set phdr_included once for a
7808         PT_LOAD segment, rather than only setting it once for the entire
7809         file.
7810
7811         * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
7812         rather than ignoring every phdr with a p_paddr of 0, ignore all
7813         the phdrs if they all have a p_paddr of 0.
7814
7815         * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr
7816         section was discarded from the link.
7817
7818 Fri Jul  3 14:39:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7819
7820         * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
7821
7822 Fri Jul  3 14:35:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7823
7824         * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
7825         floating point operations.
7826
7827 Thu Jul  2 18:37:25 1998  Ian Lance Taylor  <ian@cygnus.com>
7828
7829         * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global
7830         function symbols.
7831
7832 Thu Jul  2 14:59:42 1998  Klaus Kaempf  <kkaempf@rmi.de>
7833
7834         Merge of vax/vms (read-only) support
7835         * configure.com: Support Vax target.
7836         * makefile.vms: Support Vax target.
7837         * vms.h: Renamed from evax.h, merged vax/vms (read-only) support.
7838         * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only)
7839         support.
7840         * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only)
7841         support.
7842         * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only)
7843         support.
7844         * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only)
7845         support.
7846         * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only)
7847         support.
7848         * libbfd.c (real_read): Use unbuffered read on VMS/Vax.
7849         * targets.c (bfd_target_ovax_flavour): New flavour.
7850         (vms_alpha_vec): Renamed from evax_alpha_vec.
7851         (vms_vax_vec): New.
7852         (target_vector): Update accordingly.
7853         * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not
7854         evax_alpha_vec.
7855         (vax*-*-*vms*): New target.
7856         * Makefile.am: Update for renamed files.  Rebuild dependencies.
7857         * bfd-in2.h: Rebuild.
7858         * configure.in, Makefile.in, aclocal.m4: Rebuild.
7859
7860 Thu Jul  2 13:31:55 1998  Ian Lance Taylor  <ian@cygnus.com>
7861
7862         Based on patch from Matt Semersky <matts@scd.hp.com>:
7863         * linker.c (_bfd_generic_final_link): Force a trailing NULL
7864         pointer on abfd->outsymbols.
7865         (generic_add_output_symbol): Handle NULL sym parameter.
7866
7867 Wed Jul  1 17:05:53 1998  Nick Clifton  <nickc@cygnus.com>
7868
7869         * elf.c (copy_private_bfd_data): Add support for changing VMA or
7870         LMA of sections.
7871
7872 Wed Jul  1 16:58:50 1998  Ian Lance Taylor  <ian@cygnus.com>
7873
7874         * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons
7875         when handling 32 bit immediate relocs.
7876         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
7877
7878 Tue Jun 30 09:55:03 1998  Jeffrey A Law  (law@cygnus.com)
7879
7880         * section.c (STD_SECTION): Account for recently added gc_mark
7881         field in struct asection.
7882
7883         * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
7884         (bfd_elf32_bfd_merge_private_bfd_data): Define.
7885
7886 Thu Jun 25 18:31:41 1998  Richard Henderson  <rth@cygnus.com>
7887
7888         ELF Section-level Garbage Collection:
7889         * bfd.c (bfd_gc_sections): New.
7890         * aout-adobe.c: Hook to default implementation.
7891         * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise.
7892         * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise.
7893         * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise.
7894         * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise.
7895         * tekhex.c, versados.c: Likewise.
7896         * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New.
7897         * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections.
7898
7899         * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New.
7900         (bfd_generic_gc_sections): New.
7901         * section.c (SEC_KEEP): New.
7902         (asection): Add gc_mark member.
7903
7904         * elfcode.h (elf_gc*): New name remappings.
7905         * elflink.h (elf_link_input_bfd): Don't set contents on stabs
7906         sections to be excluded.
7907         (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New.
7908         (elf_gc_propogate_vtable_entries_used): New.
7909         (elf_gc_smash_unused_vtentry_relocs): New.
7910         (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New.
7911         (elf_gc_common_finalize_got_offsets): New.
7912         (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New.
7913         * elfxx-target.h: Add and default gc hooks.
7914
7915         * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset
7916         for unions.
7917         (struct elf_obj_tdata): Likewise for local_got_offsets.
7918         * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses.
7919         * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise.
7920         * elf64-sparc.c, elflink.h: Likewise.
7921
7922         * elf-bfd.h (struct elf_link_hash_entry): Add vtable members.
7923         (ELF_LINK_HASH_MARK): Define.
7924         (struct elf_backend_data): Add GC hooks.
7925         * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members.
7926
7927         * elf-m10300.c (mn10300_elf_check_relocs): New.
7928         (mn10300_elf_gc_mark_hook): New.
7929         (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New.
7930         (elf_mn10300_howto, mn10300_reloc_map): Handle them.
7931         (mn10300_elf_final_link_relocate): Likewise.
7932         (mn10300_elf_relocate_section): Likewise.
7933         (elf_backend_can_gc_sections): Define.
7934         * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New.
7935         (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New.
7936         (bfd_elf32_bfd_reloc_type_lookup): Handle them.
7937         (mips_info_to_howto_rel): Likewise.
7938         (mips_elf_relocate_section): Likewise.
7939         (mips_elf_check_relocs): Likewise.
7940         (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New.
7941         (elf_backend_can_gc_sections): Define.
7942         * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New.
7943         (ppc_elf_howto_raw): Handle them.
7944         (ppc_elf_reloc_type_lookup): Likewise.
7945         (ppc_elf_relocate_section): Likewise.
7946         (ppc_elf_check_relocs): Reference count .got and .plt entries.
7947         Handle new vtable relocs.
7948         (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries.
7949         (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New.
7950         (elf_backend_can_gc_sections): Define.
7951
7952 Fri Jun 26 10:48:23 1998  Jeffrey A Law  (law@cygnus.com)
7953
7954         * archures.c (bfd_mach_mn10300): Define.
7955         * elf-m10300.c: Include elf/mn10300.h
7956         (elf_mn10300_mach): New function.
7957         (_bfd_mn10300_elf_final_write_processing): Likewise.
7958         (_bfd_mn10300_elf_object_p): Likewise.
7959         (elf_backendfinal_write_processing): Define.
7960         (elf_backend_object_p): Likewise.
7961
7962 Thu Jun 25 18:31:08 1998  Nick Clifton  <nickc@cygnus.com>
7963
7964         * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S
7965         relocation.
7966
7967 Wed Jun 24 17:17:57 1998  Ian Lance Taylor  <ian@cygnus.com>
7968
7969         * elflink.h (elf_bfd_final_link): Loop over input_bfds using the
7970         link_next field, not the next field.
7971
7972 Sun Jun 21 19:38:39 1998  Ian Lance Taylor  <ian@cygnus.com>
7973
7974         * elf.c (map_sections_to_segments): Check the section address
7975         against the phdr size both with and without a modulo of
7976         maxpagesize.
7977
7978 Fri Jun 19 17:08:18 1998  Ian Lance Taylor  <ian@cygnus.com>
7979
7980         * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a
7981         linker created empty input section if the output section has the
7982         same name.
7983
7984         * elflink.h (elf_link_output_extsym): Print an error message if
7985         _bfd_elf_section_from_bfd_section fails.
7986
7987         * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on
7988         failure.
7989
7990 Tue Jun 16 11:55:55 1998  Ian Lance Taylor  <ian@cygnus.com>
7991
7992         * elf.c (copy_private_bfd_data): Improve handling of Solaris
7993         native linker output.  Avoid putting an empty section in more than
7994         one segment.
7995
7996 Fri Jun 12 13:30:17 1998  Tom Tromey  <tromey@cygnus.com>
7997
7998         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
7999         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
8000
8001 Fri Jun 12 13:34:02 1998  Doug Evans  <devans@canuck.cygnus.com>
8002
8003         * elf.c (swap_out_syms): New arg relocatable_p.
8004         Don't add section VMA to symbols for relocatable output.
8005         (_bfd_elf_compute_section_file_positions): Update call to
8006         swap_out_syms.
8007
8008 Mon Jun  8 15:20:57 1998  Nick Clifton  <nickc@cygnus.com>
8009
8010         * elf32-v850.c (v850_elf_perform_relocation): Make comparisons
8011         against 'addend' be signed rather than unsigned.
8012
8013 Sat Jun  6 00:31:21 1998  Nick Clifton  <nickc@cygnus.com>
8014
8015         * elf32-m32r.c: Add prototyps for static functions.
8016
8017         * coff-arm.c: Add prototypes for static functions.
8018
8019 Fri Jun  5 17:21:51 1998  Nick Clifton  <nickc@cygnus.com>
8020
8021         * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the
8022         LMA is used to order sections in a segment.
8023
8024         * elf32-v850.c: Add prototypes for static functions.
8025         Change type of addend parameter to bfd_vma in various functions.
8026
8027 Fri Jun  5 18:09:58 1998  Ian Lance Taylor  <ian@cygnus.com>
8028
8029         * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
8030         complain_overflow_signed instead of complain_overflow_bitfield.
8031
8032 Fri Jun  5 15:11:11 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8033
8034         * elf.c (elf_map_symbols): Don't add section VMA to symbol value
8035         when comparing against 0.
8036
8037 Wed Jun  3 17:52:49 1998  Ian Lance Taylor  <ian@cygnus.com>
8038
8039         * Makefile.am (config.status): New target.
8040         * Makefile.in: Rebuild.
8041
8042 Wed Jun  3 12:18:24 1998  Stan Cox  <scox@equinox.cygnus.com>
8043
8044         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
8045         error if previous object endianness doesn't match current object.
8046
8047 Tue Jun  2 17:50:59 1998  Nick Clifton  <nickc@cygnus.com>
8048
8049         * elf32-v850.c (v850_elf_print_private_bfd_data): Call
8050         _bfd_elf_print_private)bfd_data ().
8051
8052 Tue Jun  2 15:29:35 1998  Ian Lance Taylor  <ian@cygnus.com>
8053
8054         * elflink.h (elf_merge_symbol): Don't always set type_change_ok
8055         and size_change_ok.
8056         (elf_link_add_object_symbols): Set type_change_ok and
8057         size_change_ok before calling elf_merge_symbol.
8058
8059         * elf32-mips.c (mips_elf_relocate_section): If we issue an
8060         undefined symbol error, don't also issue an overflow error.
8061
8062 Tue Jun  2 13:51:00 1998  Geoff Keating  <geoffk@ozemail.com.au>
8063
8064         * elf32-ppc.c (ppc_elf_relocate_section): The target of an
8065         R_PPC_LOCAL24PC relocation should be local; if not, print an error
8066         message instead of crashing.
8067
8068 Mon Jun  1 18:23:12 1998  Yuli Barcohen  <yuli.barcohen@telrad.co.il>
8069
8070         * archures.c (bfd_mach_cpu32): Define.
8071         (bfd_default_scan): Add case for 68060.  Fix 68332 case to use
8072         bfd_mach_cpu32.
8073         * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
8074         * ieee.c: Include <ctype.h>.
8075         (ieee_object_p): Parse out process ID string to make it more
8076         likely to be acceptable for bfd_scan_arch.
8077         * bfd-in2.h: Rebuild.
8078
8079 Mon Jun  1 11:12:02 1998  Nick Clifton  <nickc@cygnus.com>
8080
8081         * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
8082         _bfd_elf_print_private_bfd_data() so that the program header will
8083         be displayed.
8084
8085 Mon Jun  1 12:14:28 1998  Ian Lance Taylor  <ian@cygnus.com>
8086
8087         * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
8088         0x68.  Reindent.  Add some comments.
8089
8090 Fri May 29 09:58:08 1998  Nick Clifton  <nickc@cygnus.com>
8091
8092         * elf.c (copy_private_bfd_data): Adjust physical address of
8093         segment in output BFD to contain LMAs of its sections.
8094
8095 Tue May 26 19:37:47 1998  Stan Cox  <scox@equinox.cygnus.com>
8096
8097         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
8098         elf32_sparc_relocate_section): Added R_SPARC_32LE for little
8099         endian data 32 bit relocations.
8100         (elf32_sparc_merge_private_bfd_data): Check if linking little
8101         endian objects with big endian objects.
8102         (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
8103         (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
8104         * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
8105         * reloc.c: Same.
8106         * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
8107         * archures.c (bfd_mach_sparc_sparclite_le): New.
8108         * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
8109
8110 Thu May 21 16:59:28 1998  Nick Clifton  <nickc@cygnus.com>
8111
8112         * peicode.h (add_data_entry): Fix precedence of operators in if ()
8113         statement.
8114
8115 Tue May 19 18:41:19 1998  Ian Lance Taylor  <ian@cygnus.com>
8116
8117         * bfd-in.h: Move over patch to bfd-in2.h.
8118
8119         * reloc.c (bfd_check_overflow): Add casts before shifts which may
8120         not fit in 32 bits.
8121         (_bfd_relocate_contents): Likewise.
8122
8123 Mon May 18 14:44:15 1998  Nick Clifton  <nickc@cygnus.com>
8124
8125         * peicode.h (add_data_entry): If the section has no private data
8126         then do not create a Data Dictionary entry for it.
8127
8128 Mon May 18 00:09:28 1998  Richard Henderson  <rth@cygnus.com>
8129
8130         * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
8131         (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
8132         elf64_alpha_size_got_sections): Rewrite, handling multiple got
8133         subsections during relaxation more correctly.
8134
8135 Thu May 14 14:22:58 1998  Nick Clifton  <nickc@cygnus.com>
8136
8137         * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
8138         Add extra argument to bfd_arm_process_before_allocation ().
8139         * bfd-in.h: Reflect changes made in bfd-in2.h.
8140         * coffgen.c (bfd_coff_set_symbol_class): New function.  Set the
8141         coff class of a BFD symbol.
8142         * coff-arm.c: Add support for interworking between Thumb code and
8143         non-interworking aware ARM code.
8144
8145 Sun May 10 22:33:59 1998  Jeffrey A Law  (law@cygnus.com)
8146
8147         * po/Make-in (install-info): New target.
8148
8149 Thu May  7 17:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
8150
8151         * filemode.c: Remove; not used.
8152
8153         If sysdep.h includes a header file, don't include it again:
8154         * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
8155         <errno.h>.
8156         * aoutx.h: Don't include <string.h>.  Use "sysdep.h" rather than
8157         <sysdep.h>.
8158         * archive.c: Don't include <string.h> or <errno.h>.
8159         * evax-alpha.c; Don't include <stdio.h>.
8160         * evax-egsd.c: Likewise.
8161         * evax-etir.c: Likewise.
8162         * evax-misc.c: Likewise.
8163         * evax-emh.c: Likewise.  Also, don't include <sys/types.h>.
8164         * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
8165         <errno.h>.
8166         * hpux-core.c: Likewise.
8167         * netbsd-core.c: Likewise.
8168         * som.c: Likewise.
8169         * libbfd.c: Don't include <sys/types.h>.
8170         * nlmcode.h: Don't include <string.h>.
8171         * osf-core.c: Don't include <string.h> or <stdio.h>.
8172         * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
8173         <errno.h>, or <unistd.h>.
8174         * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
8175
8176 Thu May  7 13:12:50 1998  Klaus Kaempf  <kkaempf@progis.de>
8177
8178         * configure.com: If the version number can not be found in
8179         configure.in, set it to "unknown" rather than "2.8.1".
8180
8181 Wed May  6 09:46:05 1998  Gavin Koch  <gavin@cygnus.com>
8182
8183         * elf32-mips.c (elf_mips_mach): New.
8184         (_bfd_mips_elf_object_p): Use elf_mips_mach.
8185         (_bfd_mips_elf_final_write_processing): Use the names
8186         of machines, rather than the numbers.  Set both the ARCH
8187         and MACH in e_flags.  Handle a few more specific machines.
8188         (_bfd_mips_elf_merge_private_bfd_data): Merge both
8189         EF_MIPS_ARCH and EF_MIPS_MACH.
8190
8191 Tue May  5 21:01:53 1998  Richard Henderson  <rth@cygnus.com>
8192
8193         * syms.c (bfd_is_local_label): Revert last change.
8194         * srec.c (srec_write_symbols): Discard debugging symbols.
8195
8196 Tue May  5 23:36:06 1998  Ian Lance Taylor  <ian@cygnus.com>
8197
8198         * som.c: Include <ctype.h>.
8199         * som.h: Don't include sysdep.h.
8200
8201 Tue May  5 18:29:24 1998  Tom Tromey  <tromey@cygnus.com>
8202
8203         * libbfd.h: Rebuilt.
8204         * libbfd-in.h: Removed gettext includes and defines.
8205         * sysdep.h: Moved gettext-related includes and defines here.
8206
8207 Tue May  5 16:47:54 1998  Richard Henderson  <rth@cygnus.com>
8208
8209         * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
8210         an ad-hoc test.  Kill bogus #if 0 code.
8211         * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
8212
8213 Mon May  4 16:10:33 1998  Ian Lance Taylor  <ian@cygnus.com>
8214
8215         * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
8216         when generating a normal executable for a symbol defined in a
8217         regular file.  When copying a reloc into the output file, adjust
8218         the addend for a PC relative reloc against a global symbol.
8219
8220 Mon May  4 10:08:18 1998  Tom Tromey  <tromey@cygnus.com>
8221
8222         * libbfd.h: Rebuilt.
8223         * libbfd-in.h (_): Define as dgettext.
8224
8225 Mon May  4 11:02:23 1998  Ian Lance Taylor  <ian@cygnus.com>
8226
8227         * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
8228         not signed.
8229         * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
8230         when declaring parameter types.
8231         (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
8232
8233 Wed Apr 29 15:35:03 1998  Ian Lance Taylor  <ian@cygnus.com>
8234
8235         * config.bfd: If we include any ELF targets in targ_defvec and/or
8236         targ_selvecs, then add the generic ELF targets to targ_selvecs.
8237         * elf32-gen.c (dummy): New static const variable.
8238         (elf_generic_info_to_howto): New static function.
8239         (elf_generic_info_to_howto_rel): New static function.
8240         (elf_info_to_howto): Define as elf_generic_info_to_howto.
8241         (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
8242         * elf64-gen.c: Same changes as elf32-gen.c.
8243         * elfcode.h (elf_object_p): For the generic target, ignore a
8244         failure of bfd_default_set_arch_mach.  Fix indentation a bit.
8245
8246 Tue Apr 28 20:05:52 1998  Ian Lance Taylor  <ian@cygnus.com>
8247
8248         * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
8249         * configure: Rebuild.
8250
8251 Tue Apr 28 12:16:57 1998  Jason Molenda  (crash@bugshack.cygnus.com)
8252
8253         * config.bfd:  Update OSR5/Unixware patterns.
8254
8255 Mon Apr 27 18:02:24 1998  Richard Henderson  <rth@cygnus.com>
8256
8257         * elf.c (assign_file_positions_for_segments): Allow for holes
8258         between sections added by a link script.
8259
8260 Mon Apr 27 11:49:55 1998  Ian Lance Taylor  <ian@cygnus.com>
8261
8262         * configure.in: Change version number to 2.9.4
8263         * configure: Rebuild.
8264
8265         Based on patch from H.J. Lu <hjl@gnu.org>:
8266         * elf.c (bfd_elf_get_bfd_needed_list): New function.
8267         * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
8268         * bfd-in2.h: Rebuild.
8269
8270 Sat Apr 25 20:07:53 1998  Richard Henderson  <rth@cygnus.com>
8271
8272         * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
8273         Change all users.
8274
8275 Sat Apr 25 18:29:07 1998  Richard Henderson  <rth@cygnus.com>
8276
8277         * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
8278         (elf64_alpha_relax_section): Fill them in.
8279         (elf64_alpha_relax_opt_call): Implement more than a stub.
8280         (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
8281         alignment on .scommon.
8282         (elf64_alpha_merge_gots): Merge use counts as well.
8283
8284 Sat Apr 25 14:07:29 1998  Richard Henderson  <rth@cygnus.com>
8285
8286         * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
8287         for calculating a local symbol's address.
8288         (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
8289         Set the .got's cooked size as well as the raw size.
8290
8291 Fri Apr 24 09:16:00 1998  Nick Clifton  <nickc@cygnus.com>
8292
8293         * elf32-v850.c (v850_elf_print_private_bfd_data): Add
8294         internationalisation of printed information.
8295
8296         * coff-arm.c (coff_arm_print_private_bfd_data): Add
8297         internationalisation of printed information.
8298
8299 Fri Apr 24 12:09:18 1998  Ian Lance Taylor  <ian@cygnus.com>
8300
8301         * syms.c (struct indexentry): Change directory_name, file_name,
8302         and function_name fields to char *.
8303         (struct stab_find_info): Change cached_file_name field to char *.
8304
8305 Thu Apr 23 08:13:04 1998  Nick Clifton  <nickc@cygnus.com>
8306
8307         * peicode.h (dir_names): Add missing N_() macros to dir_names array.
8308
8309 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
8310
8311         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
8312
8313 Wed Apr 22 17:48:48 1998  Ian Lance Taylor  <ian@cygnus.com>
8314
8315         * Makefile.am (install-data-local): Make $(includedir).
8316         * Makefile.in: Rebuild.
8317
8318 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
8319
8320         * libbfd-in.h: Use `gettext' and not `dgettext' for now.
8321
8322 Wed Apr 22 12:53:40 1998  Ian Lance Taylor  <ian@cygnus.com>
8323
8324         * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
8325         * Makefile.in: Rebuild.
8326
8327         * bfd-in2.h: Rebuild for Nick's changes.
8328
8329 Tue Apr 21 23:11:51 1998  Richard Henderson  <rth@cygnus.com>
8330
8331         * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
8332         change wrt length == max_namelen.
8333
8334 Tue Apr 21 21:19:36 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
8335
8336         * Many files: Added gettext invocations around user-visible
8337         strings.
8338         * libbfd-in.h: Added gettext includes and defines.
8339         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
8340         HAVE_LC_MESSAGES): Define.
8341         * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
8342         po/Makefile.
8343         * Makefile.am (SUBDIRS): Added po.
8344         (POTFILES): New macro.
8345         (po/POTFILES.in): New target.
8346         (SOURCE_HFILES): New macro.
8347         (HFILES): Use it.
8348         * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
8349
8350 Tue Apr 21 13:38:18 1998 Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
8351
8352         * elfcore.h (bfd_prstatus):  Copy core_prstatus from the first
8353         NT_PRSTATUS note section encountered, it contains the status of
8354         the currently executing thread when the core file was written.
8355
8356 Tue Apr 21 10:00:12 1998  Nick Clifton  <nickc@cygnus.com>
8357
8358         * libcoff.h: Add extra parameter to
8359         bfd_coff_link_output_has_begun overrideable function.
8360         * cofflink.c: Pass extra parameter to
8361         bfd_coff_link_output_has_begun function.
8362         * bfd-in.h: Add prototypes for exported ARM interworking
8363         functions.
8364         * peicode.h: ARM specific code reorganised to conform to BFD
8365         coding conventions.
8366         * coffcode.h: ARM specific code reorganised to conform to BFD
8367         coding conventions.
8368         * coff-arm.c: Code reorganised to conform to the BFD coding
8369         conventions.  Global variables have been moved into an ARM
8370         specific hash table structure and a new function:
8371         bfd_arm_get_bfd_for_interworking() has been created which is
8372         called from the linker scripts.
8373
8374 Tue Apr 21 00:11:51 1998  Richard Henderson  <rth@cygnus.com>
8375
8376         * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
8377
8378         * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
8379         elf64_alpha_relax_find_reloc_ofs.  Changed all callers.
8380         (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
8381         (elf64_alpha_size_got_sections): Don't merge .got sections twice.
8382
8383 Sat Apr 18 01:21:04 1998  Stan Cox  <scox@cygnus.com>
8384
8385         * config.bfd: Added sparc86x support.
8386
8387 Fri Apr 17 22:29:04 1998  Ian Lance Taylor  <ian@cygnus.com>
8388
8389         * elf32-mips.c (mips_elf_relocate_section): Do not complain about
8390         an out of range pc-relative jump/call to an undefined weak symbol.
8391
8392 Thu Apr 16 13:49:00 1998  Richard Henderson  <rth@cygnus.com>
8393
8394         * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
8395         comparisons signed.
8396
8397 Thu Apr 16 11:43:33 1998  Ian Lance Taylor  <ian@cygnus.com>
8398
8399         * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
8400         an error other than bfd_error_system_call, set the error to
8401         bfd_error_wrong_format.
8402
8403         * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
8404         bfd_elf32_powerpcle_vec.
8405
8406         * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
8407         program segments are zero, don't set p_paddr_valid.
8408
8409 Wed Apr 15 22:15:16 1998  Richard Henderson  <rth@cygnus.com>
8410
8411         * elf64-alpha.c: Initial implementation of relaxation --
8412         (struct alpha_elf_link_hash_entry): Add use_count member.
8413         (elf64_alpha_check_relocs): Initialize and increment it.
8414         (elf64_alpha_can_merge_gots): Check it when considering merging.
8415         (elf64_alpha_merge_gots): Drop entries with zero use.
8416         (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
8417         (elf64_alpha_always_size_sections): Split out got sizing ...
8418         (elf64_alpha_size_got_sections): ... here.  New function.
8419         (elf64_alpha_relax_find_reloc_ofs): New function.
8420         (elf64_alpha_relax_with_lituse): Likewise.
8421         (elf64_alpha_relax_without_lituse): Likewise.
8422         (elf64_alpha_relax_opt_call): Likewise.
8423         (elf64_alpha_relax_section): Likewise.
8424         (elf64_alpha_add_symbol_hook): Likewise.
8425         (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
8426         (elf64_alpha_relocate_section): Likewise.
8427         (bfd_elf64_bfd_relax_section): Define.
8428         (elf_backend_add_symbol_hook): Likewise.
8429
8430 Wed Apr 15 16:08:46 1998  Richard Henderson  <rth@cygnus.com>
8431
8432         * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
8433         * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
8434         (ELF_MACHINE_ALT1): New.  Set to EM_OLD_SPARC64.
8435
8436 Wed Apr 15 11:34:33 1998  Ian Lance Taylor  <ian@cygnus.com>
8437
8438         * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
8439         * configure: Rebuild.
8440
8441 Mon Apr 13 16:46:27 1998  Ian Lance Taylor  <ian@cygnus.com>
8442
8443         * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
8444         (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
8445         * configure.in: Define and substitute WIN32LDFLAGS and
8446         WIN32LIBADD.
8447         * aclocal.m4: Rebuild with new libtool.
8448         * configure, Makefile.in: Rebuild.
8449
8450 Fri Apr 10 13:44:27 1998  Ian Lance Taylor  <ian@cygnus.com>
8451
8452         * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
8453         before any other symbols in the same section.
8454
8455 Wed Apr  8 14:50:23 1998  Michael Meissner  <meissner@cygnus.com>
8456
8457         * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
8458         systems.
8459
8460 Tue Apr  7 16:25:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
8461
8462         * dwarf2.c (comp_unit): Move it earlier in the source. Add
8463         addr_size.
8464         (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
8465         Use addr_size for address size, rather than sizeof(bfd_vma).
8466         (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
8467         Fix call to read_address.
8468         (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
8469         Scrap other unneeded arguments.  Fix call to read_address.
8470         (scan_unit_for_functions): Fix call to read_attribute.
8471         (parse_comp_unit): We now handle more values for addr_size.
8472         Set addr_size in unit.  Fix call to read_attribute and
8473         decode_line_info.
8474
8475 Tue Apr  7 15:44:47 1998  Gavin Romig-Koch <gavin@cygnus.com>
8476
8477         * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
8478
8479 Tue Apr  7 12:35:18 1998  Ian Lance Taylor  <ian@cygnus.com>
8480
8481         * archures.c (bfd_default_scan): Add m68k cases back to default
8482         switch, reverting patch of March 25, since IEEE support depends
8483         upon them.
8484
8485 Mon Apr  6 14:06:40 1998  Ian Lance Taylor  <ian@cygnus.com>
8486
8487         * Makefile.am (diststuff): New target.
8488         * Makefile.in: Rebuild.
8489
8490 Sun Apr  5 16:21:44 1998  Jeffrey A Law  (law@cygnus.com)
8491
8492         * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
8493         som_offset when we have an extended name table.
8494
8495 Sun Apr  5 16:04:39 1998  H.J. Lu  <hjl@gnu.org>
8496
8497         * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
8498         trying to copy it.
8499         * Makefile.in: Rebuild.
8500
8501 Fri Apr  3 11:09:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8502
8503         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
8504         symbols when creating a shared library.
8505         (elf_m68k_adjust_dynindx): New function, used by above code.
8506         (elf_m68k_finish_dynamic_sections): Initialize the section
8507         symbols.
8508         (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
8509
8510 Wed Apr  1 16:04:02 1998  Nick Clifton  <nickc@cygnus.com>
8511
8512         * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
8513         value 11.
8514
8515 Wed Apr  1 13:36:58 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8516
8517         * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
8518         assertion.
8519
8520 Tue Mar 31 00:12:12 1998  Jeffrey A Law  (law@cygnus.com)
8521
8522         * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
8523         absolute symbols.
8524
8525 Mon Mar 30 12:46:15 1998  Ian Lance Taylor  <ian@cygnus.com>
8526
8527         * configure.in: Set version to 2.9.1.
8528         * configure: Rebuild.
8529
8530         * Branched binutils 2.9.
8531
8532 Mon Mar 30 12:20:50 1998  Brent Baccala  <baccala@freesoft.org>
8533
8534         * syms.c (ENABLE_CACHING): Define.
8535         (struct indexentry): Define.
8536         (struct stab_cache): Remove.
8537         (cmpindexentry): New static function.
8538         (struct stab_find_info): Add new fields: indextable,
8539         indextablesize, cached_indexentry, cached_offset, cached_stab, and
8540         cached_file_name.  Remove fields: file_cache, function_cache, and
8541         line_cache.
8542         (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
8543         index table and search it.
8544
8545 Mon Mar 30 10:39:34 1998  Ian Lance Taylor  <ian@cygnus.com>
8546
8547         * elf.c (_bfd_elf_copy_private_section_data): Call
8548         copy_private_bfd_data once we've seen the last SEC_ALLOC section.
8549
8550         * cpu-mips.c: Remove trailing comma at end of enumeration list.
8551
8552 Sat Mar 28 16:33:02 1998  Ian Lance Taylor  <ian@cygnus.com>
8553
8554         * coff-arm.c: Define all globally visible variables and functions
8555         only when COFF_WITH_PE is not defined.
8556         * configure.in (armpe_little_vec, armpe_big_vec): Add
8557         coff-arm.lo.
8558         * configure: Rebuild.
8559
8560 Fri Mar 27 16:06:02 1998  Ian Lance Taylor  <ian@cygnus.com>
8561
8562         Fix some gcc -Wall warnings:
8563         * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
8564         * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
8565         * archures.c (bfd_default_scan): Likewise.
8566         * bfd.c (bfd_scan_vma): Likewise.
8567         * binary.c (mangle_name): Likewise
8568         * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
8569         * coff-sh.c (sh_relocate_section): Likewise.
8570         * coff-stgo32.c (create_go32_stub): Likewise.
8571         * coffcode.h (coff_slurp_line_table): Likewise.
8572         * ecoff.c (_bfd_ecoff_write_armap): Likewise.
8573         * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
8574         (assign_file_positions_for_segments): Likewise.
8575         * elf32-mips.c (mips_elf_relocate_section): Likewise.
8576         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
8577         * oasys.c (oasys_write_sections): Likewise.
8578         * ppcboot.c (ppcboot_object_p): Likewise.
8579         (mangle_name): Likewise.
8580         * riscix.c (riscix_fix_pcrel_26): Likewise.
8581         * srec.c (srec_scan): Likewise.
8582         * stabs.c (_bfd_write_section_stabs): Likewise.
8583         * sunos.c (sunos_add_dynamic_symbols): Likewise.
8584         * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
8585         switch.  Declare parameters for function pointers.
8586         * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
8587         warning.
8588         * elf.c (elf_sort_sections): Likewise.
8589         * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
8590         Add default cases to switches.
8591         (coff_arm_relocate_section): Remove unused local variables.
8592         Always set rstat.
8593         (coff_arm_bfd_set_private_flags): Change flag variable to type
8594         flagword.
8595         * coff-mips.c (mips_relocate_section): Initialize use_lo.
8596         * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
8597         (dump_toc): Change cat to const, and initialize it.
8598         * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
8599         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
8600         (sh_elf_relocate_section): Initialize r_symndx.
8601         * coffcode.h (coff_compute_section_file_positions): Only declare
8602         old_sofar if ALIGN_SECTIONS_IN_FILE.
8603         (coff_write_object_contents): Initialize csym.
8604         * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
8605         * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
8606         switch.
8607         * dwarf2.c: Include libiberty.h.
8608         (read_2_signed_bytes, read_4_signed_bytes): Comment out.
8609         (decode_line_info): Remove unused local variables.
8610         * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
8611         (m32r_elf_relocate_section): Likewise.
8612         * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
8613         (v850_elf_reloc): Likewise.
8614         * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
8615         (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
8616         * elf.c (assign_file_positions_for_segments): Always set adjust.
8617         * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr.  Fully
8618         parenthesize expression.
8619         * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
8620         (m32r_elf_object_p): Return a value.
8621         (m32r_elf_print_private_bfd_data): Change fprintf format string.
8622         * elf32-mips.c (mips_elf_final_link): Initialize last.
8623         (mips_elf_finish_dynamic_sections): Initialize last and dindx.
8624         * elf32-v850.c (v850_elf_object_p): Return a value.
8625         (v850_elf_print_private_bfd_data): Change fprintf format string.
8626         * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
8627         unsigned long.
8628         * elflink.h (elf_link_add_object_symbols): Change vernum to
8629         unsigned int, and initialize it.  Change fprintf format string.
8630         (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
8631         when setting or comparing to soname_indx.
8632         (elf_create_pointer_linker_section): Change num_symbols to
8633         unsigned int.
8634         * libcoff-in.h (coff_data_type): Change flags to flagword.
8635         * peicode.h (pe_print_idata): Initialize idx.  Change j to
8636         bfd_size_type.  Initialize hint_member.  Remove useless test to
8637         time_stamp.
8638         (pe_print_edata): Change num_functions and num_names in struct
8639         EDT_type to unsigned long.  Remove cast.  Change fprintf format
8640         string.
8641         * ppcboot.c (ppcboot_object_p): Change i to size_t.
8642         * reloc.c (bfd_get_reloc_size): Change return type to unsigned
8643         int.
8644         * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
8645         int *.  Update uses.  Change j to long.
8646         * bfd-in2.h, libcoff.h: Rebuild.
8647
8648 Fri Mar 27 10:10:46 1998  Catherine Moore <clm@cygnus.com>
8649
8650         * elf32-v850.c Remove definition of USE_REL.
8651         (v850_elf_info_to_howto_rela): New function.
8652         (v850_elf_perform_relocation):  Renamed from
8653         v850_elf_store_addend_in_insn.  Removed replace argument.
8654         (v850_elf_reloc): store the relocation in the addend field instead
8655         of the insn.
8656         (v850_elf_final_link_relocate):  Now calls
8657         v850_elf_perform_relocation.
8658         (v850_elf_relocate_section):  Remove code to generate REL
8659         relocations.
8660
8661 Thu Mar 26 13:32:17 1998  Ian Lance Taylor  <ian@cygnus.com>
8662
8663         * coffcode.h (coff_new_section_hook): Set the type and storage
8664         class in the native symbol information allocated for a new section
8665         symbol.
8666
8667 Thu Mar 26 10:13:41 1998  Nick Clifton  <nickc@cygnus.com>
8668
8669         * peicode.h: Chain together calls to
8670         coff_bfd_copy_private_bfd_data and
8671         coff_bfd_print_private_bfd_data.
8672
8673         * coff-arm.c: Add prototypes for
8674         coff_arm_bfd_print_private_bfd_data and
8675         coff_arm_bfd_copy_private_bfd_data.
8676
8677 Wed Mar 25 15:45:55 1998  Nick Clifton  <nickc@cygnus.com>
8678
8679         * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
8680         build.
8681
8682         * peicode.h: Call arm-coff private data functions after handling
8683         pe private data.
8684
8685         * coff-arm.c: Turn statics into globals so that they can be shared
8686         both pe and pei backends.
8687
8688 Wed Mar 25 15:19:38 1998  Ian Lance Taylor  <ian@cygnus.com>
8689
8690         * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
8691         plain numbers.
8692         (sunos_write_object_contents): Likewise.
8693         * aoutx.h (NAME(aout,machine_type)): Likewise.
8694         * coffcode.h (coff_set_arch_mach_hook): Likewise.
8695
8696 Wed Mar 25 13:59:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8697
8698         * archures.c (bfd_mach_m68*): Add definitions for various m68k
8699         variants.
8700         (bfd_default_scan): Remove m68k special cases.
8701         * bfd-in2.h: Rebuild.
8702         * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
8703         than plain numbers.
8704         * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
8705         * cpu-m68k.c (arch_info_struct): Likewise.  Add entry for
8706         m68k:68000.
8707         (bfd_m68k_arch): Set mach field to zero to signal no explicit
8708         selection, change printable_name to just "m68k" and make that the
8709         default instead of m68k:68020.
8710
8711         * aout-tic30.c (NAME): Define this to avoid multiple definitions
8712         from aoutx.h.
8713         (MY_get_section_contents): Define as aout_32_get_section_contents
8714         rather than NAME(aout,get_section_contents).
8715
8716         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
8717
8718         * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
8719         and call bfd_default_set_arch_mach to do the real work.
8720
8721 Wed Mar 25 10:41:35 1998  Richard Henderson  <rth@cygnus.com>
8722
8723         * bout.c (BALX): Include return register g14 as part of the insn.
8724         (BALX_MASK): New.
8725         (calljx_callback): Use it.
8726
8727 Wed Mar 25 11:19:28 1998  Ian Lance Taylor  <ian@cygnus.com>
8728
8729         * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
8730         * libbfd.h: Rebuild.
8731
8732         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
8733         byte_count to unsigned int.
8734         (mn10300_elf_relax_section): Initialize internal_relocs.  Remove
8735         unused local variables.
8736
8737         * evax-alpha.c (evax_close_and_cleanup): Remove unused local
8738         variables er and er1.
8739
8740         * cpu-v850.c: Include <ctype.h>.
8741         (scan): Case isdigit argument to unsigned char.
8742
8743         From Yan Meroth <YAN.MEROTH@st.com>:
8744         * ihex.c (ihex_scan): Add extbase variable so that getting an
8745         extended linear address record does not ignore any previous
8746         extended address.
8747         (ihex_write_object_contents): When writing out an extended linear
8748         address record, zero out any previous extended address.
8749
8750 Tue Mar 24 16:09:43 1998  Manfred Hollstein  <manfred@s-direktnet.de>
8751
8752         * ieee.c (do_one): Check section before dereferencing it.
8753         (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
8754         (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
8755
8756 Mon Mar 23 18:51:47 1998  Joel Sherrill  <joel@OARcorp.com>
8757
8758         * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
8759
8760 Mon Mar 23 14:23:36 1998  Nick Clifton  <nickc@cygnus.com>
8761
8762         * coff-arm.c: Add interworking functions to pe backends.
8763
8764 Fri Mar 20 18:47:20 1998  Ian Lance Taylor  <ian@cygnus.com>
8765
8766         * configure.in: Use AM_DISABLE_SHARED.
8767         * aclocal.m4, configure: Rebuild with libtool 1.2.
8768
8769 Fri Mar 20 11:25:41 1998  Nick Clifton  <nickc@cygnus.com>
8770
8771         * coff-arm.c (coff_arm_relocate_section): Better error messages
8772         when interowrking conflucts occur.  Courtesy of Jonathan Walton
8773         and Tony Thompson.
8774         (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
8775         relocations.  Patch courtesy of Jonathan Walton and Tony
8776         Thompson.
8777
8778 Fri Mar 20 02:26:43 1998  Richard Henderson  <rth@cygnus.com>
8779
8780         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
8781         part of Feb 22 change controling when to override the existing
8782         symbol with the .plt entry.
8783
8784 Wed Mar 18 09:26:25 1998  Nick Clifton  <nickc@cygnus.com>
8785
8786         * config.bfd (targ_cpu): Add thumb-pe target.
8787
8788         * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
8789         functions in PE build.
8790
8791 Sun Mar  8 23:37:26 1998  Stan Cox  <scox@equinox.cygnus.com>
8792
8793         * config.bfd (sparclite-*-elf*): Added.
8794
8795 Mon Feb 23 19:31:19 1998  Ian Lance Taylor  <ian@cygnus.com>
8796
8797         * configure.in: Add elf.lo to elf shell variable.
8798         * Makefile.am (BFD_LIBS): Remove elf.lo.
8799         (BFD_LIBS_CFILES): Remove elf.c.
8800         (BFD32_BACKENDS): Add elf.lo.
8801         (BFD32_BACKENDS_CFILES): Add elf.c.
8802         * configure, Makefile.in: Rebuild.
8803
8804 1998-02-23 15:53  Richard Henderson  <rth@cygnus.com>
8805
8806         * elf32-i386.c (elf_i386_relocate_section): A pc-relative
8807         relocation against a non-local symbol should not have a dynamic
8808         relocation.
8809
8810 Mon Feb 23 16:17:08 1998  Ian Lance Taylor  <ian@cygnus.com>
8811
8812         * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
8813         COFF filehdr flags.
8814         (pe_print_private_bfd_data): Print PE flags.  From Mikey
8815         <jeffdb@netzone.com>.
8816
8817 Sun Feb 22 20:39:00 1998  Richard Henderson  <rth@cygnus.com>
8818
8819         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
8820         a plt entry when we can determine that we authoritatively define
8821         the symbol.
8822
8823 Sun Feb 22 20:33:05 1998  Richard Henderson  <rth@cygnus.com>
8824
8825         * configure.in (COREFILE selection): Remove sparc-*-linux*.  They
8826         don't actually use trad-core, but a SunOS-style core file handled
8827         by gdb directly.
8828         * hosts/sparclinux.h: Remove.
8829
8830 Wed Feb 18 15:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
8831
8832         * peicode.h (pe_print_idata): If there is no .idata section, look
8833         for the import tables in some other section.  Make the initial
8834         label line up better with the data.  Print the import address
8835         table even if there is no import name table.  If the import
8836         address table holds actual addresses, print them.
8837
8838 Tue Feb 17 12:58:34 1998  Ian Lance Taylor  <ian@cygnus.com>
8839
8840         * libbfd.c (bfd_seek): If fseek fails, save errno around call to
8841         bfd_tell.  If errno is EINVAL, set bfd_error_file_truncated, not
8842         bfd_error_system_call.
8843
8844 Fri Feb 13 13:11:33 1998  Ian Lance Taylor  <ian@cygnus.com>
8845
8846         * Makefile.am (AUTOMAKE_OPTIONS): Define.
8847         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
8848
8849         From H.J. Lu <hjl@gnu.org>:
8850         * Makefile.am (libbfd_la_LDFLAGS): Define.
8851         * Makefile.in: Rebuild.
8852
8853 Thu Feb 12 17:31:11 1998  Ian Lance Taylor  <ian@cygnus.com>
8854
8855         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
8856         * netbsd.h (MACHTYPE_OK): Define.
8857         (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
8858         calling N_SET_MACHTYPE, rather than having a switch.
8859         * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
8860         and M_ALPHA_NETBSD.
8861         * i386netbsd.c (MACHTYPE_OK): Don't define.
8862         (DEFAULT_MID): Define.
8863         * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
8864         (MACHTYPE_OK): Don't define.
8865         (DEFAULT_MID): Define.
8866         * m68knetbsd.c: (MACHTYPE_OK): Don't define.
8867         (DEFAULT_MID): Define.
8868         * ns32knetbsd.c (MACHTYPE_OK): Don't define.
8869         (DEFAULT_MID): Define.
8870         * sparcnetbsd.c (MACHTYPE_OK): Don't define.
8871         (DEFAULT_MID): Define.
8872
8873         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
8874         * vaxnetbsd.c: New file.
8875         * netbsd-core.c: Clean up.  Remove unused macros.  Use netbsd
8876         rather than netbsd_core.
8877         * targets.c (vaxnetbsd_vec): Declare.
8878         (bfd_target_vector): Add vaxnetbsd_vec.  If NETBSD_CORE is
8879         defined, add netbsd_core_vec.
8880         * configure.in: Set COREFILE for alpha*-*-netbsd* and
8881         powerpc-*-netbsd* to netbsd-core.lo.  If COREFILE is
8882         netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
8883         * config.bfd (alpha*-*-netbsd*): New target.
8884         * Makefile.am: Rebuild dependencies.
8885         (BFD32_BACKENDS): Add vaxnetbsd.lo.
8886         (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
8887         * configure, Makefile.in: Rebuild.
8888
8889         * configure.host: Remove the old shared library build stuff.  We
8890         now use libtool instead.
8891
8892 Wed Feb 11 17:13:09 1998  Richard Henderson  <rth@cygnus.com>
8893
8894         * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
8895
8896 Tue Feb 10 19:23:28 1998  H.J. Lu  <hjl@gnu.org>
8897
8898         * configure.in: Take stab-syms.lo out of sparclinux_vec list.
8899         * configure: Rebuild.
8900
8901 Tue Feb 10 15:16:38 1998  Nick Clifton  <nickc@cygnus.com>
8902         * elf32-v850.c (remember_hi16s_reloc): New function.
8903         (find_remembered_hi16s_reloc): New function.
8904         (v850_elf_store_addend_in_insn): Use the above new functions to
8905         match up HI6S relocs with LO16 relocs.
8906
8907 Tue Feb 10 15:01:39 1998  Ian Lance Taylor  <ian@cygnus.com>
8908
8909         * configure.in: Change -linux* to -linux-gnu*.
8910         * config.bfd, configure.host: Likewise.
8911         * configure: Rebuild.
8912
8913 Mon Feb  9 19:40:59 1998  Nick Clifton  <nickc@cygnus.com>
8914
8915         * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
8916         LO16/HI16S bug and improve comments about what is going on.
8917
8918 Sat Feb  7 15:27:03 1998  Ian Lance Taylor  <ian@cygnus.com>
8919
8920         * configure, aclocal.m4: Rebuild with new libtool.
8921
8922 Fri Feb  6 14:48:20 1998  Nick Clifton  <nickc@cygnus.com>
8923
8924         * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
8925         when merging v850 code into v850e/v850ea code.  Do not initialise
8926         output flags if the input is the default architecture.
8927
8928 Fri Feb  6 11:50:22 1998  Jeffrey A Law  (law@cygnus.com)
8929
8930         * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
8931         get the size from bfd_arch_bits_per_address instead of directly
8932         from the isa.
8933
8934 Thu Feb  5 14:21:34 1998  Michael Meissner  <meissner@cygnus.com>
8935
8936         * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
8937         to wrap, just return all 1's bits instead.
8938         * libbfd.h: Regenerate.
8939
8940 Thu Feb  5 11:51:05 1998  Ian Lance Taylor  <ian@cygnus.com>
8941
8942         * coff-i386.c (coff_pe_i386_relocate_section): New static function
8943         if COFF_WITH_PE.
8944         (coff_relocate_section): If COFF_WITH_PE, define as
8945         coff_pe_i386_relocate_section.
8946         * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
8947         skip empty sections, to match coff_write_object_contents.
8948
8949         * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
8950         rather than swapping out r_offset twice.  From Luke Deller
8951         <luked@cse.unsw.edu.au>.
8952
8953 Wed Feb  4 19:11:28 1998  Ian Lance Taylor  <ian@cygnus.com>
8954
8955         * configure.in: Set libtool_enable_shared rather than
8956         libtool_shared.  Remove diversion hack.
8957         * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
8958         with new libtool.
8959
8960 Wed Feb  4 16:10:21 1998  Brent Baccala  <baccala@freesoft.org>
8961
8962         * syms.c (struct stab_cache): Define.
8963         (struct stab_find_info): Remove cached_offset, cached_stab,
8964         cached_str, and cached_stroff fields.  Add file_cache,
8965         function_cache, and line_cache fields.
8966         (_bfd_stab_section_find_nearest_line): Use extensive caching to
8967         speed up searches.
8968
8969 Wed Feb  4 13:34:22 1998  Ian Lance Taylor  <ian@cygnus.com>
8970
8971         * peicode.h (pe_print_idata): Check for import of ordinal rather
8972         than name.
8973         (pe_print_edata): If there is no .edata section, look for the
8974         export data in some other section.
8975
8976 Mon Feb  2 20:05:42 1998  Jason Molenda  (crash@bugshack.cygnus.com)
8977
8978         * configure.in: Change version to 2.8.4.
8979         * configure: Regenerated.
8980
8981 Mon Feb  2 17:39:39 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
8982
8983         Add tms320c30 support:
8984         * cpu-tic30.c: New file.
8985         * aout-tic30.c: New file.
8986         * coff-tic30.c: New file.
8987         * archures.c (bfd_arch_tic30): Define.
8988         (bfd_tic30_arch): Declare.
8989         (bfd_archures_list): Add bfd_tic30_arch.
8990         * targets.c (bfd_target_vector): Add tic30_aout_vec and
8991         tic30_coff_vec.
8992         * reloc.c (BFD_RELOC_TIC30_LDP): Define.
8993         * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
8994         (coff_set_flags): Likewise.
8995         * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
8996         * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
8997         * Makefile.am: Rebuild dependencies.
8998         (ALL_MACHINES): Add cpu-tic30.lo.
8999         (ALL_MACHINES_CFILES): Add cpu-tic30.c.
9000         (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
9001         (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
9002         * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
9003
9004 Mon Feb  2 12:25:12 1998  Nick Clifton  <nickc@cygnus.com>
9005
9006         * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
9007         to lag behind LO16 reloc by a couple of instructions.
9008
9009 Mon Feb  2 14:09:46 1998  Ian Lance Taylor  <ian@cygnus.com>
9010
9011         * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
9012         make to reexamine the file timestamp.
9013         ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
9014
9015         * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
9016         0x100000.
9017
9018 Fri Jan 30 19:07:07 1998  Geoff Keating  <geoffk@ozemail.com.au>
9019
9020         * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
9021         to create .dynsbss and .rela.sbss sections.
9022         (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
9023         copied from dynamic objects into .sbss.
9024         (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
9025         use it.  Correct typo of .rela.sdata2.
9026         (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
9027         put the data, which may now be in .sbss.
9028         (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
9029         (elf_backend_create_dynamic_sections): Define as
9030         ppc_elf_create_dynamic_sections.
9031
9032         * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
9033         against _GLOBAL_OFFSET_TABLE_.
9034         (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
9035         shared libraries which refer to local symbols.  Make sure that the
9036         test for allocating space for a reloc in a shared object is the
9037         same as the test for emitting a reloc.
9038
9039 Thu Jan 29 15:55:35 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
9040
9041         * config.bfd (i[3456]-*-mingw32*): New target.
9042         * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
9043         * aclocal.m4, configure: Rebuild.
9044
9045 Wed Jan 28 13:41:26 1998  Ian Lance Taylor  <ian@cygnus.com>
9046
9047         * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
9048         have a bfd_object.
9049
9050 Tue Jan 27 21:43:55 1998  Richard Henderson  <rth@cygnus.com>
9051
9052         Sparc v9 ABI compliant PLT:
9053         * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
9054         (plt_templates, sparc64_elf_build_plt_entry): Delete.
9055         (LARGE_PLT_THRESHOLD): New define.
9056         (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
9057         (sparc64_elf_build_plt): New function.
9058         (sparc64_elf_plt_entry_offset): Likewise.
9059         (sparc64_elf_plt_ptr_offset): Likewise.
9060         (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
9061         contain the index for convenience.  Skip the initial entries
9062         in .rela.plt.
9063         (sparc64_elf_size_dynamic_sections): Zero the allocated contents
9064         memory for the benefit of .rela.plt.
9065         (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
9066         (sparc64_elf_finish_dynamic_symbol): Kill template stuff.  Use
9067         sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
9068         (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
9069         Call sparc64_elf_build_plt.
9070         (elf_backend_want_got_plt): No.
9071         (elf_backend_plt_readonly): No.
9072         (elf_backend_plt_alignment): 8.
9073
9074         * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
9075         * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
9076         * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
9077         to be called.
9078
9079 Tue Jan 27 21:45:15 1998  Jeffrey A Law  (law@cygnus.com)
9080
9081         * archures.c (bfd_mach_mips*): Add definitions for various MIPS
9082         processors.
9083         * cpu-mips.c (arch_info_struct): Add mips variants.
9084         * bfd-in2.h: Rebuilt.
9085
9086 Tue Jan 27 15:06:04 1998  Nick Clifton  <nickc@cygnus.com>
9087
9088         * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
9089         t2a3_b_insn.
9090
9091 Tue Jan 27 12:47:27 1998  Robert Lipe  <robertl@dgii.com>
9092
9093         * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
9094         (i[3456]86sco3.2v5*coff): New target.
9095
9096 Mon Jan 26 15:41:30 1998  Ian Lance Taylor  <ian@cygnus.com>
9097
9098         * bfd-in2.h: Rebuild with changes to chew--tab expansion.
9099
9100 Thu Jan 22 21:26:48 1998  Richard Henderson  <rth@cygnus.com>
9101
9102         * bfd.c (bfd_get_error_handler): Add orthogonal function.
9103         * bfd-in2.h: Regenerate.
9104
9105 Thu Jan 22 21:13:39 1998  Richard Henderson  <rth@cygnus.com>
9106
9107         * tekhex.c (tekhex_write_object_contents): Check for no symbols.
9108
9109 Wed Jan 21 21:19:03 1998  Ian Lance Taylor  <ian@cygnus.com>
9110
9111         * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
9112         adjust addend for an output common symbol (from Jimmy Blair
9113         <jimmyb@wrs.com>).  If COFF_WITH_PE, adjust addend for PC relative
9114         defined symbol to counteract adjustment made in generic relocation
9115         code.
9116
9117         * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
9118
9119 Wed Jan 21 21:16:06 1998  Manfred Hollstein  <manfred@s-direktnet.de>
9120
9121         * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
9122         (GET_SCNDHR_NLNNO): Likewise.
9123
9124 Mon Jan 19 12:49:52 1998  Ian Lance Taylor  <ian@cygnus.com>
9125
9126         * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
9127
9128 Wed Jan 14 17:23:27 1998  Nick Clifton  <nickc@cygnus.com>
9129
9130         * elf32-m32r.c: Add macros to handle NOP insertion.
9131
9132 Wed Jan 14 16:15:22 1998  Richard Henderson  <rth@cygnus.com>
9133
9134         * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
9135         (xcoff_mark): Likewise.
9136         (xcoff_build_ldsyms): Mark absolute symbols.
9137
9138 Wed Jan 14 16:03:11 1998  Richard Henderson  <rth@cygnus.com>
9139
9140         * bout.c (b_out_write_object_contents): Sort symbols before output
9141         to keep {CALL,BAL}NAME symbols adjacent.
9142         (b_out_symbol_cmp): New function.
9143
9144 For older changes see ChangeLog-9697
9145 \f
9146 Local Variables:
9147 mode: change-log
9148 left-margin: 8
9149 fill-column: 74
9150 version-control: never
9151 End: