* elf32-mips.c (mips_elf_adjust_dynindx): Remove.
[external/binutils.git] / bfd / ChangeLog
1 1999-06-27  Mark Mitchell  <mark@codesourcery.com>
2
3         * elf32-mips.c (mips_elf_adjust_dynindx): Remove.
4         (mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx
5         instead.
6
7 1999-06-26  Mark Mitchell  <mark@codesourcery.com>
8
9         * elf32-mips.c (mips_elf_swap_msym_in): New function.
10         (mips_elf_swap_msym_out): New function.
11         (mips_elf_create_msym_section): Likewise.
12         (MIPS_ELF_MSYM_SECTION_NAME): New macro.
13         (_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
14         (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
15         section not named .msym.
16         (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
17         .msym directly.  Set appropriate attributes for the .msym
18         section.
19         (mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
20         (mips_elf_link_hash_newfunc): Clear it.
21         (mips_elf_create_dynamic_sections): Create the .msym section
22         on IRIX6.
23         (mips_elf_size_dynamic_sections):  Allocate space for the
24         .msym section.  Add a DT_MIPS_MSYM entry.
25         (mips_elf_finish_dynamic_symbol): Write out a .msym entry for
26         the symbol.
27         (mips_elf_finish_dynamic_sections): Assign a value for
28         DT_MIPS_MSYM.  Add .msym entries for the section symbols as well.
29
30         * elf32-mips.c (irix_compat_t): New enumeration.
31         (ABI_N32_P): New macro.
32         (IRIX_COMPAT): Likewise.
33         (SGI_COMPAT): Implement in terms of IRIX_COMPAT.
34         (mips_elf_relocate_section): Fix typo.
35         
36 1999-06-26  Mumit Khan  <khan@xraylith.wisc.edu>
37
38         * peicode.h (coff_swap_scnhdr_out): Mark non readonly BFD sections
39         as writable PE sections.
40
41 1999-06-26  David Mosberger  <davidm@hpl.hp.com>
42
43         * dwarf2.c (struct arange): New type.
44         (struct comp_unit): Replace LOW and HIGH by member ARANGE.
45         (arange_add): New function.
46         (decode_line_info): Keep track of address ranges that a compilation
47         unit covers.
48         (comp_unit_contains_address): Return true if address is contained
49         in _any_ of the address ranges associated with a compilation unit.
50         (_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
51         on the first comp_unit that contains the address.
52
53 1999-06-26  David Mosberger  <davidm@hpl.hp.com>
54
55         * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
56         (decode_line_info): Add variable STASH and initialize it to point
57         to the per-bfd dwarf2_debug info.  Remove static variable
58         dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
59
60 1999-06-26  Ian Lance Taylor  <ian@zembu.com>
61
62         * elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic
63         shared library to have an undefined symbol.
64
65         From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
66         * elf32-ppc.c (ppc_elf_relocate_section): Fix last patch.
67
68 Thu Jun 24 20:59:11 1999  Jeffrey A Law  (law@cygnus.com)
69
70         * elf-hppa.c (elf_hppa_final_write_processing): New function.
71         * elf32-hppa.c: Remove everything related to symbol extension
72         sections & records.  Use the common elf_hppa_final_write_processing.
73
74 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
75
76         * elflink.h (size_dynamic_sections): Use user-specified init/fini
77         functions instead of _init/_fini if requested.
78
79 1999-06-23  Ian Lance Taylor  <ian@zembu.com>
80
81         * elf.c (bfd_section_from_shdr): Avoid crashing on a bogus sh_link
82         field.
83
84 1999-06-22  Ian Lance Taylor  <ian@zembu.com>
85
86         From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
87         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx
88         field to 0, not -1.
89         (ppc_elf_finish_dynamic_sections): Check for positive section
90         dynindx field, rather than comparing against -1.
91         (ppc_elf_relocate_section): Only return false if undefined_symbol
92         or reloc_overflow fail, not always upon encountering an error.
93
94 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
95
96         * elflink.h (link_read_relocs): Explicitly cast external_relocs to
97         bfd_byte * before performing pointer arithmetic.
98
99 Tue Jun 22 13:06:25 1999  Jeffrey A Law  (law@cygnus.com)
100
101         * elf-hppa.h: New file.  Common stuff for elf32 and elf64 PA
102         support.
103         * elf32-hppa.c: Include elf-hppa.h.
104         (ARCH_SIZE): Define.
105         (elf_hppa_reloc_type_lookup): Delete.  Found in the common code
106         now.
107         (elf32_hppa_info_to_howto): Similarly.
108         (elf_hppa_howto_table): Similarly.
109         (elf_hppa_reloc_type_lookup): Similarly.
110         (hppa_elf_gen_reloc_type): Similarly.
111         * elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
112
113 1999-06-22  Nick Clifton  <nickc@cygnus.com>
114
115         * elf32-v850.c (v850_elf_final_link_relocate): Catch overflow
116         handling R_V850_22_PCREL relocation.
117
118 1999-06-21  Ian Lance Taylor  <ian@zembu.com>
119
120         * coff-arm.c (arm_emit_base_file_entry): Explicitly declare return
121         type.
122
123 Sun Jun 20 14:13:57 1999  Richard Henderson  <rth@cygnus.com>
124
125         * section.c (_bfd_strip_section_from_output): Ignore sections
126         DISCARDed by the link script.
127
128 1999-06-19  Ian Lance Taylor  <ian@zembu.com>
129
130         * elflink.h (elf_link_remove_section_and_adjust_dynindices):
131         Remove unused local variable spp.
132
133         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't crash if
134         the entry symbol is not set.
135
136 Fri Jun 18 04:24:57 1999  Richard Henderson  <rth@cygnus.com>
137
138         * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
139         GPDISP or LITUSE in a relocatable link.
140
141 Thu Jun 17 21:24:43 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
142
143         * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc.
144         * (alloc_dwarf1_func): Likewise.
145
146 Wed Jun 16 03:09:57 1999  Jeffrey A Law  (law@cygnus.com)
147
148         * libhppa.h: Fix various formatting errors.
149         (assemble_3); Rewrite using CATENATE.
150         (assemble_17): Fix various bugs.
151
152 1999-06-16  Nick Clifton  <nickc@cygnus.com>
153
154         * elf32-mcore.c (R_MCORE_RAW): Fix definition.
155
156 1999-06-15  Richard Henderson  <rth@cygnus.com>
157
158         * section.c (SEC_SHORT): Define.
159         * bfd-in2.h: Rebuild.
160
161 1999-06-13  Mark Mitchell  <mark@codesourcery.com>
162
163         * elflink.h (elf_link_remove_section_and_adjust_dynindices):
164         Remove abfd parameter.  Use _bfd_strip_section_from_output.
165         (bfd_elf_size_dynamic_sections): Adjust callers accordingly.
166         
167         * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
168         * elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
169         * elflink.h (elf_link_remove_section_and_adjust_dynindices): New
170         function.
171         (bfd_elf_size_dynamic_sections): Use it.
172
173 1999-06-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
174
175         * elf32-i386.c (elf_howto_table): Change R_386_PC8 from
176         complain_overflow_bitfield to complain_overflow_signed.
177
178 1999-06-13  Mark Mitchell  <mark@codesourcery.com>
179
180         * elflink.h (elf_link_read_relocs_from_section): New function,
181         split out from ...
182         (elf_link_read_relocs): Here.  Use it for both relocation
183         sections.
184
185 1999-06-12  Mark Mitchell  <mark@codesourcery.com>
186
187         * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
188         asect->reloc_count is valid.
189
190 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
191
192         * elf32-mips.c (mips_elf32_section_processing): Permit a
193         SHT_MIPS_REGINFO section to have a size of 0.
194
195 1999-06-12  David O'Brien  <obrien@freebsd.org>
196
197         * config.bfd (alpha*-*-freebsd*): New target.
198         (i[3456]86-*-freebsd*): Now defaults to ELF.
199
200 1999-06-11  Ian Lance Taylor  <ian@zembu.com>
201
202         * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
203         wrap if the relocation covers the high bit of an address.
204
205         * dwarf2.c (decode_line_info): Remove unused variable first_time.
206
207 1999-06-10  Jakub Jelinek  <jj@ultra.linux.cz>
208
209         * elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
210         instead of R_SPARC_max.
211         (sparc64_elf_info_to_howto): Likewise.
212         * elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
213         (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
214
215 1999-06-07  Richard Henderson  <rth@cygnus.com>
216
217         * section.c (_bfd_strip_section_from_output): Remove output
218         sections with no initial link_order.
219
220 1999-06-07  Nick Clifton  <nickc@cygnus.com>
221
222         * elf32-m88k.c (ELF_MAXPAGESIZE): Define.
223
224 Mon Jun  7 11:49:43 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
225
226         * Makefile.am (SOURCE_HFILES): Add missing headers.
227         * Makefile.in: Regenerated.
228
229 1999-06-06  Mark Mitchell  <mark@codesourcery.com>
230
231         * elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize
232         the N32 ABI.
233
234 1999-06-04  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
235
236         * elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of
237         range undefweak symbols.
238         * hash.c: Add missing comma after @xref{}
239         * linker.c: Likewise.
240
241 1999-06-04  Nick Clifton  <nickc@cygnus.com>
242
243         * elfxx-target.h (ELF_MAXPAGESIZE): Produce an error message
244         if not defined.
245         * elf32-gen.c (ELF_MAXPAGESIZE): Define.
246         * elf32-i860.c (ELF_MAXPAGESIZE): Define.
247         * elf32-i960.c (ELF_MAXPAGESIZE): Define.
248         * elf64-gen.c (ELF_MAXPAGESIZE): Define.
249
250 1999-06-04  Ian Lance Taylor  <ian@zembu.com>
251
252         * Makefile.am: Rebuild dependencies.
253         (BFD32_BACKENDS): Add dwarf1.lo.
254         (BFD32_BACKENDS_CFILES): Add dwarf1.c.
255         * Makefile.in: Rebuild.
256
257 1999-06-04  Nick Clifton  <nickc@cygnus.com>
258
259         * Makefile.am: Add epoc-arm-pe target.
260         * Makefile.in: Regenerate.
261         * pe-arm.c: Only redefine interworking function names if they have
262         not already been redefined.
263         * pei-arm.c: Only redefine interworking function names if they have
264         not already been redefined.
265         * epoc-pe-arm.c: Redefine interworking function names to avoid a
266         name space clash.
267         * epoc-pei-arm.c: Redefine interworking function names to avoid a
268         name space clash.
269
270 1999-06-03  Nick Clifton  <nickc@cygnus.com>
271
272         * elfxx-target.h (ELF_MAXPAGESIZE): Default to 0x1000 not 1.
273
274 Fri Jun  4 10:05:11 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
275
276         * elf.c (elf_fake_sections): Undo change of 1999-05-10.
277
278 Fri Jun  4 03:10:49 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
279
280         * elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of
281         start / stop for recalculating of r_addend of R_SH_SWITCH*.
282
283 Fri Jun  4 02:53:13 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
284
285         * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32
286         in other text sections.
287
288 Fri Jun  4 02:29:34 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
289
290         * libbfd.c (_bfd_generic_verify_endian_match): New function.
291         * libbfd-in.h (_bfd_generic_verify_endian_match): Declare.
292         * libbfd.h: Regenerate.
293         * coff-sh.c (sh_merge_private_data): Delete.
294         (coff_bfd_merge_private_bfd_data): Change to
295         _bfd_generic_verify_endian_match.
296         (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
297
298 1999-06-03  Ulrich Drepper  <drepper@cygnus.com>
299
300         * elf32-arm.h: Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE.
301
302 1999-06-03  Ian Lance Taylor  <ian@zembu.com>
303
304         * bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct
305         prototype.
306         (bfd_elf32_arm_process_before_allocation): Likewise.
307         * bfd-in2.h: Rebuild.
308
309 1999-06-03  David Mosberger  <davidm@hpl.hp.com>
310
311         * dwarf2.c (struct line_info): Add member END_SEQUENCE to keep
312         track of end_sequence markers.
313         (add_line_info): Add END_SEQUENCE arg.
314         (decode_line_info): Don't try to infer lo_pc and hi_pc from the
315         debug-line info---it doesn't work right if a compilation unit
316         consists of multiple discontiguous code-sequences.  It would be
317         worthwhile to optimize for the common case where a compilation
318         unit results in a contiguous set of code sequences, but this is
319         quite tricky to get right for arbitrary DWARF2 files.
320         (lookup_address_in_line_info_table): Don't use the last line entry
321         for a compilation unit for anything with an address higher than
322         this line entry.  Also, check for end_sequence markers to
323         correctly handle discontinuities.
324         (_bfd_dwarf2_find_nearest_line): When checking previously loaded
325         compilation units, check all compilation units with each->high==0
326         just like when reading compilation units.
327
328         * dwarf2.c (decode_line_info): Initialize table->files and
329         table->last_line to NULL to avoid segfaults due to random
330         values in these members.
331         (concat_filename): Check for out-of-range file number before
332         indexing filename table.  Segfaults suck.
333
334         * dwarf2.c (decode_line_info): Don't truncate address to least
335         significant 32 bits (breaks 64 bit targets).
336         (lookup_address_in_function_table): Ditto.
337         (comp_unit_contains_address): Ditto.
338
339 1999-06-02  Mark Mitchell  <Mark Mitchell <mark@codesourcery.com>>
340
341         * elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR.
342         * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
343         (mips_elf64_howto_table_rela): Likewise.
344
345         * elfcode.h (elf_slurp_reloc_table_from_section): New function,
346         split out from ...
347         (elf_slurp_reloc_table): Here.  Use it to handle the case where a
348         single section has two associated relocation sections.
349
350 1999-06-02  Mark Salter  <msalter@cygnus.com>
351
352         * coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if
353         COFF_WITH_PE defined.
354
355 1999-06-02  Nick Clifton  <nickc@cygnus.com>
356
357         * pe-arm.c: Rename global arm interworking functions to avoid name
358         collision when all targets BFD is built.
359         * pei-arm.c: Ditto.
360
361 1999-05-31  Mark Mitchell  <mark@codesourcery.com>
362
363         * elf-bfd.h (elf_backend_data): Remove use_rela_p.  Add
364         may_use_rel_p, may_use_rela_p, default_use_rela_p.
365         (bfd_elf_section_data): Add use_rela_p.
366         * elf.c (bfd_section_from_shdr): Set use_rela_p appropriately.
367         (_bfd_elf_new_section_hook): Likewise.
368         (elf_fake_sections): Use may_use_rela_p, etc., instead of
369         use_rela_p.
370         (_bfd_elf_copy_private_section_data): Copy use_rela_p.
371         * elfcode.h (write_relocs): Determine whether or not use rela
372         relocs based on the relocation section header.
373         * elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p
374         instead of use_rela_p.
375         * elfxx-target.h (elf_backend_may_use_relp): New macro.
376         (elf_backend_may_use_rela_p): Likewise.
377         (elf_backend_default_use_rela_p): Likewise.
378         (elfNN_bed): Use them.
379
380 Wed Jun  2 12:38:49 1999  Miodrag Vallat <miodrag@multimania.com>
381
382         * hosts/alphalinux.h (TRAD_CORE_EXTRA_SIZE_ALLOWED): Expand to 4096.
383
384 Tue Jun  1 17:57:58 1999  Mark P. Mitchell  <mitchell@n02.acl.lanl.gov>
385
386         * reloc.c (BFD_RELOC_MIPS_SUB): New relocation.
387         (BFD_RELOC_MIPS_GOT_PAGE): Likewise.
388         (BFD_RELOC_MIPS_GOT_OFST): Likewise.
389         (BFD_RELOC_MIPS_GOT_DISP): Likewise.
390         * bfd-in2.h: Regenerated.
391         * libbfd.h: Likewise.
392         * elf32-mips.c (mips_info_to_howto_rela): New function.
393         (USE_REL): Adjust for new conventions.
394         (MINUS_ONE): New macro.
395         (elf_mips_howto_table): Add R_MIPS_SUB.
396         (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST,
397         and MIPS_GOT_DISP.
398         (mips_elf_final_write_processing): Set sh_link, not sh_info, for a
399         .MIPS.content section.
400         (_bfd_mips_elf_fake_sections): Treat all sections that begin
401         with .MIPS.content as .MIPS.content sections.  Set
402         SHF_MNIPS_NOSTRIP for such section.
403         (elf_info_to_howto): Define to mips_info_to_howto_rela.
404         * elf64-mips.c (mips_r):  Add entries for MIPS_SUB, MIPS_GOT_PAGE,
405         MIPS_GOT_OFST, and MIPS_GOT_DISP.
406
407 Wed Jun  2 11:51:12 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
408
409         * vms-misc.c (_bfd_vms_hash_newfunc): Fix use of uninitialized
410         variable.
411
412         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Avoid ambigous
413         `else'.
414
415 1999-05-30  Philip Blundell  <philb@gnu.org>
416
417         * elf32-arm.h (elf32_arm_relocate_section): Reinstate change of
418         1993-03-25 (!!).  Take into account the bitmasks for the reloc so
419         the addend does not overflow into the rest of the word.
420
421 1999-05-29  Nick Clifton  <nickc@cygnus.com>
422
423         * bfd-in.h: Amend prototype for
424         bfd_elf32_arm_process_before_allocation .
425         * bfd-in.h: Regenerate.
426
427         * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of
428         elements in a fixed sized array.
429         (ARM_ELF_ABI_VERSION): Define.
430         (ARM_ELF_OS_ABI_VERSION): Define.
431         (R_ARM_THM_ABS5): Fix rightshift and size.
432         (R_ARM_THM_PC22): Fix size.
433         (R_ARM_PLT32): Define Howto.
434         (find_howto): New function: Locate a howto based on a reloc
435         number.
436         (elf32_arm_info_to_howto): Use find_howto if necessary.
437         (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
438         bfd_reloc_code_real_type.
439         (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT
440         and BFD_RELOC_VTABLE_ENTRY.
441         (elf32_arm_reloc_type_lookup): Use find_howto if necessary.
442
443         * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of
444         elements in a fixed sized array.
445         (ARM_ELF_ABI_VERSION): Define.
446         (ARM_ELF_OS_ABI_VERSION): Define.
447         (R_ARM_THM_ABS5): Fix rightshift and size.
448         (R_ARM_THM_PC22): Fix size.
449         (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto.
450         (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
451         bfd_reloc_code_real_type.
452
453         * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field:
454         no_pipeline_knowledge.
455         (elf32_arm_link_hash_create): Initialise new field to zero.
456         (bfd_elf32_arm_process_before_allocation): Add new paraemter:
457         no_pipeline_knowledge.  Use this parameter to initialise the field
458         in the globals data structure.
459         (elf32_arm_final_link_relocate): Only add in pipeline offset if
460         no_pipeline_knowledge is false and the binary is from an old
461         toolchain.
462         (elf32_arm_merge_private_data): Generate an error if an attempt is
463         made to linl together big endian and little endian code.
464         (elf32_arm_post_process_headers): New function:  Initialise the
465         EI_OSABI and EI_ABIVERSION fields of the newly created ELF program
466         header.
467         (elf_backend_post_process_headers): Define.
468
469 1999-05-28  Nick Clifton  <nickc@cygnus.com>
470
471         * elf-bfd.h (struct elf_backend_data): Add new field:
472         elf_backend_post_process_headers.
473
474         * elfxx-target.h (elf_backend_post_process_headers): Define to
475         NULL if not already defined.
476         (elfNN_bed): Initialise elf_backend_post_process_headers field.
477
478         * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields
479         to zero.
480         (_bfd_elf_compute_section_file_positions): Call
481         elf_backend_post_process_headers if defined.
482
483 1999-05-28  Ian Lance Taylor  <ian@zembu.com>
484
485         * configure.in: Check whether getuid and getgid exist.
486         * archive.c: Define getuid and getgid as macros if HAVE_GETUID or
487         HAVE_GETGID are not defined, respectively.
488         (bfd_write_armap): Don't special case on _WIN32 for getuid and
489         getgid.
490         * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
491         * configure, config.in: Rebuild.
492
493 1999-05-28  Martin Dorey  <mdorey@madge.com>
494
495         * elf32-i960.c: New file.
496         * elf.c (prep_headers): Handle bfd_arch_i960.
497         * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec.
498         * config.bfd (i960-*-elf*): New target.
499         * configure.in (bfd_elf32_i960_vec): New target vector.
500         * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo.
501         (BFD32_BACKENDS_CFILES): Add elf32-i960.c.
502         * Makefile.in, aclocal.m4, configure: Rebuild.
503
504 1999-05-27  Nick Clifton  <nickc@cygnus.com>
505
506         * elfarm-oabi.c (elf32_arm_howto_table): Add entry for
507         R_ARM_PLT32.
508         (find_howto): New function: Find entries in the
509         elf32_arm_howto_table.
510         (elf32_arm_info_to_howto): Use find_howto if the entry cannot be
511         computed simply.
512         (elf32_arm_reloc_type_lookup): Add lookup for
513         BFD_RELOC_ARM_PLT32.
514
515 1999-05-25  Philip Blundell  <pb@nexus.co.uk>
516
517         * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function.
518         (elf32_arm_link_hash_table_create): Use above function as the
519         constructor for hash table entries.
520         (elf32_arm_relocate_section): Avoid crash when there is no output
521         section.
522         (elf32_arm_final_link_relocate): New parameter h.
523         (elf32_arm_relocate_section): Pass symbol hash entry to above
524         routine.
525         (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct
526         comments.
527
528 1999-05-25  Catherine Moore  <clm@cygnus.com>
529
530         * coff-arm.c (coff_arm_relocate_section): Don't emit
531         base file entries for pc-relative values.
532
533 1999-05-25  DJ Delorie  <dj@cygnus.com>
534
535         * peicode.h (coff_swap_sym_in): When we create the actual section
536         to reflect the not-there section C_SECTION symbols refer to,
537         change the symbol class to C_STAT as the section is now really
538         there.
539
540 1999-05-24  Philip Blundell  <pb@nexus.co.uk>
541
542         * elf32-arm.h (elf32_arm_relocate_section): Undo change of
543         1999-03-25.
544
545 Mon May 17 13:35:35 1999  Stan Cox  <scox@cygnus.com>
546
547         * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed
548         F_PIC_INT to F_PIC.
549         * coffcode.h (coff_set_arch_mach_hook): Added F_ARM_2a, and
550         F_ARM_3M labels.  Changed F_PIC_INT to F_PIC.
551
552 1999-05-16  Nick Clifton  <nickc@cygnus.com>
553
554         * coff-mcore.c (in_reloc_p): Reinstate.
555
556 1999-05-15  Nick Clifton  <nickc@cygnus.com>
557
558         * reloc.c (BFD_RELOC_MCORE_RVA): Define.
559         * bfd-in2.h: Regenerate.
560         * coff-mcore.c (in_reloc_p): Remove defintion.
561         (mcore_coff_howto): Add IMAGE_REL_MCORE_RVA.
562         (mcore_coff_reloc_type_lookup): Map BFD_RELOC_RVA to
563         IMAGE_REL_MCORE_RVA.
564         (coff_mcore_rtype_to_howto): Add special processing for
565         IMAGE_REL_MCORE_RVA.
566         (coff_mcore_relocate_section): Add support for
567         IMAGE_REL_MCORE_RVA.
568         * elf32-mcore (mcore_elf_howto_): Add R_MCORE_RELATIVE.
569         (mcore_elf_reloc_type_lookup): Map BFD_RELOC_RVA to
570         R_MCORE_RELATIVE.
571         (mcore_elf_relocate_section): Delete redundant case labels.
572
573 Fri May 14 10:59:55 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
574
575         * elf32-arm.h (elf32_arm_relocate_section): Fix operator
576         precedence between bit-and and comparison.
577
578 Thu May 13 09:45:23 1999  Joel Sherrill (joel@OARcorp.com)
579
580         * config.bfd (i[3456]86*-*-rtems*, m68k*-*-rtems*): Added to
581         list of target formats (targ_selvecs).
582         (i[3456]86*-*-rtemself*, mips*el-*-rtems*): New targets.
583         (powerpcle*-*rtems*, sh-*-rtemself*): New targets.
584
585 1999-05-10  DJ Delorie  <dj@cygnus.com>
586
587         * ecoff.c (_bfd_ecoff_write_armap): give the symtab element a
588         reasonable mode until "ar x" is smart enough to skip it (fixes
589         gcc/libgcc.a builds on mips-ecoff targets
590
591         * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed
592         to work.  Hack to support MS import libraries, which use different
593         COMDAT types than GNU.
594         (coff_slurp_symbol_table): C_SECTION symbols are local; they refer
595         to implied zero-length sections (see peicode below)
596         * coffgen.c (coff_get_normalized_symtab): Properly read long MS
597         filename symbols, which use one *or more* auxents.
598         * coffswap.h (coff_swap_aux_in): ditto
599         * peicode.h (coff_swap_sym_in): Build the implied zero-length
600         sections
601
602 Tue May 11 15:51:58 1999  Jeffrey A Law  (law@cygnus.com)
603
604         * elf32-v850.c (v850_elf_howto_table): Make partial_inplace false
605         for all relocations.
606
607 1999-05-10  Catherine Moore  <clm@cygnus.com>
608
609         * bfd-in.h (bfd_arm_allocate_interworking_sections):  Static
610         if COFF_IMAGE_WITH_PE.
611         (bfd_arm_process_before_allocation): Likewise.
612         (bfd_arm_get_bfd_for_interworking): Likewise.
613         * coff-arm.c: Likewise.
614         * bfd-in2.h: Regenerate.
615         * configure.in (armpe_little_vec): Remove coff-arm.lo.
616         (armpe_big_vec): Likewise.
617         * configure: Rebuild.
618
619 1999-05-10  Nick Clifton  <nickc@cygnus.com>
620
621         * elf.c (elf_fake_sections): Check for .rel. as start of rel
622         section, not just .rel.  Same for .rela.
623
624 1999-05-07  Nick Clifton  <nickc@cygnus.com>
625
626         * coff-mcore.c (coff_mcore_relocate_section): Replace assert about
627         endianism with an error message.
628
629 Thu May  6 17:09:09 1999  Fred Fish  <fnf@be.com>
630
631         * dwarf2.c (read_abbrevs): Change cast of dwarf_abbrev_buffer
632         assignment from "unsigned char *" to "char *".
633         (decode_line_info): Likewise for dwarf_line_buffer assignment.
634
635 1999-05-05  Catherine Moore  <clm@cygnus.com>
636
637         * coff-arm.c (coff_arm_relocate_section):  Add one to
638         address of ARM_RVA32 thumb functions.
639
640 1999-05-05  Catherine Moore  <clm@cygnus.com>
641
642         * elf32-m68k.c (elf32_m68k_set_private_flags): New.
643         (elf32_m68k_copy_private_bfd_data): New.
644         (elf32_m68k_merge_private_bfd_data): New.
645         (elf32_m68k_print_private_bfd_data): New.
646         (CPU32_FLAG): Define.
647         (PLT_CPU32_ENTRY_SIZE): Define.
648         (elf_cpu32_plt0_entry): Declare.
649         (elf_cpu32_plt_entry): Declare.
650         (elf_m68k_adjust_dynamic_symbol): Generate cpu32 plt entries.
651         (elf_m68k_finish_dynamic_symbol): Likewise.
652         (elf_m68k_finish_dynamic_sections): Likewise.
653         (elf_backend_plt_header_size): Remove definition.
654         (bfd_elf32_bfd_copy_private_bfd_data): Define.
655         (bfd_elf32_bfd_merge_private_bfd_data): Define.
656         (bfd_elf32_bfd_set_private_flags): Define.
657         (bfd_elf32_bfd_print_private_bfd_data): Define.
658
659 Mon May  3 09:24:49 1999  Jeffrey A Law  (law@cygnus.com)
660
661         * som.c (som_fixup_formats): Fix comments for R_SHORT_PCREL_MODE
662         and R_LONG_PCREL_MODE.
663
664 1999-04-29  Nick Clifton  <nickc@cygnus.com>
665
666         * coff-mcore.c (coff_mcore_relocate_section): Fix typos.
667
668 Fri Apr 28 16:36:19 1999  Stan Cox  <scox@cygnus.com>
669
670         * elf32-sh.c (sh_elf_relocate_section): Include relocation addend
671         in relocation calculation.
672
673 1999-04-26  Tom Tromey  <tromey@cygnus.com>
674
675         * aclocal.m4, configure: Updated for new version of libtool.
676
677 1999-04-21  Nick Clifton  <nickc@cygnus.com>
678
679         * coff-mcore.c: Add support for mcore relocs.
680
681 1999-04-20  Gavin Romig-Koch  <gavin@cygnus.com>
682
683         * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): Scrap the
684         incorrect use EF_MIPS_xxBITPTRS.
685
686 1999-04-18  Ian Lance Taylor  <ian@zembu.com>
687
688         * elf64-alpha.c (elf64_alpha_relax_section): Remove unused local
689         variable insn.
690
691         * bfd-in2.h: Rebuild.
692         * libbfd.h: Rebuild.
693
694 Sat Apr 17 20:55:15 1999  Catherine Moore  <clm@cygnus.com>
695
696         * coff-arm.c (coff_arm_rtype_to_howto): Remove ARM26D transform.
697         (coff_arm_relocate_section):  Add ARM26D transform.  Only
698         change to ARM26D for relocateable links.
699
700 1999-04-16  Gavin Romig-Koch  <gavin@cygnus.com>
701
702         * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): New.
703         (bfd_elf32_bfd_print_private_bfd_data): New.
704
705 1999-04-15  Doug Evans  <devans@casey.cygnus.com>
706
707         * elf32-arm.h (elf32_arm_final_link_relocate):  For R_ARM_THM_ABS5,
708         refetch addend if USE_REL, add many comments regarding current state.
709         For R_ARM_THM_PC22, refetch addend if USE_REL, simplify.
710         * elfarm-nabi.c (elf32_arm_howto_table): For R_ARM_THM_ABS5, fix
711         size and rightshift.  For R_ARM_THM_PC22, fix bitsize.
712         * elfarm-oabi.c (elf32_arm_howto_table): Ditto.
713
714 Wed Apr 14 14:33:08 1999  Richard Henderson  <rth@cygnus.com>
715
716         * elf32-mips.c (_bfd_mips_elf_read_ecoff_info): Zero `debug'.
717         * elf64-alpha.c (elf64_alpha_read_ecoff_info): Likewise.
718
719 1999-04-13  David Mosberger  <davidm@hpl.hp.com>
720
721         * dwarf2.c (decode_line_info): Don't truncate address to least
722         significant 32 bits (breaks 64 bit targets).
723         (lookup_address_in_function_table): Ditto.
724         (comp_unit_contains_address): Ditto.
725
726 Tue Apr 13 21:27:19 1999  Catherine Moore  <clm@cygnus.com>
727
728         * coff-arm.c (arm_emit_base_file_entry): New routine.
729         (A2T3_OFFSET): Define.
730         (T2A3_OFFSET): Define.
731         (coff_arm_relocate_section):  Emit base file entries for interworking
732         stubs.
733
734 1999-04-13  Philip Blundell  <philb@gnu.org>
735
736         * elfarm-nabi.c (elf32_arm_howto_table): Add dummy entries for
737         relocs 17 through 19.
738
739 Sun Apr 11 01:25:17 1999  Richard Henderson  <rth@cygnus.com>
740
741         * elfcode.h: Remove fnmatch.h.
742         * elflink.h (elf_link_assign_sym_version): Call back to ld
743         instead of calling fnmatch.
744
745         * config.bfd (i?86-*-beoself): Include pe vecs.
746
747 Sun Apr 11 01:14:06 1999  Richard Henderson  <rth@cygnus.com>
748
749         * elf32-i386.c (elf_i386_finish_dynamic_sections): Allow .plt
750         to go missing.
751
752 1999-04-10  Richard Henderson  <rth@cygnus.com>
753
754         * elf32-i386.c (elf_i386_relocate_section): Mind no_undefined
755         when trying to resolve dynamic symbol references.
756         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
757         * elf32-mips.c (mips_elf_relocate_section): Likewise.
758         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
759         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
760         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
761         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
762         * elflink.h (elf_link_output_extsym): Likewise.
763
764 Sat Apr 10 15:12:09 1999  Richard Henderson  <rth@cygnus.com>
765
766         * section.c (_bfd_strip_section_from_output): New function moved from
767         * elf64-alpha.c (elf64_alpha_strip_section_from_output): ... here.
768         * elf32-i386.c (elf_i386_size_dynamic_sections): Use it.
769         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
770         * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
771         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
772         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
773         * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
774         * bfd-in2.h: Update.
775
776 1999-04-09  Ian Lance Taylor  <ian@zembu.com>
777
778         * elf64-sparc.c: Fix incorrect calls to bfd_check_overflow.
779
780 1999-04-08  Nick Clifton  <nickc@cygnus.com>
781
782         * coff-mcore.c: New File: Support for mcore-pe targets.
783         * cpu-mcore.c: New File: Support for mcore targets.
784         * elf32-mcore.c: New File: Support for mcore-elf target.
785         * pe-mcore.c: New File: Definitions for mcore-pe target.
786         * pei-mcore.c: New File: Definitions for mcore-pei target.
787         * Makefile.am: Add support for MCore targets.
788         * Makefile.in: Regenerate.
789         * config.bfd: Add support for MCore targets.
790         * configure.in: Add support for MCore targets.
791         * configure: Regenerate.
792         * archures.c: Add support for MCore architecture.
793         * bfd-in2.h: Regenerate.
794         * coffcode.h: Add support for mcore-pe targets.
795         * elf.c: Add support for mcore-elf target.
796         * reloc.c: Add support for MCore relocs.
797         * targets.c: Add support for MCore targets.
798
799 1999-04-07  Nick Clifton  <nickc@cygnus.com>
800
801         * elfarm-nabi.c (elf32_arm_howto_table): Add entries for
802         R_ARM_XPC25 and R_ARM_THM_XPC22.
803         (elf32_arm_reloc_map): Remove redundant entries.
804
805 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
806
807         * sysdep.h (LC_MESSAGES): Never define.
808
809 1999-04-06  Chris Torek  <torek@bsdi.com>
810
811         * reloc.c (bfd_check_overflow): Add addrsize parameter.  Change
812         all callers.  Rewrite completely.
813         (_bfd_relocate_contents): Rewrite overflow checking.
814         * bfd-in2.h: Rebuild.
815
816 1999-04-05  Ian Lance Taylor  <ian@zembu.com>
817
818         From Gabriel Paubert <paubert@iram.es>:
819         * elf32-ppc.c (ppc_elf_howto_raw): Set R_PPC_GOT16_LO,
820         R_PPC_PLT16_LO and R_PPC_SECTOFF_LO to be complain_overflow_dont.
821         Set R_PPC_PLT16_HA, R_PPC_SECTOFF_HA and R_PPC_EMB_NADDR16_HA to
822         have a rightshift of 16 and use ppc_elf_addr16_ha_reloc.
823         * ppcboot.c (ppcboot_vec): Use little endian routines for
824         headers.
825
826         * elf.c (elfcore_strndup): Only define if it will be used.
827         * elf32-ppc.c (ppc_elf_relax_section): Remove unused locals irel
828         and irelend.
829         (ppc_elf_check_relocs): Remove unused local i.
830         (ppc_elf_gc_mark_hook): Add default case to switch.
831
832         From Bernd Nitzler <nitzler@kagcpd01.ag01.kodak.COM>:
833         * srec.c (srec_scan): Accept \r in symbol definitions.
834         (srec_object_p): Set HAS_SYMS if we saw any symbols.
835         (symbolsrec_object_p): Likewise.
836
837 1999-04-04  Don Bowman <don@pixsci.com>
838
839         * config.bfd: Add mips*el-*-vxworks* and mips*-*-vxworks*.
840
841 1999-04-04  Ian Lance Taylor  <ian@zembu.com>
842
843         * dwarf1.c (parse_line_table): Remove unused locals last_pc and
844         last_line.
845         * elf-bfd.h (_bfd_elfcore_section_from_phdr): Declare.
846         * elf32-i386.c (elf_i386_gc_mark_hook): Add default case to
847         switch.
848         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove unused
849         local i.
850         * syms.c (_bfd_stab_section_find_nearest_line): Remove unused
851         local val.
852
853 1999-03-31  Nick Clifton  <nickc@cygnus.com>
854
855         * config.bfd: Add support for arm-epoc-pe target.
856         * configure.in: Add support for arm-epoc-pe target.
857         * configure: Regenerate.
858         * targets.c: Add support for arm-epoc-pe target.
859         * coff-arm.c: Allow header files to override definition of
860         TARGET_UNDERSCORE and USER_LABEL_PREFIX.
861         * pe-arm.h: Allow previous header files to override definition of
862         TARGET_LITTLE_SYM and TARGET_BIG_SYM.
863         * pei-arm.h: Allow previous header files to override definition of
864         TARGET_LITTLE_SYM and TARGET_BIG_SYM.
865         * epoc-pe-arm.c: New file.  Support arm-epoc-pe target.
866         * epoc-pei-arm.c: New file.  Support arm-epoc-pei target.
867
868 1999-03-30  Nick Clifton  <nickc@cygnus.com>
869
870         * elf.c (elf_map_symbols): Handle the case where section
871         symbols are generated for content-less sections which are
872         not mapped to the output file.
873
874         * linker.c: Replace direct references to fields in BFD structure
875         with accessor macros.
876
877         * elflink.h: Replace direct references to fields in BFD structure
878         with accessor macros.
879
880 1999-03-25  Philip Blundell  <pb@nexus.co.uk>
881
882         * config.bfd: Eliminate redundancy in checks for Linux/ARM.
883
884         * elf32-arm.h (elf32_arm_relocate_section): Take the rightshift into
885         account when adjusting section symbols during a partial link.
886
887 1999-03-24  Nick Clifton  <nickc@cygnus.com>
888
889         * coff-sparc.c (struct coff_reloc_map): Change type of field
890           'bfd_reloc_val' to bfd_reloc_code_real_type.
891         * elf-m10200.c (struct mn10200_reloc_map): Ditto.
892         * elf-m10300.c (struct mn10300_reloc_map): Ditto.
893         * elf32-arc.c (struct arc_reloc_map): Ditto.
894         * elf32-d10v.c (struct d10v_reloc_map): Ditto.
895         * elf32-d30v.c (struct d30v_reloc_map): Ditto.
896         * elf32-fr30.c (struct fr30_reloc_map): Ditto.
897         * elf32-m32r.c (struct m32r_reloc_map): Ditto.
898         * elf32-sh.c (struct elf_reloc_map): Ditto.
899         * elf32-sparc.c (struct elf_reloc_map): Ditto.
900         * elf32-v850.c (struct v850_reloc_map): Ditto.
901         * elf64-sparc.c (struct elf_reloc_map): Ditto.
902         * elfarm-nabi.c (struct elf32_arm_reloc_map): Ditto.
903         * elfarm-oabi.c (struct elf32_arm_reloc_map): Ditto.
904
905 1999-03-17  Martin Hunt  <hunt@cygnus.com>
906
907         * syms.c (_bfd_stab_section_find_nearest_line): Changed this
908         function so source-level assembly works.  If multiple N_SOs
909         are seen without and N_FUNs, create an indextable entry with
910         a NULL function name.
911
912 1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>
913
914         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data) Allow merging
915         of certian similar cpus.
916
917 1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>
918
919         * elf32-mips.c (_bfd_mips_elf_final_write_processing):
920         Add the 5000.  Change the architecture for the 5400 to mips4.
921         (elf_mips_mach): Add r5000.
922
923 1999-03-11  Doug Evans  <devans@casey.cygnus.com>
924
925         * cpu-i960.c (scan_i960_mach): Recognize i960:ka_sa and i960:kb_sb.
926
927 1999-03-11  Nick Clifton  <nickc@cygnus.com>
928
929         * binary.c (binary_set_section_contents): Generate warning about
930         huge file offsets for any section that will occupy file space, not
931         just those that are loadable.
932
933 1999-02-24  Jim Blandy  <jimb@zwingli.cygnus.com>
934
935         * libbfd.h: Regenerate after Nick Clifton's Feb 17 changes.
936
937 1999-02-22  Jim Lemke  <jlemke@cygnus.com>
938
939         * elf32-ppc.c: Add ppc_elf_relax_section() for the ld option mpc860c0.
940
941 Mon Feb 22 18:26:51 1999  Ian Lance Taylor  <ian@cygnus.com>
942
943         * elf-bfd.h (ELF_LINK_HASH_REF_REGULAR_NONWEAK): Define.
944         * elflink.h: Revert all changes since Feb 16.  Instead:
945         (elf_link_add_object_symbols): Set REF_REGULAR_NONWEAK flag if
946         appropriate.  Copy it to version symbols.
947         (elf_fix_symbol_flags): Set REF_REGULAR_NONWEAK for non ELF
948         symbols if appropriate.
949         (elf_adjust_dynamic_symbol): Set REF_REGULAR_NONWEAK for weakdef
950         symbol if appropriate.
951         (elf_link_output_extsym): If symbol is marked as undefined, and
952         has no nonweak references, mark it as weak undefined.
953
954 Fri Feb 19 16:01:12 1999  Ian Lance Taylor  <ian@cygnus.com>
955
956         * elflink.h (elf_merge_symbol): When overriding a dynamic
957         definition with a weak undefined symbol, set NEEDS_PLT if it is a
958         function.
959         (elf_link_add_object_symbols): Don't copy the other field if we
960         are overridding.
961
962 Thu Feb 18 18:07:43 1999  Ian Lance Taylor  <ian@cygnus.com>
963
964         * elflink.h (elf_merge_symbol): Do not merge any symbol from a
965         shared object with a weak undefined symbol.
966
967 1999-02-18  Nick Clifton  <nickc@cygnus.com>
968
969         * elfarm-nabi.c: Set partial_inplace back to false.
970
971 1999-02-17  Nick Clifton  <nickc@cygnus.com>
972
973         * coff-arm.c (TARGET_UNDERSCORE): Re-enable.
974         (USER_LABEL_PREFIX): Set to "_".
975
976         The following patches are from: Scott Bambrough
977         <scottb@corelcomputer.com>
978
979         * libaout.h (M_ARM6_NETBSD): Set to 143.
980
981         * reloc.c: Add ARM PIC relocs:   BFD_RELOC_ARM_GOT12,
982         BFD_RELOC_ARM_GOT32, BFD_RELOC_ARM_JUMP_SLOT, BFD_RELOC_ARM_COPY,
983         BFD_RELOC_ARM_GLOB_DAT, BFD_RELOC_ARM_PLT32,
984         BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC.
985         * bfd-in2.h: Regenerate.
986
987         * elfarm-nabi.c (elf32_arm_howto_table): Set partial_inplace to
988         'true' as REL relocs are now being used.  Add new PIC relocs:
989         R_ARM_COPY, R_ARM_GLOB_DAT, R_ARM_JUMP_SLOT, R_ARM_RELATIVE,
990         R_ARM_GOTOFF, R_ARM_GOTPC, R_ARM_GOT32, R_ARM_PLT32.
991
992         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Check byte order
993         of targets.
994         (elf32_arm_final_link_relocate): Change parameters so that entire
995         reloc is passed.  Add support for PIC relocs.
996         (elf32_arm_relocate_section): Pass entire reloc to
997         elf32_arm_final_link_relocate.
998         (elf32_arm_check_relocs): Handle new PIC relocs.
999         (elf32_arm_adjust_dynamic_symbol): New function.
1000         (elf32_arm_size_dynamic_sections): New function.
1001         (elf32_arm_discard_copies): New function.
1002         (elf32_arm_finish_dynamic_symbol): New function.
1003         (elf32_arm_finish_dynamic_sections): New function.
1004         (ELF_MAXPAGE_SIZE): Define.
1005         (bfd_elf32_bfd_reloc_type_lookup): Define.
1006         (elf_backend_relocate_section): Define.
1007         (elf_backend_adjust_dynamic_symbol): Define.
1008         (elf_backend_create_dynamic_sections): Define.
1009         (elf_backend_finish_dynamic_symbol): Define.
1010         (elf_backend_finish_dynamic_sections): Define.
1011         (elf_backend_size_dynamic_sections): Define.
1012         (elf_backend_plt_readonly): Define.
1013         (elf_backend_want_got_plt): Define.
1014         (elf_backend_want_plt_sym): Define.
1015
1016 Wed Feb 17 12:02:26 1999  Stan Cox  <scox@cygnus.com>
1017
1018         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Make reginfo
1019         sections SEC_LINK_ONCE and SEC_LINK_DUPLICATES_SAME_SIZE.
1020         (_bfd_mips_elf_fake_sections): Likewise.
1021
1022 Wed Feb 17 12:07:23 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1023
1024         * elfarm-oabi.c (bfd_elf32_arm_allocate_interworking_sections,
1025         bfd_elf32_arm_get_bfd_for_interworking,
1026         bfd_elf32_arm_process_before_allocation): Define to avoid clash
1027         with elfarm-nabi.c.
1028
1029         * elf32-arm.h: Don't declare elf32_arm_info_to_howto.
1030         (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
1031         elf32_arm_find_nearest_line): Make them static.
1032
1033 Tue Feb 16 22:44:37 1999  Ian Lance Taylor  <ian@cygnus.com>
1034
1035         * elflink.h (elf_merge_symbol): Add pflags parameter.  Change all
1036         callers.  Do not merge a definition from a shared object with a
1037         weak undefined symbol.
1038         (elf_link_add_object_symbols): Do not change the symbol type or
1039         size if the old symbol overrides the new one.
1040
1041 1999-02-08  Nick Clifton  <nickc@cygnus.com>
1042
1043         * config.bfd: Add support for strongarm target.
1044
1045 Mon Feb  8 11:18:14 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1046
1047         * elf32-m68k.c (reloc_map): Use the correct types for the struct
1048         fields instead of unsigned char.
1049
1050 Fri Feb  5 00:22:36 1999  Ian Lance Taylor  <ian@cygnus.com>
1051
1052         * Makefile.am: Rebuild dependencies.
1053         * Makefile.in: Rebuild.
1054
1055 Thu Feb  4 22:30:13 1999  Ian Lance Taylor  <ian@cygnus.com>
1056
1057         * configure.in: Change AC_PREREQ to 2.13.  Remove AM_CYGWIN32.
1058         Change AM_EXEEXT to AC_EXEEXT and AM_PROG_INSTALL to
1059         AC_PROG_INSTALL.  Add comments to uses of AC_DEFINE.
1060         * acinclude.m4: Add comments to uses of AC_DEFINE.
1061         * acconfig.h: Remove.
1062         * configure: Rebuild with current autoconf/automake.
1063         * aclocal.m4: Likewise.
1064         * config.in: Likewise.
1065         * Makefile.in: Likewise.
1066
1067 1999-02-04  DJ Delorie  <dj@cygnus.com>
1068
1069         * libbfd.c (real_read): don't call fread for zero bytes.  This
1070         covers up a bug (or misuse of bfd) that's exposed by Solaris.
1071
1072 Thu Feb  4 12:38:10 1999  Stan Cox  <scox@cygnus.com>
1073
1074         * elf32-mips.c (mips_elf_relocate_section): Insure that the target
1075         of a jump is in the current 256 MB region.
1076
1077 Thu Feb  4 12:15:38 1999  Ian Lance Taylor  <ian@cygnus.com>
1078
1079         * format.c (bfd_check_format_matches): Change last patch to only
1080         take effect for the binary target.
1081
1082 Wed Feb  3 19:40:12 1999  Ian Lance Taylor  <ian@cygnus.com>
1083
1084         * elf32-i386.c (elf_i386_reloc_type_lookup): Add BFD_RELOC_CTOR.
1085
1086 Wed Feb  3 15:02:44 1999  Catherine Moore  <clm@cygnus.com>
1087
1088         * elf32-fr30.c (fr30_elf_check_relocs):  New routine.
1089
1090 Tue Feb  2 21:38:28 1999  Ian Lance Taylor  <ian@cygnus.com>
1091
1092         * format.c (bfd_check_format_matches): If the target was
1093         previously specified, don't check other targets when checking for
1094         an archive file.
1095
1096 Tue Feb  2 18:16:43 1999  Catherine Moore  <clm@cygnus.com>
1097
1098         * elf32-arm.h (elf32_arm_reloc_map):  Removed.
1099         (elf32_arm_reloc_type_lookup):  Removed
1100         * elfarm-nabi.c (elf32_arm_reloc_map):  New.
1101         (elf32_arm_reloc_type_lookup):  New.
1102         * elfarm-oabi.c (elf32_arm_reloc_map):  New.
1103         (elf32_arm_reloc_type_lookup):  New.
1104
1105 Mon Feb  1 19:49:21 1999  Catherine Moore  <clm@cygnus.com>
1106
1107         * elfarm-nabi.c:  Renamed from elf32-arm-newabi.c.
1108         * elfarm-oabi.c:  Renamed from elf32-arm-oldabi.c
1109         * Makefile.am:  Use new files.
1110         * Makefile.in:  Regenerate.
1111         * configure.in:  Use new files.
1112         * configure:  Regenerate.
1113
1114 1999-02-01  Nick Clifton  <nickc@cygnus.com>
1115
1116         * elf32-fr30.c (fr30_elf_gc_mark_hook): New function.
1117         (fr30_elf_gc_sweep_hook): New function.
1118         (elf_backend_can_gc_sections): Define.
1119
1120 Mon Feb  1 12:21:47 1999  Catherine Moore  <clm@cygnus.com>
1121
1122         * targets.c (bfd_target_vector):  Add bfd_elf32_littlearm_oabi_vec
1123         and bfd_elf32_bigarm_oabi_vec.
1124
1125 Mon Feb  1 11:46:31 1999  Catherine Moore  <clm@cygnus.com>
1126
1127         * Makefile.am (elf32-arm-oldabi.lo):  New.
1128         (elf32-arm-newabi.lo):  New.
1129         * Makefile.in:  Regenerate.
1130         * config.bfd (thumb-*-elf):  Remove definition of targ_underscore.
1131         (arm-*-elf):  Likewise.
1132         (arm-*-oabi):  New.
1133         (thumb-*-oabi):  New.
1134         * configure:  Regenerate.
1135         * configure.in (bfd_elf32_littlearm_oabi_vec):  New.
1136         (bfd_elf32_bigarm_oabi_vec):  New.
1137         * elf32-arm-newabi.c:  New.
1138         * elf32-arm-oldabi.c:  New.
1139         * elf32-arm.c:  Removed.
1140         * elf32-arm.h:  New.
1141
1142 Mon Feb  1 11:52:12 1999  Frank Ch. Eigler  <fche@cygnus.com>
1143
1144         * binary.c (binary_set_section_contents): Omit warnings for
1145         unloadable sections.
1146
1147 1999-01-31  Michael Meissner  <meissner@cygnus.com>
1148
1149         * config.bfd (powerpc{,le}-*-vxworks*): Add aliases to
1150         powerpc{,le}-*-eabi.
1151
1152 1999-01-29  Nick Clifton  <nickc@cygnus.com>
1153
1154         * dwarf2.c (read_unsigned_leb128): Remove unused variables.
1155         * dwarf2.c (read_signed_leb128): Remove unused variables.
1156
1157 Fri Jan 29 00:47:21 1999  H.J. Lu  <hjl@gnu.org>
1158
1159         * elf.c (assign_file_positions_for_segments): Only adjust
1160         p_align when needed.
1161
1162 Thu Jan 28 20:05:22 1999  Ian Lance Taylor  <ian@cygnus.com>
1163
1164         * binary.c (binary_set_section_contents): Don't return early for a
1165         non-loadable section, in case the first section is non-loadable.
1166         Don't set the low lma for a SEC_NEVER_LOAD section.  From Maciej
1167         W. Rozycki <macro@ds2.pg.gda.pl>.
1168
1169 1999-01-28  Nick Clifton  <nickc@cygnus.com>
1170
1171         * elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
1172         R_FR30_GNU_VTENTRY relocs.
1173
1174 Thu Jan 28 11:08:16 1999  Catherine Moore  <clm@cygnus.com>
1175
1176        * elflink.h (elf_link_output_sym):  Zero syms which are
1177        part of sections which have been excluded.
1178
1179 Wed Jan 27 13:35:35 1999  Stan Cox  <scox@cygnus.com>
1180
1181         * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed F_PIC
1182         to F_PIC_INT.
1183         * coffcode.h (coff_set_arch_mach_hook): Removed F_ARM_2a and
1184         F_ARM_3M labels.  Changed F_PIC to F_PIC_INT.
1185
1186 1999-01-27  Nick Clifton  <nickc@cygnus.com>
1187
1188         * elf32-fr30.c (fr30_elf_howto_table): Fix name of R_FR30_48
1189         relocation.
1190         (fr30_final_link_relocate): Use computed value as result of
1191         relocation.
1192
1193 1999-01-26  Frank Ch. Eigler  <fche@cygnus.com>
1194
1195         * binary.c (binary_set_section_contents): Emit warning for
1196         huge file offsets due to widely-dispersed section LMAs.
1197
1198 Mon Jan 18 03:35:35 1999  Ian Lance Taylor  <ian@cygnus.com>
1199
1200         * elf.c (assign_file_positions_for_segments): If not D_PAGED,
1201         align first section to largest section alignment, not first
1202         section alignment.
1203
1204 1999-01-04  Jason Molenda  (jsm@bugshack.cygnus.com)
1205
1206         * configure.in: Require autoconf 2.12.1 or higher.
1207
1208 Tue Dec 22 15:21:41 1998  Catherine Moore  <clm@cygnus.com>
1209
1210         * archures.c (bfd_mach_i386_i386_intel_syntax):  Define.
1211         * bfd-in2.h:  Likewise.
1212         * cpu-i386.c (bfd_i386_arch_intel_syntax):  New.
1213
1214 1998-12-16  Gavin Romig-Koch  <gavin@cygnus.com>
1215
1216         * archures.c,bfd-in2.h (bfd_mach_mips4111): New.
1217         * cpu-mips.c: Add support for and independent 4111.
1218         * elf32-mips.c (elf_mips_mach): E_MIPS_MACH_4111 -> bfd_mach_mips4111.
1219         (_bfd_mips_elf_final_write_processing):
1220         bfd_mach_mips4111 -> E_MIPS_ARCH_3 | E_MIPS_MACH_4111.
1221
1222 1998-12-15  Gavin Romig-Koch  <gavin@cygnus.com>
1223
1224         * elf32-mips.c (elf_mips_abi_name): New.
1225         (_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags.
1226
1227 1998-12-12  Gavin Romig-Koch  <gavin@cygnus.com>
1228
1229         * elf32-mips.c (_bfd_mips_elf_final_write_processing):
1230         Handle bfd_mach_mips4300.
1231
1232 1998-12-11  Ulrich Drepper  <drepper@cygnus.com>
1233
1234         * elf32-i386.c: Remove leaked development code from patch
1235         1998-12-10 by Richard Henderson.
1236
1237 1998-12-10  Richard Henderson  <rth@cygnus.com>
1238
1239         * elf32-i386.c (elf_i386_relocate_section): Don't fail relocations
1240         in debug sections for symbol defined externally.
1241
1242 Thu Dec 10 10:58:38 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1243
1244         * targets.c (bfd_target_vector): Remove duplicate entry for
1245         tekhex_vec.
1246
1247 1998-12-09  Nick Clifton  <nickc@cygnus.com>
1248
1249         * elf32-fr30.c (fr30_elf_howto_table): Set src_mask fields to 0
1250         since we are using RELAs.
1251
1252 Tue Dec  8 22:15:48 1998  Ian Lance Taylor  <ian@cygnus.com>
1253
1254         SCO Open Server Release 5 core file support, from Jouke Numan
1255         <jnuman@hiscom.nl>:
1256         * sco5-core.c: New file.
1257         * configure.in (i[3456]86-*-sco3.2v5*): Use sco5-core.lo.
1258         (sco5-core.lo): Define SCO5_CORE in COREFLAG.
1259         * Makefile.am: Rebuild dependencies.
1260         (OPTIONAL_BACKENDS): Add sco5-core.lo.
1261         (OPTIONAL_BACKENDS_CFILES): Add sco5-core.c.
1262         * bfd.c (struct _bfd): Add sco5_core_data field to tdata.
1263         * targets.c (sco5_core_vec): Add to target list if SCO5_CORE.
1264         * bfd-in2.h, configure, Makefile.in: Rebuild.
1265
1266 Tue Dec  8 19:38:42 1998  Mark Klein  <mklein@dis.com>
1267
1268         * config.bfd (hppa*-*-mpeix*): New target.
1269         * configure.in: Add AC_HEADER_DIRENT.
1270         (hppa*-*-mpeix*): New target.
1271         * configure.host (hppa*-*-mpeix*): New host.
1272         * hpux-core.c: Check HOST_HPPAMPEIX.  Use HAVE_DIRENT_H and
1273         friends rather than just including <sys/dir.h>.
1274         * som.h (struct som_symbol): Add hppa_priv_level and apto
1275         tc_data.  Change all users.
1276         (struct somdata): Add comp_unit field.
1277         (obj_som_compilation_unit): Define.
1278         (bfd_som_attach_compilation_unix): Declare.
1279         * som.c: Check HOST_HPPAMPEIX.
1280         (struct som_misc_symbol_info): Add new field priv_level.
1281         (som_object_setup): Add current_offset parameter.  Change all
1282         callers.
1283         (setup_sections): Likewise.
1284         (som_object_p): For EXECLIBMAGIC, read the lst header.
1285         (som_write_symbol_strings): Add compilation_unit parameter.
1286         Change all callers.
1287         (som_finish_writing): Write out compilation_unit.
1288         (som_bfd_derive_misc_symbol_info): Set priv_level.
1289         (som_build_and_write_symbol_table): Set xleast field to 3.
1290         (som_slurp_symbol_table): Set symbol priv_level.
1291         (bfd_som_attach_compilation_unit): New function.
1292         (som_bfd_ar_write_symbol_stuff): Set xleast field to 3.  Set
1293         priv_level into symbol_value.
1294         * configure, config.in: Rebuild.
1295
1296 Tue Dec  8 16:21:35 1998  Ian Lance Taylor  <ian@cygnus.com>
1297
1298         * hpux-core.c (hpux_core_core_file_p): Change call to nonexistent
1299         warning function to call _bfd_error_handler instead.
1300
1301         * libbfd.c (COERCE32): Cast through unsigned long and long to
1302         avoid bug in old version of gcc.
1303
1304         * elf64-alpha.c (elf64_alpha_additional_program_headers): Remove.
1305         (elf_backend_additional_program_headers): Don't define.
1306
1307 1998-12-08  Nick Clifton  <nickc@cygnus.com>
1308
1309         * elf32-fr30.c (fr30_final_link_relocate): Fix PC relative
1310         relocations to include offset of 2 included in the insns, and the
1311         offset of the relocs within the section.
1312
1313 Wed Dec  2 15:03:59 1998  David Taylor  <taylor@texas.cygnus.com>
1314
1315         The following changes were made by David Taylor
1316         <taylor@texas.cygnus.com>, Edith Epstein
1317         <eepstein@sophia.cygnus.com>, Jim Blandy
1318         <jimb@zwingli.cygnus.com>, and Elena Zannoni
1319         <ezannoni@kwikemart.cygnus.com> as part of the project to merge in
1320         changes originally made by HP; HP did not create ChangeLog
1321         entries.
1322
1323         * aclocal.m4, configure, Makefile.in: Rebuilt using latest
1324         automake macro library.
1325
1326         * hpux-core.c (hpux_core_core_file_p): this function now
1327         understands HPUX 10.30 thread info. Yes, the thread stacks can be
1328         found in the corefile! Also, in hpux_core_core_file_p, if we
1329         encounter a section with an unknown type, don't punt.  Instead,
1330         just skip it.  Also, count the number of sections of known type
1331         that we encounter.  If we encounter at least one good one, then
1332         we'll declare that the file is a core file.  If we encounter any
1333         unknown ones but some known ones, then we'll issue a warning (but
1334         still declare it to be a core file). Also, correctly decide when a
1335         file is not a core.
1336         (PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined.
1337         (CORE_ANON_SHMEM): define if not defined.
1338         (hpux_core_struct): add members lwpid and user_tid.
1339         (core_kernel_thread_id, core_user_thread_id): new macros.
1340         (make_bfd_asection): use bfd_alloc to allocate room for a copy of
1341         the name before storing it in the bfd.
1342         (hpux_core_core_file_p): handle threads.
1343
1344         * libhppa.h (GET_FIELD): protect against redefinition.
1345         (HPPA_WIDE): define.
1346         (GET_FIELD): define.
1347         (GET_BIT): define.
1348         (MASK): define.
1349         (CATENATE): define.
1350         (ELEVEN): define.
1351         (sign_extend): redefine.
1352         (assemble_6): define.
1353         (assemble_12): rewrite.
1354         (assemble_16): define.
1355         (assemble_16a): define.
1356         (assemble_17): rewrite.
1357         (assemble_22): define.
1358
1359 1998-12-07  Nick Clifton  <nickc@cygnus.com>
1360
1361         * elf32-fr30.c (fr30_final_link_relocate): Using signed
1362         relocations for signed values.
1363
1364 Sun Dec  6 16:30:33 1998  Ian Lance Taylor  <ian@cygnus.com>
1365
1366         * mipsbsd.c (MY(set_arch_mach)): Make static.
1367         * aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use
1368         bfd_mach_mips* macros rather than simple numbers.
1369
1370         COFF weak symbol support, based on patches from Mark Elbrecht
1371         <snowball3@usa.net>:
1372         * coffcode.h (coff_slurp_symbol_table): Handle C_WEAKEXT.
1373         * coffgen.c (coff_renumber_symbols): Handle weak symbols.
1374         (coff_write_alien_symbol): Likewise.
1375         * cofflink.c (coff_link_check_ar_symbols): Likewise.
1376         (coff_link_add_symbols): Likewise.
1377         (_bfd_coff_link_input_bfd): Likewise.
1378         (_bfd_coff_write_global_sym): Likewise.
1379
1380         * elf.c (copy_private_bfd_data): Always initialize the
1381         includes_phdrs field.
1382
1383         * elflink.h (elf_fix_symbol_flags): Check for case where a non-ELF
1384         file defines a symbol first mentioned in an ELF file.
1385
1386         * bfd-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if
1387         possible, rather than only if BFD64.
1388         * elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT,
1389         not __GNUC__.
1390         * bfd-in2.h: Rebuild.
1391
1392         * srec.c (srec_set_section_contents): Correct test to avoid
1393         switching to 4 byte addresses after seeing a second section which
1394         requires 3 byte addresses.  From Joel Schantz
1395         <joel.schantz@argosys.boeing.com>.
1396
1397         * config.bfd (m68*-*-gnu*): New target.  From Aymeric Vincent
1398         <aymeric.vincent@emi.u-bordeaux.fr>.
1399
1400 1998-12-04  Jim Blandy  <jimb@zwingli.cygnus.com>
1401
1402         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Fix logic to
1403         decide whether the output file is -mrelocatable-lib,
1404         -mrelocatable, or neither.  (gdb.base/nodebug.exp)
1405
1406 1998-12-03  Nick Clifton  <nickc@cygnus.com>
1407
1408         * elf32-fr30.c: Add support for R_FR30_48 reloc.
1409         * reloc.c: Add BFD_RELOC_FR30_48 relocation.
1410         * bfd-in2.h: Regenerate.
1411         * libbfd.h: Regenerate
1412
1413 Wed Dec  2 00:58:37 1998  Ian Lance Taylor  <ian@cygnus.com>
1414
1415         * elflink.h (elf_adjust_dynamic_symbol): Warn on an attempt to
1416         link against a dynamic symbol with no type or size.
1417
1418 1998-12-01  Ulrich Drepper  <drepper@cygnus.com>
1419
1420         * elf32-i386.c (i386_check_relocs) [R_386_32]: Don't emit
1421         relocation for section which does not get loaded.
1422         (elf_i386_relocate_section) [R_386_32]: Likewise.
1423
1424 Tue Dec  1 11:33:33 1998  Jim Wilson  <wilson@cygnus.com>
1425
1426         * coff-h8300.c (h8300_bfd_link_add_symbols): Make reloc_size,
1427         reloc_count and i long instead of unsigned long.  Handle error
1428         return from bfd_canonicalize_reloc.
1429
1430 1998-12-01  Nick Clifton  <nickc@cygnus.com>
1431
1432         * elf32-v850.c (v850_elf_relocate_section): Detect the absence of
1433         a hash table.
1434
1435 Mon Nov 30 15:28:09 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1436
1437         * elf32-sh.c (elf/sh.h): Include.
1438         sh_reloc_type: Delete.  Changed all references to elf_sh_reloc_type.
1439         (sh_elf_howto_tab): Add HOWTO for R_SH_SWITCH8.
1440         (sh_reloc_map): Map BFD_RELOC_8_PCREL to R_SH_SWITCH8.
1441         (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
1442         * Makefile.in: Add dependency of elf32-sh.lo on $(INCDIR)/elf/sh.h.
1443
1444 Fri Nov 27 17:51:38 1998  Geoff Keating  <geoffk@ozemail.com.au>
1445
1446         * elflink.h (compute_bucket_count): Don't allow minsize==0, it
1447         causes division by zero later on.
1448
1449 Thu Nov 26 11:19:35 1998  Dave Brolley  <brolley@cygnus.com>
1450
1451         * elf32-fr30.c (fr30_elf_pc9_reloc,fr30_elf_pc12_reloc): Not
1452         needed.
1453
1454 1998-11-25  DJ Delorie  <dj@cygnus.com>
1455
1456         * coff-i386.c (i3coff_object_p): Remove hack.  Use new emulation
1457         hook now.
1458
1459 Tue Nov 24 10:25:27 1998  Nick Clifton  <nickc@cygnus.com>
1460
1461         * elf32-fr30.c (fr30_elf_relocate_section): Call
1462         fr30_final_link_relocate.
1463         (fr30_final_link_relocate): New function: Handle I20 and I32
1464         relocs.
1465         (fr30_elf_i32_reloc): New function: Handle I32 relocs.
1466         (fr30_elf_pc9_reloc): New function: Handle 9_PCREL relocs.
1467         (fr30_elf_pc12_reloc): New function: Handle 12_PCREL relocs.
1468
1469         * elf32-v850.c (v850_elf_relocate_section): Reset hi16s reloc
1470         chain to empty.
1471
1472         The following changes are based on a patch submitted by Gianluca
1473         Moro <glctr@abc.it>:
1474
1475         (v850_elf_perform_relocation): Only update a hi16s reloc if it has
1476         not already been updated.
1477         (find_remembered_hi16s_reloc): New parameter 'already_found'
1478         returns state of remembered hi16s reloc.
1479         (remember_hi16s_reloc): Set 'found' field to false.
1480         (hi16s_location): Add 'found' field.
1481
1482 1998-11-23  DJ Delorie  <dj@cygnus.com>
1483
1484         * coff-i386.c (bfd_pe_dll_not_recognized_hack): the linker wants
1485         to see .DLL files as unrecognized.
1486         (i3coff_object_p): Sorry, had to hack it to not recognize these
1487         files (pei-i386) on request.
1488
1489 1998-11-23  DJ Delorie  <dj@cygnus.com>
1490
1491         * opncls.c (bfd_make_readable): need more cleanup for symbols and
1492         relents.  Call bfd_check_format to reinitialize.
1493
1494 Fri Nov 20 14:21:36 1998  Nick Clifton  <nickc@cygnus.com>
1495
1496         * elf32-fr30.c (fr30_elf_relocate_section): Remove spurious
1497         warnings.
1498
1499 Thu Nov 19 14:42:15 1998  Geoffrey Noer  <noer@cygnus.com>
1500
1501         * aclocal.m4: regenerate
1502         * configure: regenerate
1503
1504 Tue Nov 17 20:23:35 1998  Richard Henderson  <rth@cygnus.com>
1505
1506         * elf-bfd.h (struct elf_link_hash_entry): Add vtable_entries_size.
1507         * elf.c (_bfd_elf_link_hash_newfunc): Clear it.
1508         * elflink.h (elf_gc_propagate_vtable_entries_used): Copy it, and
1509         respect it as an upper bound on what memory to reference.
1510         (elf_gc_smash_unused_vtentry_relocs): Likewise.
1511         (elf_gc_record_vtentry): Handle as-yet undefined vtables.  Set and
1512         update vtable_entries_size appropriately.
1513
1514 Tue Nov 17 15:28:31 1998  Nick Clifton  <nickc@cygnus.com>
1515
1516         * elf32-fr30.c (fr30_reloc_type_lookup): Used integers to hold
1517         reloc number.
1518
1519 Mon Nov 16 22:19:21 1998  DJ Delorie  <dj@cygnus.com>
1520
1521         * archive.c (bfd_ar_hdr_from_filesystem): support BFD_IN_MEMORY
1522         bfds; they have no "file" so we fake it.
1523         * bfd-in2.h: add bfd_make_writable and bfd_make_readable (regen)
1524         * libbfd.c (bfd_write): Allow writing to BFD_IN_MEMORY bfds by
1525         resizing the memory buffer.
1526         * opncls.c (bfd_make_writable): New function; lets you write a
1527         bfd_create'd bfd to an in-memory buffer.
1528         (bfd_make_readable): New function; lets you read back that buffer
1529         as if it were from bfd_openr.  Used to build generated archive
1530         members (winsup's ld's dlltool)
1531
1532 Mon Nov 16 19:15:19 1998  Dave Brolley  <brolley@cygnus.com>
1533
1534         * po/bfd.pot: Regenerated.
1535
1536 Mon Nov 16 10:57:06 1998  Nick Clifton  <nickc@cygnus.com>
1537
1538         * elf32-v850.c (hi16s_location): Replaced fixed size array with
1539         linked list.
1540
1541 Sun Nov 15 20:28:25 1998  Richard Henderson  <rth@cygnus.com>
1542
1543         * elf64-alpha.c (elf64_alpha_relax_section): Search for the proper
1544         element of the gotentry list for local symbols too.
1545         (elf64_alpha_relocate_section): Unify local and global handling.
1546         Assert that gotent->use_count > 0.
1547
1548 Sat Nov 14 15:16:01 1998  Ian Lance Taylor  <ian@cygnus.com>
1549
1550         * configure.in (vms_alpha_vec): Rename from evax_alpha_vec, and
1551         update for file name changes of July 2, 1998.
1552         (vms_vax_vec): New.
1553         * configure: Rebuild.
1554
1555 Thu Nov 12 19:19:54 1998  Dave Brolley  <brolley@cygnus.com>
1556
1557         * po/bfd.pot: Regenerated.
1558
1559 Tue Nov 10 16:17:06 1998  Geoffrey Noer  <noer@cygnus.com>
1560
1561         * acinclude.m4, config.bfd: detect cygwin* instead of cygwin32*.
1562         * aclocal.m4, configure: regenerate
1563
1564 Tue Nov 10 15:13:59 1998  Nick Clifton  <nickc@cygnus.com>
1565
1566         * elf.c (prep_headers): Add support for bfd_arch_fr30.
1567
1568 Tue Nov 10 13:37:36 1998  Felix Lee  <flee@cygnus.com>
1569
1570         * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE,
1571         BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): didn't define macro when value
1572         was cached.
1573         * aclocal.m4, configure: regenerated.
1574
1575 Tue Nov 10 14:31:01 1998  Catherine Moore  <clm@cygnus.com>
1576
1577         * elf32-d10v.c (reloc_type):  Add R_D10V_GNU_VTINHERIT and
1578         R_D10V_GNU_VTENTRY relocs.
1579         (elf_d10v_howto_table):  Likewise.
1580         (d10v_reloc_map d10v_reloc_map):  Likewise.
1581         (elf32_d10v_gc_mark_hook):  New.
1582         (elf32_d10v_gc_sweep_hook):  New.
1583         (elf32_d10v_check_relocs):  New.
1584         (elf32_d10v_relocate_section):  New.
1585         (elf_backend_relocate_section):  Define.
1586         (elf_backend_can_gc_sections):  Define.
1587
1588 Sat Nov  7 18:07:51 1998  Peter Schauer  <peter.schauer@regent.e-technik.tu-muenchen.de>
1589
1590         * Makefile.am (BFD32_BACKENDS): Move vms files here...
1591         (BFD64_BACKENDS): ...from here.
1592         (BFD32_BACKENDS_CFILES): Move vms files here...
1593         (BFD64_BACKENDS_CFILES): ...from here.
1594         * Makefile.in: Rebuild.
1595
1596 Wed Nov  4 15:58:48 1998  Nick Clifton  <nickc@cygnus.com>
1597
1598         * Makefile.am: Add FR30 target.
1599         * Makefile.in: Add FR30 target.
1600         * archures.c: Add support for FR30.
1601         * config.bfd: Add support for FR30.
1602         * configure.in: Add support for FR30.
1603         * reloc.c: Add support for FR30 relocations.
1604         * targets.c: Add support for FR30 relocations.
1605         * bfd-in2.h: Regenerate.
1606         * configure: Regenerate.
1607         * libbfd.h:  Regenerate.
1608         * cpu-fr30.c: New file.
1609         * elf32-fr30.c: New file.
1610
1611 Mon Nov  2 14:59:33 1998  Geoffrey Noer  <noer@cygnus.com>
1612
1613         * configure.in: detect cygwin* instead of cygwin32*
1614         * configure: regenerate
1615
1616 Sun Nov  1 19:32:28 1998  Jeffrey A Law  (law@cygnus.com)
1617
1618         * elf-m10300.c (mn10300_elf_relax_section): Do not use alloca,
1619         use bfd_malloc and free instead and check return value from bfd_malloc.
1620
1621 Sun Nov  1 16:20:35 1998  Ian Lance Taylor  <ian@cygnus.com>
1622
1623         * libbfd-in.h (_bfd_dwarf1_find_nearest_line): Declare.
1624         * libbfd.h: Rebuild.
1625
1626         * elf32-mips.c (mips_elf_dynsym_sec_names): Comment out.
1627         (SIZEOF_MIPS_DYNSYM_SECNAMES): Likewise.
1628         (MIPS_TEXT_DYNSYM_SECN): Likewise.
1629         (_bfd_mips_elf_fake_sections): Don't set sh_info field of a .hash
1630         section.
1631         (struct mips_elf_link_hash_table): Remove dynsym_sec_strindex
1632         field.
1633         (mips_elf_link_hash_table_create): Don't initialize
1634         dynsym_sec_strindex.
1635         (mips_elf_gc_mark_hook): Add default case to avoid warning.
1636         (mips_elf_size_dynamic_sections): Generate a section symbol for
1637         every output section.
1638         (mips_elf_finish_dynamic_sections): Count all sections for
1639         DT_MIPS_UNREFEXTNO.
1640         (mips_elf_finish_dynamic_sections): Use dynamic symbols for all
1641         output sections.
1642
1643 Sun Nov  1 12:46:53 1998  Geoff Keating  <geoffk@ozemail.com.au>
1644
1645         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Allocate two slots
1646         for later PLT entries in large PLTs.
1647         (ppc_elf_finish_dynamic_symbol): Allow for the extra slots.
1648
1649 Sat Oct 31 20:10:09 1998  Jeffrey A Law  (law@cygnus.com)
1650
1651         * elf32-ppc.c (ppc_elf_reload_section): Fix typo.
1652
1653 1998-10-26 15:58  Ulrich Drepper  <drepper@cygnus.com>
1654
1655         * elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value.
1656         * elflink.h (elf_collect_hash_codes): New function.  This function is
1657         called for each exported symbol and we compute the ELF hash value for
1658         it.
1659         (compute_bucket_value): New function.  It is called from
1660         size_dynamic_sections to determine the hash table size.  When we are
1661         optimizing a better, but slower, algorithm is used.
1662         (size_dynamic_sections): Call compute_bucket_value.
1663
1664         * elf.c (bfd_elf_hash): Optimize the hash function a bit.
1665
1666 Mon Oct 19 20:03:21 1998  Catherine Moore  <clm@cygnus.com>
1667
1668         * elf32-sh.c:  Add HOWTO entries for R_SH_GNU_VTINHERIT and
1669         R_SH_GNU_VTENTRY.
1670         (sh_elf_gc_mark_hook):  New.
1671         (sh_elf_gc_sweep_hook):  New.
1672         (sh_elf_check_relocs):  New.
1673         (elf_backend_can_gc_sections):  Define.
1674
1675 Mon Oct 19 16:57:05 1998  Felix Lee  <flee@cygnus.com>
1676
1677         * acinclude.m4: undo previous gettext change
1678         * aclocal.m4: rebuild with right version of aclocal.
1679
1680 Mon Oct 19 01:47:21 1998  Felix Lee  <flee@cygnus.com>
1681
1682         * acinclude.m4, aclocal.m4: move gettext-related fragments from
1683         aclocal.m4 to acinclude.m4, so they don't get lost.
1684
1685         * elfcore.h: rewrite for better corefile support.
1686         * elf.c (elfcore_*): new functions.
1687         * elf-bfd.h (elf_obj_tdata): new structure members.
1688         * acconfig.h, acinclude.m4, configure.in: add feature-tests for
1689         flavor of procfs.
1690         * aclocal.m4, config.in, configure, Makefile.in: regenerated.
1691
1692 Fri Oct 16 14:07:45 1998  Catherine Moore  <clm@cygnus.com>
1693
1694         * elf32-m32r.c:  Add HOWTO entries for R_M32R_GNU_VTINHERIT
1695         and R_M32R_GNU_VTENTRY.
1696         (elf_backend_can_gc_sections):  Define.
1697         (m32r_elf_check_relocs):  New.
1698         (m32r_elf_gc_mark_hook):  New.
1699         (m32r_elf_gc_sweep_hook):  New.
1700         (m32r_elf_relocate_section):  Handle VT relocs.
1701
1702 Mon Oct 12 14:18:40 1998  Nick Clifton  <nickc@cygnus.com>
1703
1704         * coff-arm.c (arm_relocate_section): Remove redundant test.
1705
1706         * bfd-in2.h (struct reloc_howto_struct): Improve comment to make
1707         cleat that the 'bitsize' field is the size of the bitfield AFTER
1708         relocation not before.
1709
1710         * elf32-m32r.c (R_M32R_18_PCREL): Fix size of bitfield.
1711
1712         * coff-mips.c (mips_relocate_hi): Cope with missing refhi or reflo
1713         relocs.
1714
1715 Tue Oct  6 09:20:44 1998  Catherine Moore  <clm@cygnus.com>
1716
1717         * elf32-sparc.c:  Add HOWTO entries for R_SPARC_GNU_VTINHERIT and
1718         R_SPARC_GNU_VTENTRY.
1719         (elf32_sparc_check_relocs):  Handle them.
1720         (elf32_sparc_reloc_type_lookup):  Likewise.
1721         (elf32_sparc_relocate_section):  Likewise.
1722         (elf32_sparc_gc_mark_hook):  New.
1723         (elf32_sparc_gc_sweep_hook):  New.
1724
1725 Mon Oct  5 14:55:30 1998  Jeffrey A Law  (law@cygnus.com)
1726
1727         * som.c (som_finish_writing): Perform some sanity checks when
1728         writing an executable or shared library.
1729
1730 Mon Oct  5 12:02:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
1731
1732         * dwarf1.c : New file.  Adds _bfd_dwarf1_find_nearest_line.
1733         * configure.in (elf): Add dwarf1.lo.
1734         * elf_bfd.h (elf_ob_tdata): Add dwarf1_find_line_info.
1735         * elf.c (_bfd_elf_find_nearest_line): Add call to
1736         _bfd_dwarf1_find_nearest_line.
1737         * elf32-mips.c (_bfd_mips_elf_find_nearest_line):
1738         Add call to _bfd_dwarf1_find_nearest_line.
1739         * configure: Rebuilt.
1740
1741 Mon Oct  5 10:06:22 1998  Catherine Moore  <clm@cygnus.com>
1742
1743         * elflink.h (elf_gc_sections):  Do not allow garbage
1744         collection if dynamic sections have been created.
1745
1746 Mon Oct  5 09:07:37 1998  Catherine Moore  <clm@cygnus.com>
1747
1748         * elf32-v850.c: Add HOWTO entries for R_V850_GNU_VTINHERIT and
1749         R_V850_GNU_VTENTRY.
1750         (v850_elf_check_relocs):  Handle VTINHERIT and VTENTRY relocs.
1751         (v850_elf_perform_relocation):  Likewise.
1752         (v850_elf_final_link_relocate):  Likewise.
1753         (v850_elf_relocate_section):  Likewise.
1754         (v850_elf_gc_sweep_hook):  New routine.
1755         (v850_elf_gc_mark_hook):  New routine.
1756         (elf_backend_can_gc_sections):  Define.
1757
1758 Mon Oct  5 09:04:25 1998  Catherine Moore  <clm@cygnus.com>
1759
1760         * elf32-m68k.c (elf_m68k_gc_sweep_hook):  Don't assume
1761         that dynobj exists.
1762
1763 Sun Oct  4 23:29:34 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1764
1765         * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
1766         Declare size as bfd_size_type.
1767         (rs6000coff_get_section_contents): Declare count as bfd_size_type.
1768
1769 Sun Oct  4 20:38:29 1998  Jeffrey A Law  (law@cygnus.com)
1770
1771         * cpu-hppa.c (bfd_hppa20_arch): Define.  Link it into the bfd_hppa_arch
1772         structure.
1773         * som.c (CPU_PA_RISC2_0): Define.
1774         (_PA_RISC2_0_ID): Likewise.
1775         (som_finish_writing): Use CPU_PA_RISC2_0 for the system_id as needed.
1776
1777 Sun Oct  4 21:19:09 1998  Ian Lance Taylor  <ian@cygnus.com>
1778
1779         * elflink.h (elf_link_add_object_symbols): When a versioned symbol
1780         has a base which is already defined, only add the referenced
1781         symbol to the dynamic symbol table if it is defined or referenced
1782         by a regular file.
1783
1784         * elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs
1785         correctly.
1786
1787 1998-09-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1788
1789         * elflink.h (elf_link_add_object_symbols): Undo last change.
1790
1791 Wed Sep 23 16:09:31 1998  Richard Henderson  <rth@cygnus.com>
1792
1793         * elflink.h (elf_link_add_object_symbols): Don't record a dynamic
1794         symbol for the indirect alias to a versioned symbol.
1795
1796 Mon Sep 21 12:15:22 1998  Catherine Moore  <clm@cygnus.com>
1797
1798         * elf32-i386.c (elf32_i386_vtinherit_howto): New.
1799         (elf32_i386_vtentry_howto): New.
1800         (elf_i386_reloc_type_lookup):  Return elf32_i386_vtentry_howto
1801         or elf32_i386_vtinherit_howto  on lookup.
1802
1803 Sun Sep 20 00:48:07 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1804
1805         * elf32-m68k.c: Include "elf/m68k.h".  Remove definition of enum
1806         reloc_type.  Rename R_68K__max to R_68K_max.
1807         (howto_table): Use _bfd_elf_rel_vtable_reloc_fn for a VTENTRY
1808         reloc.
1809
1810 Sun Sep 20 00:09:25 1998  Chris Torek  <torek@bsdi.com>
1811
1812         * libbfd.c (bfd_getb32): Rewrite expression to get better code.
1813         (bfd_getl32, bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
1814
1815         * libbfd.c (bfd_log2): Cast to bfd_vma before shifting, not
1816         after.
1817
1818 Sat Sep 19 22:42:23 1998  Doug Rabson  <dfr@nlsystems.com>
1819
1820         * elflink.h (elf_link_add_object_symbols): Ensure that the warning
1821         message has a null byte terminator.
1822
1823 Fri Sep 18 14:35:29 1998  Nick Clifton  <nickc@cygnus.com>
1824
1825         * elf32-v850.c (v850_elf_perform_relocation): Ignore contents of
1826         word subject to R_V850_32 relocation.
1827
1828 Thu Sep 17 17:20:36 1998  Nick Clifton  <nickc@cygnus.com>
1829
1830         * dwarf2.c: Add comment describing problem computing line numbers
1831         for undefined symbols at link time.
1832
1833 Thu Sep 17 16:03:28 1998  Richard Henderson  <rth@cygnus.com>
1834
1835         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
1836         transform a defweak into a plt entry.
1837         (elf64_alpha_calc_dynrel_sizes): Allow room for secondary
1838         plt entry references to receive a RELATIVE reloc.
1839         (elf64_alpha_finish_dynamic_symbol): Fill them in.
1840         (elf64_alpha_relocate_section): Assert we don't overrun
1841         the allocated relocation space.
1842
1843 Wed Sep 16 18:03:13 1998  Nick Clifton  <nickc@cygnus.com>
1844
1845         * elf.c (swap_out_syms): Always treat section symbols as
1846         special, even if they are attached to a common section.
1847
1848 Wed Sep 16 10:34:13 1998  Nick Clifton  <nickc@cygnus.com>
1849
1850         * elf32-v850.c (v850_elf_symbol_processing): Move symbols in
1851         sections with v850 common section attributes into named v850
1852         common sections.
1853         (v850_elf_add_symbol_hook): Move symbols in sections with v850
1854         common section attributes into named v850 common sections.
1855
1856 Wed Sep 16 11:26:49 CDT 1998  Catherine Moore  <clm@cygnus.com>
1857
1858         * elf32-arm.c (elf32_arm_gc_mark_hook):  Remove print
1859         statement.
1860
1861 1998-09-15  Geoff Keating  <geoffk@ozemail.com.au>
1862
1863         * elf32-ppc.c (ppc_elf_relocate_section): Reverse output_offset
1864         part of Vladimir's change of 1998-08-19.  Make a R_PPC_SDAREL16
1865         reloc to the wrong section a warning, not an error.  .dynsbss
1866         is not an output section, so there is no need to check for it.
1867
1868 Tue Sep 15 12:40:05 1998  Catherine Moore  <clm@cygnus.com>
1869
1870        * elf-bfd.h:  Add argument to elf_backend_get_symbol_type.
1871
1872 Tue Sep 15 08:34:40 1998  Catherine Moore  <clm@cygnus.com>
1873
1874        * elf.c (swap_out_syms):  Pass type to elf_backend_get_symbol_type.
1875        * elf32-arm.c:  Add HOWTO entries for R_ARM_GNU_VTINHERIT and
1876        R_ARM_GNU_VTENTRY.
1877        (elf32_arm_gc_mark_hook): New.
1878        (elf32_arm_gc_sweep_hook): New.
1879        (elf32_arm_check_relocs): New.
1880        (elf32_arm_final_link_relocate):  Handle VTINHERIT and VTENTRY
1881        relocations.
1882        (elf32_arm_relocate_section): Handle VTINHERIT and VTENTRY
1883        relocations.
1884
1885 1998-09-10  Geoff Keating  <geoffk@ozemail.com.au>
1886
1887         * elf32-ppc.c (ppc_elf_relocate_section): If dynobj is NULL,
1888         assume there is no PLT or GOT.
1889
1890 Wed Sep  9 14:24:12 1998  Nick Clifton  <nickc@cygnus.com>
1891
1892         * elf32-arm.c (elf32_arm_find_nearest_line): New function:  just
1893         like _elf_bfd_find_nearest_line() except that STT_ARM_TFUNC is
1894         also accepted as a function symbol type.
1895
1896 Mon Sep  7 13:24:03 1998  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
1897
1898         * rs6000-core.c (_LONG_LONG):  Define for AIX 4.x only.
1899
1900 Sat Sep  5 20:40:18 1998  Ian Lance Taylor  <ian@cygnus.com>
1901
1902         * libbfd-in.h (_bfd_nolink_bfd_gc_sections): Correct definition to
1903         match definition of _bfd_gc_sections field.
1904         * libbfd.h: Rebuild.
1905
1906 Fri Sep  4 13:54:23 1998  David Miller  <davem@dm.cobaltmicro.com>
1907
1908         * elf32-sparc.c (elf32_sparc_relocate_section): Properly adjust
1909         the addend of a dynamic relocation referencing a section.
1910         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1911         (sparc64_elf_finish_dynamic_symbol): Fix the PLT relocation offset.
1912
1913 Thu Sep  3 17:28:50 1998  Richard Henderson  <rth@cygnus.com>
1914
1915         * elflink.h (bfd_elfNN_size_dynamic_sections): Verify that the
1916         bed has a size_dynamic_sections routine before trying to use it.
1917
1918 Mon Aug 31 14:49:22 1998  Richard Henderson  <rth@cygnus.com>
1919
1920         * elf32-mips.c (elf_mips_gnu_vtentry_howto): Use
1921         _bfd_elf_rel_vtable_reloc_fn.
1922
1923 Mon Aug 31 10:23:40 1998  Catherine Moore  <clm@cygnus.com>
1924
1925         * Makefile.am:  Add elf32-arm.c.
1926         * Makefile.in:  Rebuild.
1927         * elf-bfd.h:  Add elf_backend_get_symbol_type.
1928         * elf.c (swap_out_syms):  If defined, call
1929         elf_backend_get_symbol_type.
1930         * elf32-arm.c: Define elf_backend_get_symbol_type.
1931         (elf32_arm_get_symbol-type):  New routine.
1932         (record_thumb_to_arm_glue):  Change to use STT_ARM_TFUNC.
1933         (bfd_elf32_arm_process_before_allocation):  Change to
1934         check for STT_ARM_TFUNC.
1935         (elf32_arm_final_link_relocate):  Likewise.
1936         * elfxx-target.h:  Add elf_backend_get_symbol_type.
1937
1938 Fri Aug 28 19:44:07 1998  Richard Henderson  <rth@cygnus.com>
1939
1940         * archures.c (bfd_mach_alpha_ev[456]): New.
1941         * cpu-alpha.c: Rework to match these types.
1942         * bfd-in2.h: Rebuild.
1943
1944 Fri Aug 28 19:38:53 1998  Richard Henderson  <rth@cygnus.com>
1945
1946         * elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare.
1947         * elf.c (_bfd_elf_rel_vtable_reloc_fn): New.
1948
1949         * elf32-i386.c (elf_howto_table): Add vtable relocs.
1950         (elf_i386_reloc_type_lookup): Recognize them.
1951         (elf_i386_check_relocs): Pass them off to generic code.
1952         (elf_i386_relocate_section): Ignore them.
1953         (elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New.
1954         (elf_backend_can_gc_sections): True.
1955
1956 Thu Aug 20 15:03:45 1998  Nick Clifton  <nickc@cygnus.com>
1957
1958         * elf32-arm.c (elf32_thumb_to_arm_stub): Check sym_sec is not NULL
1959         before looking at owner field.
1960         (elf32_arm_to_thumb_stub): Ditto.
1961         (elf32_arm_relocate_section): Compute name before calling
1962         elf32_arm_final_link_relocate().
1963
1964 Thu Aug 20 11:30:17 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
1965
1966         * elf.c: comment and formatting cleanups.
1967         * elfcore.h: ditto.
1968
1969 Wed Aug 19 15:43:26 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
1970
1971         * elfcode.h (elf_object_p): Reject files of header type ET_CORE
1972         (core files are treated differently than object files).
1973         * elf-bfd.h (_bfd_elf_write_corefile_contents,
1974         bfd_elf_mkcorefile): declare.
1975         * elfxx-target.h (_bfd_elf_write_corefile_contents,
1976         bfd_elf_mkcorefile): add to bfd_target vector.
1977         * elfcore.h (elf_core_file_p): save the program header table,
1978         and set the bfd architecture from the elf file header.
1979         * elf.c (bfd_elf_mkcorefile): new function.
1980         (_bfd_elf_write_corefile_contents): new function.
1981         (assign_file_positions_for_segments): add cases for handling
1982         PT_NOTE segments.  (assign_file_positions_except_relocs):
1983         core files should be handled the same as exec files.
1984         (prep_headers): identify core files as type ET_CORE.
1985         (copy_private_bfd_data): identify the sections belonging to
1986         the PT_NOTE segment.
1987
1988         * elf32-sparc.c (elf32_sparc_final_write_processing):
1989         add break statement to default case.
1990
1991 1998-08-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
1992
1993         * elf32-ppc.c (ppc_elf_relocate_section): Check that output
1994         section (not input) will be in sections ".sbss", ".sbss2",
1995         ".sdata", and ".sdata" for R_PPC_SDAREL16, R_PPC_EMB_SDA2REL,
1996         R_PPC_EMB_SDA21, R_PPC_EMB_RELSDA.  In all these cases also ignore
1997         output_offset for correct evaluation of addend.
1998
1999 Tue Aug 18 11:48:12 1998  Catherine Moore  <clm@cygnus.com>
2000
2001         * elf32-arm.c: Add prefix bfd_ to elf32_arm_get_bfd_for_interworking,
2002         elf32_arm_allocate_interworking_sections and
2003         elf32_arm_process_before_allocation.
2004
2005 Tue Aug 18 11:46:00 1998  Nick Clifton  <nickc@cygnus.com>
2006
2007         * bfd-in.h: Ammend prototype for
2008         elf32_arm_process_before_allocation to remove surplus third
2009         argument.
2010
2011         * bfd-in2.h: Regenerate.
2012
2013 Sat Aug 15 20:55:08 1998  Richard Henderson  <rth@cygnus.com>
2014
2015         * elf64-alpha.c (elf64_alpha_relax_section): Handle indirect symbols.
2016
2017 Fri Aug 14 09:12:28 1998  Stan Cox  <scox@cygnus.com>
2018
2019         * aoutx.h (aout_link_input_section_ext): Use the relocation already
2020         calculated for RELOC_SPARC_REV32 case.
2021
2022 Thu Aug 13 14:02:02 1998  Catherine Moore  <clm@cygnus.com>
2023
2024        * bfd-in.h:  Add prototypes for elf32_arm_get_bfd_for_interworking,
2025        elf32_arm_allocate_interworking_sections and
2026        elf32_arm_process_before_allocation.
2027        * bfd-in2.h:  Regenerated.
2028        * elf32-arm.c Define elf32_arm_link_hash_table.
2029        (insert_thumb_branch): New routine.
2030        (find_thumb_glue): New routine.
2031        (find_arm_glue): New routine.
2032        (record_arm_to_thumb_glue): New routine.
2033        (record_thumb_to_arm_glue): New routine.
2034        (elf32_arm_link_hash_table_create): New routine.
2035        (elf32_arm_get_bfd_for_interworking): New routine.
2036        (elf32_arm_allocate_interworking_sections) New routine.
2037        (elf32_arm_process_before_allocation) New routine.
2038        (elf32_thumb_to_arm_stub): New routine.
2039        (elf32_arm_to_thumb_stub): New routine.
2040        (elf32_print_private_bfd_data): Fix typo.
2041        (elf32_arm_final_link_relocate):  Add argument sym_sec.
2042        Check for branches to thumb symbols in case R_ARM_PC24.
2043        Check for branches to arm symbols in case R_ARM_THM_PC22.
2044        (elf32_arm_relocate_section):  Pass symbol section to
2045        elf32_arm_final_link_relocate.
2046
2047 Wed Aug 12 19:00:39 1998  Geoff Keating  <geoffk@ozemail.com.au>
2048
2049         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT
2050         entries unless the symbol is defined in the executable; in
2051         particular, undefined weak symbols get a PLT entry.
2052
2053 Wed Aug 12 14:48:33 1998  Ian Lance Taylor  <ian@cygnus.com>
2054
2055         * libaout.h: Remove nested comment to avoid warning.
2056
2057 Wed Aug 12 08:10:11 1998 Catherine Moore  <clm@cygnus.com>
2058
2059        * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
2060        R_ARM_PC24 relocation.
2061
2062 Tue Aug 11 14:42:26 1998  Catherine Moore  <clm@cygnus.com>
2063
2064        * elf32-arm.c (elf32_arm_final_link_relocate):  Remove unused
2065        argument is_local.  Add argument sym_flags.  Check sym_flags
2066        in R_ARM_ABS32 case.  Include addend for R_ARM_THM_PC22 case.
2067        (elf32_arm_relocate_section):  Don't pass local sym and pass
2068        sym_flags to elf32_arm_final_link_relocate.
2069
2070 Mon Aug 10 20:38:39 1998  Richard Henderson  <rth@cygnus.com>
2071
2072         * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change
2073         to not count too few relocs for dynamicly linked executables.
2074
2075 Mon Aug 10 15:35:34 1998  Richard Henderson  <rth@cygnus.com>
2076
2077         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider
2078         symbols without a dynamic index dynamic.  Consider all weak
2079         symbols dynamic.
2080         (elf64_alpha_strip_section_from_output): Don't assume 1-1
2081         correspondance between input and output sections.
2082
2083 Mon Aug 10 15:31:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2084
2085         * elflink.h (elf_gc_common_finalize_got_offsets): For backends
2086         that use a .got.plt section start the got offset at zero.
2087
2088 Mon Aug 10 17:31:21 1998  Ian Lance Taylor  <ian@cygnus.com>
2089
2090         * ieee.c (ieee_write_processor): Correct the processor ID written
2091         out for bfd_arch_m68k, accommodating change of March 25.
2092
2093 Sun Aug  9 20:55:44 1998  Catherine Moore  <clm@cygnus.com>
2094
2095         * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
2096         R_ARM_THM_RPC22 relocations.
2097
2098 Sat Aug  8 15:15:30 1998  Richard Henderson  <rth@cygnus.com>
2099
2100         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
2101         are always dynamic.
2102         (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
2103         .got relocs in -Bsymbolic shared objects.
2104
2105 Wed Aug  5 15:48:08 1998  Nick Clifton  <nickc@cygnus.com>
2106
2107         * elf32-arm.c: Add private flags to ELF header.
2108         (elf32_arm_print_private_bfd_data): New Function.
2109         (elf32_arm_set_private_flags): New Function.
2110         (elf32_arm_copy_private_flags): New Function.
2111         (elf32_arm_merge_private_bfd_data): New Function.
2112
2113 Mon Aug  3 17:10:15 1998  Ian Lance Taylor  <ian@cygnus.com>
2114
2115         * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against
2116         a local symbol.
2117         (elf32_sparc_relocate_section): Likewise.
2118
2119 Sun Aug  2 03:19:23 1998  Richard Henderson  <rth@cygnus.com>
2120
2121         * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL.  Create the
2122         .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_.
2123         (ppc_elf_relocate_section): Pull sgot and splt search to the start
2124         of the function.  Recognize no .plt as static linking.
2125
2126 1998-08-01  Ulrich Drepper  <drepper@cygnus.com>
2127
2128         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass
2129         ".liblist" string through gettext.
2130
2131 Fri Jul 31 16:38:14 1998  Catherine Moore  <clm@cygnus.com>
2132
2133         * Makefile.am: Add support for elf32-arm.lo.
2134         * Makefile.in: Rebuild.
2135         * config.bfd (arm-*-elf):  Define targ_defvec and targ_selvecs.
2136         (thumb-*-elf): Define targ_defvec and targ_selvecs.
2137         * configure.in:  Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec.
2138         * configure: Regenerate.
2139         * elf.c: (prep_headers):  Support arch_type of EM_ARM.
2140         * targets.c:  Support new targets bfd_elf32_bigarm_vec and
2141         bfd_target bfd_elf32_littlearm_vec.
2142         * elf32-arm.c:  New file.
2143
2144 Tue Jun 28 19:05:28 1998  Stan Cox  <scox@cygnus.com>
2145
2146         * libaout.h (M_SPARCLITE_LE): New machine.
2147         * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE.
2148         * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE.
2149         (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le
2150         * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32.
2151         (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le
2152         (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support.
2153         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
2154         elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32
2155         * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to
2156         be BFD_RELOC_SPARC_REV32.
2157         * reloc.c: Ditto.
2158         * config.bfd (sparc86x-*-aout): New
2159
2160 Fri Jul 24 13:54:19 1998  Nick Clifton  <nickc@cygnus.com>
2161
2162         * linker.c (_bfd_generic_final_link): Allocate NULL symbol before
2163         actually mapping the output sections.
2164
2165 Fri Jul 24 11:24:29 1998  Jeffrey A Law  (law@cygnus.com)
2166
2167
2168         * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry.
2169         (mn10300_elf_reloc_map): Similarly.
2170         (mn10300_elf_final_link_relocate): Handle R_MN10300_24.
2171
2172 Fri Jul 24 12:36:04 1998  Ian Lance Taylor  <ian@cygnus.com>
2173
2174         * elf32-mips.c (elf_mips_howto_table): Add reloc types used on
2175         Irix 6.
2176         (bfd_elf32_bfd_reloc_type_lookup): Add default case.
2177         * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with
2178         elf_mips_reloc_type defined in elf/mips.h.
2179
2180 1998-07-24  Ulrich Drepper  <drepper@cygnus.com>
2181
2182         * elf64-mips.c: Remove reloc_type definition completely.  It's now
2183         in elf/mips.h.
2184
2185 Thu Jul 23 13:33:19 1998  Doug Evans  <devans@canuck.cygnus.com>
2186
2187         * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations
2188         as they are defined in elf/mips.h now.
2189
2190 Thu Jul 23 11:29:43 1998  Jeffrey A Law  (law@cygnus.com)
2191
2192
2193         * Re-add lost change:
2194         * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
2195         "movm_stack_size".
2196         (mn10300_elf_relax_section): Include stack space for register saves
2197         in the imm8 field of a "call" instruction.
2198         (compute_function_info): Determine how much stack is allocated by
2199         the movm instruction.  Fix typo.
2200         (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
2201
2202 Thu Jul 23 11:38:05 1998  Ian Lance Taylor  <ian@cygnus.com>
2203
2204         * elf32-sparc.c (elf_backend_got_header_size): Define as 4.
2205         * elf64-sparc.c (elf_backend_got_header_size): Define as 8.
2206
2207 1998-07-22  Ulrich Drepper  <drepper@cygnus.com>
2208
2209         * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type.
2210
2211 Wed Jul 22 16:27:18 1998  Nick Clifton  <nickc@cygnus.com>
2212
2213         * elf32-hppa.h: Let ELF header define the enum containing the
2214         external reloc numbers.
2215         * elf32-i386.h: Likewise.
2216
2217 1998-07-22 14:57  Ulrich Drepper  <drepper@cygnus.com>
2218
2219         * elf-m10300.c: Let ELF header now define the macros to get the enum.
2220         * elf32-mips.c: Likewise.
2221         * elf32-ppc.c: Likewise.
2222
2223 Wed Jul 22 13:53:52 1998  Nick Clifton  <nickc@cygnus.com>
2224
2225         * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in
2226         bfd_coff_set_symbol_class(), in order to avoid K&R compatability
2227         prblems.
2228         * bfd-in.h: Regenerate.
2229         * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class'
2230         parameter to 'unsigned int' to avoid K&R compatability problems.
2231
2232 Wed Jul 22 16:43:24 1998  Ian Lance Taylor  <ian@cygnus.com>
2233
2234         * ieee.c (ieee_find_nearest_line): Change filename_ptr and
2235         functionname_ptr to be const.  Change line_ptr to be unsigned.
2236
2237         * coffcode.h (coff_link_output_has_begun): Simplify handling when
2238         macro is not defined.  Change second parameter from bfd_link_info
2239         to coff_final_link_info.  Add prototype.
2240         (coff_final_link_postscript): Simplify handling when macro is not
2241         defined.  Add prototype.
2242
2243 1998-07-22 13:08  Ulrich Drepper  <drepper@cygnus.com>
2244
2245         * elf-mn10300.c: Before include system specific ELF header define
2246         START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
2247         * elf32-mips.c: Likewise.
2248         * elf32-ppc.c: Likewise.
2249
2250 Wed Jul 22 13:46:51 1998  Ian Lance Taylor  <ian@cygnus.com>
2251
2252         * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
2253         temporary patch over to elf64-mips.c as well.
2254
2255 1998-07-21  Ulrich Drepper  <drepper@cygnus.com>
2256
2257         * elf32-mips.c (reloc_type): Temporarily disable definition of
2258         standard relocation since they are now defined in elf/mips.h.
2259
2260 Tue Jul 21 09:47:00 1998  Catherine Moore  <clm@cygnus.com>
2261
2262         * elf-m10200.c (mn10200_elf_final_link_relocate):
2263         Modify range test for case R_MN10200_8.
2264
2265         * elf-m10300.c (mn10300_elf_final_link_relocate):
2266         Modify range test for case R_MN10300_8.
2267
2268 Mon Jul 20 18:50:54 1998  Richard Henderson  <rth@cygnus.com>
2269
2270         * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size.
2271         * elf32-i386.c (elf_backend_got_header_size): Define.
2272         (elf_backend_plt_header_size): Define.
2273         * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise.
2274         * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise.
2275         * elfxx-target.h: Provide a default of zero.
2276         * elflink.c (_bfd_elf_create_got_section): Use got_header_size.
2277         * elflink.h (elf_gc_common_finalize_got_offsets): Likewise.
2278
2279         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT
2280         entry from an executable, even if the plt refcount goes to 0.
2281
2282 Mon Jul 20 12:47:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2283
2284         * aoutx.h (NAME(aout,find_nearest_line)): Also remember the
2285         directory name at the line number.
2286
2287         * elf.c (_bfd_elf_find_nearest_line): Also consider symbols
2288         with an unspecified type.
2289
2290 Wed Jul 15 11:20:01 1998  Ian Lance Taylor  <ian@cygnus.com>
2291
2292         * sunos.c: Add undef of valid to avoid problem on SunOS.
2293
2294 Tue Jul 14 15:30:59 1998  Richard Henderson  <rth@cygnus.com>
2295
2296         * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize.
2297
2298 Tue Jul 14 11:22:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2299
2300         * elf32-m68k.c (elf_m68k_check_relocs): Also reference count
2301         R_68K_PCxx and R_68K_xx relocations.  Make sure that
2302         ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference.
2303         (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and
2304         R_68K_xx relocations.
2305         (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol
2306         that has no plt entry.
2307         (elf_m68k_relocate_section): Ignore the plt offset in a static
2308         link.
2309         * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for
2310         an ignored symbol.
2311         (elf_gc_common_finalize_got_offsets): Set the got offsets also in
2312         a static link.
2313
2314         * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc
2315         types.
2316         (howto_table, reloc_map): Add entries for them.
2317         (elf_m68k_check_relocs): Handle them.  Implement reference
2318         counting for got and plt entries.
2319         (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions.
2320         (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt
2321         symbols.
2322         (rtype_to_howto_rel, elf_info_to_howto_rel): Delete.
2323         (elf_m68k_relocate_section): Handle the new reloc types.
2324         (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook,
2325         elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define.
2326         * elflink.h (elf_link_add_object_symbols): When creating an
2327         indirect reference for symbol versioning also copy the plt
2328         offset.
2329         (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT
2330         flag also reset the plt offset.
2331         (elf_link_assign_sym_version): Likewise.
2332         (elf_gc_common_finalize_got_offsets): Increment the got offset by
2333         the size of the entry in bytes.
2334         (elf_gc_allocate_got_offsets): Likewise.
2335
2336 Tue Jul 14 11:18:14 1998  Ian Lance Taylor  <ian@cygnus.com>
2337
2338         * elflink.h (elf_gc_sections): Return true rather than falling off
2339         the bottom.
2340
2341         * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not
2342         xmalloc.
2343
2344 Mon Jul 13 11:06:31 1998  Nick Clifton  <nickc@cygnus.com>
2345
2346         * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a
2347         comment describing when it should be enabled.
2348         Changed definition of USER_LABEL_PREFIX to "", to fall into line
2349         with GCC sources.
2350
2351 Mon Jul 13 13:06:54 1998  Ian Lance Taylor  <ian@cygnus.com>
2352
2353         * ieee.c (ieee_slurp_external_symbols): Handle call optimization
2354         information ATN records.
2355
2356 Fri Jul 10 16:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
2357
2358         * ieee.c (ieee_slurp_external_symbols): Select an appropriate
2359         section for an absolute symbol in a fully linked file.  Based on
2360         patch from Christian Holland <CHolland@de.lucent.com>.
2361
2362 Wed Jul  8 11:29:56 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2363
2364         * coff-m88k.c (m88k_special_reloc): Don't lose the information
2365         that a symbol is undefined.
2366
2367 Tue Jul  7 21:47:02 1998  Jeffrey A Law  (law@cygnus.com)
2368
2369         * som.c (som_bfd_gc_sections): Define.
2370
2371 Mon Jul  6 11:35:50 1998  Nick Clifton  <nickc@cygnus.com>
2372
2373         * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about
2374         overflows in ARM_26D patches, since they have already been
2375         implmented.  Patch submitted by Dr. R.J. Black <rjb@dcs.gla.ac.uk>
2376
2377 Sat Jul  4 12:25:36 1998  Ian Lance Taylor  <ian@cygnus.com>
2378
2379         * coffcode.h (coff_write_object_contents): If we have any long
2380         section names, call coff_write_symbols even if there are no
2381         symbols.
2382
2383 Fri Jul  3 13:11:35 1998  Ian Lance Taylor  <ian@cygnus.com>
2384
2385         * elf.c (copy_private_bfd_data): Only set phdr_included once for a
2386         PT_LOAD segment, rather than only setting it once for the entire
2387         file.
2388
2389         * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
2390         rather than ignoring every phdr with a p_paddr of 0, ignore all
2391         the phdrs if they all have a p_paddr of 0.
2392
2393         * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr
2394         section was discarded from the link.
2395
2396 Fri Jul  3 14:39:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2397
2398         * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
2399
2400 Fri Jul  3 14:35:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2401
2402         * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
2403         floating point operations.
2404
2405 Thu Jul  2 18:37:25 1998  Ian Lance Taylor  <ian@cygnus.com>
2406
2407         * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global
2408         function symbols.
2409
2410 Thu Jul  2 14:59:42 1998  Klaus Kaempf  <kkaempf@rmi.de>
2411
2412         Merge of vax/vms (read-only) support
2413         * configure.com: Support Vax target.
2414         * makefile.vms: Support Vax target.
2415         * vms.h: Renamed from evax.h, merged vax/vms (read-only) support.
2416         * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only)
2417         support.
2418         * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only)
2419         support.
2420         * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only)
2421         support.
2422         * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only)
2423         support.
2424         * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only)
2425         support.
2426         * libbfd.c (real_read): Use unbuffered read on VMS/Vax.
2427         * targets.c (bfd_target_ovax_flavour): New flavour.
2428         (vms_alpha_vec): Renamed from evax_alpha_vec.
2429         (vms_vax_vec): New.
2430         (target_vector): Update accordingly.
2431         * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not
2432         evax_alpha_vec.
2433         (vax*-*-*vms*): New target.
2434         * Makefile.am: Update for renamed files.  Rebuild dependencies.
2435         * bfd-in2.h: Rebuild.
2436         * configure.in, Makefile.in, aclocal.m4: Rebuild.
2437
2438 Thu Jul  2 13:31:55 1998  Ian Lance Taylor  <ian@cygnus.com>
2439
2440         Based on patch from Matt Semersky <matts@scd.hp.com>:
2441         * linker.c (_bfd_generic_final_link): Force a trailing NULL
2442         pointer on abfd->outsymbols.
2443         (generic_add_output_symbol): Handle NULL sym parameter.
2444
2445 Wed Jul  1 17:05:53 1998  Nick Clifton  <nickc@cygnus.com>
2446
2447         * elf.c (copy_private_bfd_data): Add support for changing VMA or
2448         LMA of sections.
2449
2450 Wed Jul  1 16:58:50 1998  Ian Lance Taylor  <ian@cygnus.com>
2451
2452         * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons
2453         when handling 32 bit immediate relocs.
2454         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
2455
2456 Tue Jun 30 09:55:03 1998  Jeffrey A Law  (law@cygnus.com)
2457
2458         * section.c (STD_SECTION): Account for recently added gc_mark
2459         field in struct asection.
2460
2461         * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
2462         (bfd_elf32_bfd_merge_private_bfd_data): Define.
2463
2464 Thu Jun 25 18:31:41 1998  Richard Henderson  <rth@cygnus.com>
2465
2466         ELF Section-level Garbage Collection:
2467         * bfd.c (bfd_gc_sections): New.
2468         * aout-adobe.c: Hook to default implementation.
2469         * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise.
2470         * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise.
2471         * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise.
2472         * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise.
2473         * tekhex.c, versados.c: Likewise.
2474         * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New.
2475         * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections.
2476
2477         * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New.
2478         (bfd_generic_gc_sections): New.
2479         * section.c (SEC_KEEP): New.
2480         (asection): Add gc_mark member.
2481
2482         * elfcode.h (elf_gc*): New name remappings.
2483         * elflink.h (elf_link_input_bfd): Don't set contents on stabs
2484         sections to be excluded.
2485         (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New.
2486         (elf_gc_propogate_vtable_entries_used): New.
2487         (elf_gc_smash_unused_vtentry_relocs): New.
2488         (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New.
2489         (elf_gc_common_finalize_got_offsets): New.
2490         (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New.
2491         * elfxx-target.h: Add and default gc hooks.
2492
2493         * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset
2494         for unions.
2495         (struct elf_obj_tdata): Likewise for local_got_offsets.
2496         * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses.
2497         * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise.
2498         * elf64-sparc.c, elflink.h: Likewise.
2499
2500         * elf-bfd.h (struct elf_link_hash_entry): Add vtable members.
2501         (ELF_LINK_HASH_MARK): Define.
2502         (struct elf_backend_data): Add GC hooks.
2503         * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members.
2504
2505         * elf-m10300.c (mn10300_elf_check_relocs): New.
2506         (mn10300_elf_gc_mark_hook): New.
2507         (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New.
2508         (elf_mn10300_howto, mn10300_reloc_map): Handle them.
2509         (mn10300_elf_final_link_relocate): Likewise.
2510         (mn10300_elf_relocate_section): Likewise.
2511         (elf_backend_can_gc_sections): Define.
2512         * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New.
2513         (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New.
2514         (bfd_elf32_bfd_reloc_type_lookup): Handle them.
2515         (mips_info_to_howto_rel): Likewise.
2516         (mips_elf_relocate_section): Likewise.
2517         (mips_elf_check_relocs): Likewise.
2518         (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New.
2519         (elf_backend_can_gc_sections): Define.
2520         * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New.
2521         (ppc_elf_howto_raw): Handle them.
2522         (ppc_elf_reloc_type_lookup): Likewise.
2523         (ppc_elf_relocate_section): Likewise.
2524         (ppc_elf_check_relocs): Reference count .got and .plt entires.
2525         Handle new vtable relocs.
2526         (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries.
2527         (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New.
2528         (elf_backend_can_gc_sections): Define.
2529
2530 Fri Jun 26 10:48:23 1998  Jeffrey A Law  (law@cygnus.com)
2531
2532         * archures.c (bfd_mach_mn10300): Define.
2533         * elf-m10300.c: Include elf/mn10300.h
2534         (elf_mn10300_mach): New function.
2535         (_bfd_mn10300_elf_final_write_processing): Likewise.
2536         (_bfd_mn10300_elf_object_p): Likewise.
2537         (elf_backendfinal_write_processing): Define.
2538         (elf_backend_object_p): Likewise.
2539
2540 Thu Jun 25 18:31:08 1998  Nick Clifton  <nickc@cygnus.com>
2541
2542         * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S
2543         relocation.
2544
2545 Wed Jun 24 17:17:57 1998  Ian Lance Taylor  <ian@cygnus.com>
2546
2547         * elflink.h (elf_bfd_final_link): Loop over input_bfds using the
2548         link_next field, not the next field.
2549
2550 Sun Jun 21 19:38:39 1998  Ian Lance Taylor  <ian@cygnus.com>
2551
2552         * elf.c (map_sections_to_segments): Check the section address
2553         against the phdr size both with and without a modulo of
2554         maxpagesize.
2555
2556 Fri Jun 19 17:08:18 1998  Ian Lance Taylor  <ian@cygnus.com>
2557
2558         * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a
2559         linker created empty input section if the output section has the
2560         same name.
2561
2562         * elflink.h (elf_link_output_extsym): Print an error message if
2563         _bfd_elf_section_from_bfd_section fails.
2564
2565         * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on
2566         failure.
2567
2568 Tue Jun 16 11:55:55 1998  Ian Lance Taylor  <ian@cygnus.com>
2569
2570         * elf.c (copy_private_bfd_data): Improve handling of Solaris
2571         native linker output.  Avoid putting an empty section in more than
2572         one segment.
2573
2574 Fri Jun 12 13:30:17 1998  Tom Tromey  <tromey@cygnus.com>
2575
2576         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
2577         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
2578
2579 Fri Jun 12 13:34:02 1998  Doug Evans  <devans@canuck.cygnus.com>
2580
2581         * elf.c (swap_out_syms): New arg relocatable_p.
2582         Don't add section VMA to symbols for relocatable output.
2583         (_bfd_elf_compute_section_file_positions): Update call to
2584         swap_out_syms.
2585
2586 Mon Jun  8 15:20:57 1998  Nick Clifton  <nickc@cygnus.com>
2587
2588         * elf32-v850.c (v850_elf_perform_relocation): Make comparisons
2589         against 'addend' be signed rather than unsigned.
2590
2591 Sat Jun  6 00:31:21 1998  Nick Clifton  <nickc@cygnus.com>
2592
2593         * elf32-m32r.c: Add prototyps for static functions.
2594
2595         * coff-arm.c: Add prototypes for static functions.
2596
2597 Fri Jun  5 17:21:51 1998  Nick Clifton  <nickc@cygnus.com>
2598
2599         * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the
2600         LMA is used to order sections in a segment.
2601
2602         * elf32-v850.c: Add prototypes for static functions.
2603         Change type of addend parameter to bfd_vma in various functions.
2604
2605 Fri Jun  5 18:09:58 1998  Ian Lance Taylor  <ian@cygnus.com>
2606
2607         * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
2608         complain_overflow_signed instead of complain_overflow_bitfield.
2609
2610 Fri Jun  5 15:11:11 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2611
2612         * elf.c (elf_map_symbols): Don't add section VMA to symbol value
2613         when comparing against 0.
2614
2615 Wed Jun  3 17:52:49 1998  Ian Lance Taylor  <ian@cygnus.com>
2616
2617         * Makefile.am (config.status): New target.
2618         * Makefile.in: Rebuild.
2619
2620 Wed Jun  3 12:18:24 1998  Stan Cox  <scox@equinox.cygnus.com>
2621
2622         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
2623         error if previous object endianness doesn't match current object.
2624
2625 Tue Jun  2 17:50:59 1998  Nick Clifton  <nickc@cygnus.com>
2626
2627         * elf32-v850.c (v850_elf_print_private_bfd_data): Call
2628         _bfd_elf_print_private)bfd_data ().
2629
2630 Tue Jun  2 15:29:35 1998  Ian Lance Taylor  <ian@cygnus.com>
2631
2632         * elflink.h (elf_merge_symbol): Don't always set type_change_ok
2633         and size_change_ok.
2634         (elf_link_add_object_symbols): Set type_change_ok and
2635         size_change_ok before calling elf_merge_symbol.
2636
2637         * elf32-mips.c (mips_elf_relocate_section): If we issue an
2638         undefined symbol error, don't also issue an overflow error.
2639
2640 Tue Jun  2 13:51:00 1998  Geoff Keating  <geoffk@ozemail.com.au>
2641
2642         * elf32-ppc.c (ppc_elf_relocate_section): The target of an
2643         R_PPC_LOCAL24PC relocation should be local; if not, print an error
2644         message instead of crashing.
2645
2646 Mon Jun  1 18:23:12 1998  Yuli Barcohen  <yuli.barcohen@telrad.co.il>
2647
2648         * archures.c (bfd_mach_cpu32): Define.
2649         (bfd_default_scan): Add case for 68060.  Fix 68332 case to use
2650         bfd_mach_cpu32.
2651         * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
2652         * ieee.c: Include <ctype.h>.
2653         (ieee_object_p): Parse out process ID string to make it more
2654         likely to be acceptable for bfd_scan_arch.
2655         * bfd-in2.h: Rebuild.
2656
2657 Mon Jun  1 11:12:02 1998  Nick Clifton  <nickc@cygnus.com>
2658
2659         * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
2660         _bfd_elf_print_private_bfd_data() so that the program header will
2661         be displayed.
2662
2663 Mon Jun  1 12:14:28 1998  Ian Lance Taylor  <ian@cygnus.com>
2664
2665         * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
2666         0x68.  Reindent.  Add some comments.
2667
2668 Fri May 29 09:58:08 1998  Nick Clifton  <nickc@cygnus.com>
2669
2670         * elf.c (copy_private_bfd_data): Adjust physical address of
2671         segment in output BFD to contain LMAs of its sections.
2672
2673 Tue May 26 19:37:47 1998  Stan Cox  <scox@equinox.cygnus.com>
2674
2675         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
2676         elf32_sparc_relocate_section): Added R_SPARC_32LE for little
2677         endian data 32 bit relocations.
2678         (elf32_sparc_merge_private_bfd_data): Check if linking little
2679         endian objects with big endian objects.
2680         (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
2681         (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
2682         * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
2683         * reloc.c: Same.
2684         * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
2685         * archures.c (bfd_mach_sparc_sparclite_le): New.
2686         * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
2687
2688 Thu May 21 16:59:28 1998  Nick Clifton  <nickc@cygnus.com>
2689
2690         * peicode.h (add_data_entry): Fix precedence of operators in if ()
2691         statement.
2692
2693 Tue May 19 18:41:19 1998  Ian Lance Taylor  <ian@cygnus.com>
2694
2695         * bfd-in.h: Move over patch to bfd-in2.h.
2696
2697         * reloc.c (bfd_check_overflow): Add casts before shifts which may
2698         not fit in 32 bits.
2699         (_bfd_relocate_contents): Likewise.
2700
2701 Mon May 18 14:44:15 1998  Nick Clifton  <nickc@cygnus.com>
2702
2703         * peicode.h (add_data_entry): If the section has no private data
2704         then do not create a Data Dictionary entry for it.
2705
2706 Mon May 18 00:09:28 1998  Richard Henderson  <rth@cygnus.com>
2707
2708         * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
2709         (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
2710         elf64_alpha_size_got_sections): Rewrite, handling multiple got
2711         subsections during relaxation more correctly.
2712
2713 Thu May 14 14:22:58 1998  Nick Clifton  <nickc@cygnus.com>
2714
2715         * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
2716         Add extra argument to bfd_arm_process_before_allocation ().
2717         * bfd-in.h: Reflect changes made in bfd-in2.h.
2718         * coffgen.c (bfd_coff_set_symbol_class): New function.  Set the
2719         coff class of a BFD symbol.
2720         * coff-arm.c: Add support for interworking between Thumb code and
2721         non-interworking aware ARM code.
2722
2723 Sun May 10 22:33:59 1998  Jeffrey A Law  (law@cygnus.com)
2724
2725         * po/Make-in (install-info): New target.
2726
2727 Thu May  7 17:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
2728
2729         * filemode.c: Remove; not used.
2730
2731         If sysdep.h includes a header file, don't include it again:
2732         * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
2733         <errno.h>.
2734         * aoutx.h: Don't include <string.h>.  Use "sysdep.h" rather than
2735         <sysdep.h>.
2736         * archive.c: Don't include <string.h> or <errno.h>.
2737         * evax-alpha.c; Don't include <stdio.h>.
2738         * evax-egsd.c: Likewise.
2739         * evax-etir.c: Likewise.
2740         * evax-misc.c: Likewise.
2741         * evax-emh.c: Likewise.  Also, don't include <sys/types.h>.
2742         * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
2743         <errno.h>.
2744         * hpux-core.c: Likewise.
2745         * netbsd-core.c: Likewise.
2746         * som.c: Likewise.
2747         * libbfd.c: Don't include <sys/types.h>.
2748         * nlmcode.h: Don't include <string.h>.
2749         * osf-core.c: Don't include <string.h> or <stdio.h>.
2750         * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
2751         <errno.h>, or <unistd.h>.
2752         * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
2753
2754 Thu May  7 13:12:50 1998  Klaus Kaempf  <kkaempf@progis.de>
2755
2756         * configure.com: If the version number can not be found in
2757         configure.in, set it to "unknown" rather than "2.8.1".
2758
2759 Wed May  6 09:46:05 1998  Gavin Koch  <gavin@cygnus.com>
2760
2761         * elf32-mips.c (elf_mips_mach): New.
2762         (_bfd_mips_elf_object_p): Use elf_mips_mach.
2763         (_bfd_mips_elf_final_write_processing): Use the names
2764         of machines, rather than the numbers.  Set both the ARCH
2765         and MACH in e_flags.  Handle a few more specific machines.
2766         (_bfd_mips_elf_merge_private_bfd_data): Merge both
2767         EF_MIPS_ARCH and EF_MIPS_MACH.
2768
2769 Tue May  5 21:01:53 1998  Richard Henderson  <rth@cygnus.com>
2770
2771         * syms.c (bfd_is_local_label): Revert last change.
2772         * srec.c (srec_write_symbols): Discard debugging symbols.
2773
2774 Tue May  5 23:36:06 1998  Ian Lance Taylor  <ian@cygnus.com>
2775
2776         * som.c: Include <ctype.h>.
2777         * som.h: Don't include sysdep.h.
2778
2779 Tue May  5 18:29:24 1998  Tom Tromey  <tromey@cygnus.com>
2780
2781         * libbfd.h: Rebuilt.
2782         * libbfd-in.h: Removed gettext includes and defines.
2783         * sysdep.h: Moved gettext-related includes and defines here.
2784
2785 Tue May  5 16:47:54 1998  Richard Henderson  <rth@cygnus.com>
2786
2787         * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
2788         an ad-hoc test.  Kill bogus #if 0 code.
2789         * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
2790
2791 Mon May  4 16:10:33 1998  Ian Lance Taylor  <ian@cygnus.com>
2792
2793         * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
2794         when generating a normal executable for a symbol defined in a
2795         regular file.  When copying a reloc into the output file, adjust
2796         the addend for a PC relative reloc against a global symbol.
2797
2798 Mon May  4 10:08:18 1998  Tom Tromey  <tromey@cygnus.com>
2799
2800         * libbfd.h: Rebuilt.
2801         * libbfd-in.h (_): Define as dgettext.
2802
2803 Mon May  4 11:02:23 1998  Ian Lance Taylor  <ian@cygnus.com>
2804
2805         * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
2806         not signed.
2807         * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
2808         when declaring parameter types.
2809         (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
2810
2811 Wed Apr 29 15:35:03 1998  Ian Lance Taylor  <ian@cygnus.com>
2812
2813         * config.bfd: If we include any ELF targets in targ_defvec and/or
2814         targ_selvecs, then add the generic ELF targets to targ_selvecs.
2815         * elf32-gen.c (dummy): New static const variable.
2816         (elf_generic_info_to_howto): New static function.
2817         (elf_generic_info_to_howto_rel): New static function.
2818         (elf_info_to_howto): Define as elf_generic_info_to_howto.
2819         (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
2820         * elf64-gen.c: Same changes as elf32-gen.c.
2821         * elfcode.h (elf_object_p): For the generic target, ignore a
2822         failure of bfd_default_set_arch_mach.  Fix indentation a bit.
2823
2824 Tue Apr 28 20:05:52 1998  Ian Lance Taylor  <ian@cygnus.com>
2825
2826         * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
2827         * configure: Rebuild.
2828
2829 Tue Apr 28 12:16:57 1998  Jason Molenda  (crash@bugshack.cygnus.com)
2830
2831         * config.bfd:  Update OSR5/Unixware patterns.
2832
2833 Mon Apr 27 18:02:24 1998  Richard Henderson  <rth@cygnus.com>
2834
2835         * elf.c (assign_file_positions_for_segments): Allow for holes
2836         between sections added by a link script.
2837
2838 Mon Apr 27 11:49:55 1998  Ian Lance Taylor  <ian@cygnus.com>
2839
2840         * configure.in: Change version number to 2.9.4
2841         * configure: Rebuild.
2842
2843         Based on patch from H.J. Lu <hjl@gnu.org>:
2844         * elf.c (bfd_elf_get_bfd_needed_list): New function.
2845         * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
2846         * bfd-in2.h: Rebuild.
2847
2848 Sat Apr 25 20:07:53 1998  Richard Henderson  <rth@cygnus.com>
2849
2850         * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
2851         Change all users.
2852
2853 Sat Apr 25 18:29:07 1998  Richard Henderson  <rth@cygnus.com>
2854
2855         * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
2856         (elf64_alpha_relax_section): Fill them in.
2857         (elf64_alpha_relax_opt_call): Implement more than a stub.
2858         (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
2859         alignment on .scommon.
2860         (elf64_alpha_merge_gots): Merge use counts as well.
2861
2862 Sat Apr 25 14:07:29 1998  Richard Henderson  <rth@cygnus.com>
2863
2864         * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
2865         for calculating a local symbol's address.
2866         (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
2867         Set the .got's cooked size as well as the raw size.
2868
2869 Fri Apr 24 09:16:00 1998  Nick Clifton  <nickc@cygnus.com>
2870
2871         * elf32-v850.c (v850_elf_print_private_bfd_data): Add
2872         internationalisation of printed information.
2873
2874         * coff-arm.c (coff_arm_print_private_bfd_data): Add
2875         internationalisation of printed information.
2876
2877 Fri Apr 24 12:09:18 1998  Ian Lance Taylor  <ian@cygnus.com>
2878
2879         * syms.c (struct indexentry): Change directory_name, file_name,
2880         and function_name fields to char *.
2881         (struct stab_find_info): Change cached_file_name field to char *.
2882
2883 Thu Apr 23 08:13:04 1998  Nick Clifton  <nickc@cygnus.com>
2884
2885         * peicode.h (dir_names): Add missing N_() macros to dir_names array.
2886
2887 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
2888
2889         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
2890
2891 Wed Apr 22 17:48:48 1998  Ian Lance Taylor  <ian@cygnus.com>
2892
2893         * Makefile.am (install-data-local): Make $(includedir).
2894         * Makefile.in: Rebuild.
2895
2896 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
2897
2898         * libbfd-in.h: Use `gettext' and not `dgettext' for now.
2899
2900 Wed Apr 22 12:53:40 1998  Ian Lance Taylor  <ian@cygnus.com>
2901
2902         * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
2903         * Makefile.in: Rebuild.
2904
2905         * bfd-in2.h: Rebuild for Nick's changes.
2906
2907 Tue Apr 21 23:11:51 1998  Richard Henderson  <rth@cygnus.com>
2908
2909         * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
2910         change wrt length == max_namelen.
2911
2912 Tue Apr 21 21:19:36 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
2913
2914         * Many files: Added gettext invocations around user-visible
2915         strings.
2916         * libbfd-in.h: Added gettext includes and defines.
2917         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
2918         HAVE_LC_MESSAGES): Define.
2919         * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
2920         po/Makefile.
2921         * Makefile.am (SUBDIRS): Added po.
2922         (POTFILES): New macro.
2923         (po/POTFILES.in): New target.
2924         (SOURCE_HFILES): New macro.
2925         (HFILES): Use it.
2926         * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
2927
2928 Tue Apr 21 13:38:18 1998 Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
2929
2930         * elfcore.h (bfd_prstatus):  Copy core_prstatus from the first
2931         NT_PRSTATUS note section encountered, it contains the status of
2932         the currently executing thread when the core file was written.
2933
2934 Tue Apr 21 10:00:12 1998  Nick Clifton  <nickc@cygnus.com>
2935
2936         * libcoff.h: Add extra parameter to
2937         bfd_coff_link_output_has_begun overrideable function.
2938         * cofflink.c: Pass extra parameter to
2939         bfd_coff_link_output_has_begun function.
2940         * bfd-in.h: Add prototypes for exported ARM interworking
2941         functions.
2942         * peicode.h: ARM specific code reorganised to conform to BFD
2943         coding conventions.
2944         * coffcode.h: ARM specific code reorganised to conform to BFD
2945         coding conventions.
2946         * coff-arm.c: Code reorganised to conform to the BFD coding
2947         conventions.  Global variables have been moved into an ARM
2948         specific hash table structure and a new function:
2949         bfd_arm_get_bfd_for_interworking() has been created which is
2950         called from the linker scripts.
2951
2952 Tue Apr 21 00:11:51 1998  Richard Henderson  <rth@cygnus.com>
2953
2954         * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
2955
2956         * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
2957         elf64_alpha_relax_find_reloc_ofs.  Changed all callers.
2958         (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
2959         (elf64_alpha_size_got_sections): Don't merge .got sections twice.
2960
2961 Sat Apr 18 01:21:04 1998  Stan Cox  <scox@cygnus.com>
2962
2963         * config.bfd: Added sparc86x support.
2964
2965 Fri Apr 17 22:29:04 1998  Ian Lance Taylor  <ian@cygnus.com>
2966
2967         * elf32-mips.c (mips_elf_relocate_section): Do not complain about
2968         an out of range pc-relative jump/call to an undefined weak symbol.
2969
2970 Thu Apr 16 13:49:00 1998  Richard Henderson  <rth@cygnus.com>
2971
2972         * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
2973         comparisons signed.
2974
2975 Thu Apr 16 11:43:33 1998  Ian Lance Taylor  <ian@cygnus.com>
2976
2977         * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
2978         an error other than bfd_error_system_call, set the error to
2979         bfd_error_wrong_format.
2980
2981         * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
2982         bfd_elf32_powerpcle_vec.
2983
2984         * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
2985         program segments are zero, don't set p_paddr_valid.
2986
2987 Wed Apr 15 22:15:16 1998  Richard Henderson  <rth@cygnus.com>
2988
2989         * elf64-alpha.c: Initial implementation of relaxation --
2990         (struct alpha_elf_link_hash_entry): Add use_count member.
2991         (elf64_alpha_check_relocs): Initialize and increment it.
2992         (elf64_alpha_can_merge_gots): Check it when considering merging.
2993         (elf64_alpha_merge_gots): Drop entries with zero use.
2994         (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
2995         (elf64_alpha_always_size_sections): Split out got sizing ...
2996         (elf64_alpha_size_got_sections): ... here.  New function.
2997         (elf64_alpha_relax_find_reloc_ofs): New function.
2998         (elf64_alpha_relax_with_lituse): Likewise.
2999         (elf64_alpha_relax_without_lituse): Likewise.
3000         (elf64_alpha_relax_opt_call): Likewise.
3001         (elf64_alpha_relax_section): Likewise.
3002         (elf64_alpha_add_symbol_hook): Likewise.
3003         (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
3004         (elf64_alpha_relocate_section): Likewise.
3005         (bfd_elf64_bfd_relax_section): Define.
3006         (elf_backend_add_symbol_hook): Likewise.
3007
3008 Wed Apr 15 16:08:46 1998  Richard Henderson  <rth@cygnus.com>
3009
3010         * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
3011         * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
3012         (ELF_MACHINE_ALT1): New.  Set to EM_OLD_SPARC64.
3013
3014 Wed Apr 15 11:34:33 1998  Ian Lance Taylor  <ian@cygnus.com>
3015
3016         * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
3017         * configure: Rebuild.
3018
3019 Mon Apr 13 16:46:27 1998  Ian Lance Taylor  <ian@cygnus.com>
3020
3021         * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
3022         (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
3023         * configure.in: Define and substitute WIN32LDFLAGS and
3024         WIN32LIBADD.
3025         * aclocal.m4: Rebuild with new libtool.
3026         * configure, Makefile.in: Rebuild.
3027
3028 Fri Apr 10 13:44:27 1998  Ian Lance Taylor  <ian@cygnus.com>
3029
3030         * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
3031         before any other symbols in the same section.
3032
3033 Wed Apr  8 14:50:23 1998  Michael Meissner  <meissner@cygnus.com>
3034
3035         * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
3036         systems.
3037
3038 Tue Apr  7 16:25:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
3039
3040         * dwarf2.c (comp_unit): Move it earlier in the source. Add
3041         addr_size.
3042         (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
3043         Use addr_size for address size, rather than sizeof(bfd_vma).
3044         (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
3045         Fix call to read_address.
3046         (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
3047         Scrap other unneeded arguments.  Fix call to read_address.
3048         (scan_unit_for_functions): Fix call to read_attribute.
3049         (parse_comp_unit): We now handle more values for addr_size.
3050         Set addr_size in unit.  Fix call to read_attribute and
3051         decode_line_info.
3052
3053 Tue Apr  7 15:44:47 1998  Gavin Romig-Koch <gavin@cygnus.com>
3054
3055         * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
3056
3057 Tue Apr  7 12:35:18 1998  Ian Lance Taylor  <ian@cygnus.com>
3058
3059         * archures.c (bfd_default_scan): Add m68k cases back to default
3060         switch, reverting patch of March 25, since IEEE support depends
3061         upon them.
3062
3063 Mon Apr  6 14:06:40 1998  Ian Lance Taylor  <ian@cygnus.com>
3064
3065         * Makefile.am (diststuff): New target.
3066         * Makefile.in: Rebuild.
3067
3068 Sun Apr  5 16:21:44 1998  Jeffrey A Law  (law@cygnus.com)
3069
3070         * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
3071         som_offset when we have an extended name table.
3072
3073 Sun Apr  5 16:04:39 1998  H.J. Lu  <hjl@gnu.org>
3074
3075         * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
3076         trying to copy it.
3077         * Makefile.in: Rebuild.
3078
3079 Fri Apr  3 11:09:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3080
3081         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
3082         symbols when creating a shared library.
3083         (elf_m68k_adjust_dynindx): New function, used by above code.
3084         (elf_m68k_finish_dynamic_sections): Initialize the section
3085         symbols.
3086         (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
3087
3088 Wed Apr  1 16:04:02 1998  Nick Clifton  <nickc@cygnus.com>
3089
3090         * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
3091         value 11.
3092
3093 Wed Apr  1 13:36:58 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3094
3095         * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
3096         assertion.
3097
3098 Tue Mar 31 00:12:12 1998  Jeffrey A Law  (law@cygnus.com)
3099
3100         * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
3101         absolute symbols.
3102
3103 Mon Mar 30 12:46:15 1998  Ian Lance Taylor  <ian@cygnus.com>
3104
3105         * configure.in: Set version to 2.9.1.
3106         * configure: Rebuild.
3107
3108         * Branched binutils 2.9.
3109
3110 Mon Mar 30 12:20:50 1998  Brent Baccala  <baccala@freesoft.org>
3111
3112         * syms.c (ENABLE_CACHING): Define.
3113         (struct indexentry): Define.
3114         (struct stab_cache): Remove.
3115         (cmpindexentry): New static function.
3116         (struct stab_find_info): Add new fields: indextable,
3117         indextablesize, cached_indexentry, cached_offset, cached_stab, and
3118         cached_file_name.  Remove fields: file_cache, function_cache, and
3119         line_cache.
3120         (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
3121         index table and search it.
3122
3123 Mon Mar 30 10:39:34 1998  Ian Lance Taylor  <ian@cygnus.com>
3124
3125         * elf.c (_bfd_elf_copy_private_section_data): Call
3126         copy_private_bfd_data once we've seen the last SEC_ALLOC section.
3127
3128         * cpu-mips.c: Remove trailing comma at end of enumeration list.
3129
3130 Sat Mar 28 16:33:02 1998  Ian Lance Taylor  <ian@cygnus.com>
3131
3132         * coff-arm.c: Define all globally visible variables and functions
3133         only when COFF_WITH_PE is not defined.
3134         * configure.in (armpe_little_vec, armpe_big_vec): Add
3135         coff-arm.lo.
3136         * configure: Rebuild.
3137
3138 Fri Mar 27 16:06:02 1998  Ian Lance Taylor  <ian@cygnus.com>
3139
3140         Fix some gcc -Wall warnings:
3141         * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
3142         * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
3143         * archures.c (bfd_default_scan): Likewise.
3144         * bfd.c (bfd_scan_vma): Likewise.
3145         * binary.c (mangle_name): Likewise
3146         * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
3147         * coff-sh.c (sh_relocate_section): Likewise.
3148         * coff-stgo32.c (create_go32_stub): Likewise.
3149         * coffcode.h (coff_slurp_line_table): Likewise.
3150         * ecoff.c (_bfd_ecoff_write_armap): Likewise.
3151         * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
3152         (assign_file_positions_for_segments): Likewise.
3153         * elf32-mips.c (mips_elf_relocate_section): Likewise.
3154         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
3155         * oasys.c (oasys_write_sections): Likewise.
3156         * ppcboot.c (ppcboot_object_p): Likewise.
3157         (mangle_name): Likewise.
3158         * riscix.c (riscix_fix_pcrel_26): Likewise.
3159         * srec.c (srec_scan): Likewise.
3160         * stabs.c (_bfd_write_section_stabs): Likewise.
3161         * sunos.c (sunos_add_dynamic_symbols): Likewise.
3162         * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
3163         switch.  Declare parameters for function pointers.
3164         * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
3165         warning.
3166         * elf.c (elf_sort_sections): Likewise.
3167         * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
3168         Add default cases to switches.
3169         (coff_arm_relocate_section): Remove unused local variables.
3170         Always set rstat.
3171         (coff_arm_bfd_set_private_flags): Change flag variable to type
3172         flagword.
3173         * coff-mips.c (mips_relocate_section): Initialize use_lo.
3174         * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
3175         (dump_toc): Change cat to const, and initialize it.
3176         * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
3177         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
3178         (sh_elf_relocate_section): Initialize r_symndx.
3179         * coffcode.h (coff_compute_section_file_positions): Only declare
3180         old_sofar if ALIGN_SECTIONS_IN_FILE.
3181         (coff_write_object_contents): Initialize csym.
3182         * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
3183         * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
3184         switch.
3185         * dwarf2.c: Include libiberty.h.
3186         (read_2_signed_bytes, read_4_signed_bytes): Comment out.
3187         (decode_line_info): Remove unused local variables.
3188         * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
3189         (m32r_elf_relocate_section): Likewise.
3190         * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
3191         (v850_elf_reloc): Likewise.
3192         * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
3193         (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
3194         * elf.c (assign_file_positions_for_segments): Always set adjust.
3195         * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr.  Fully
3196         parenthesize expression.
3197         * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
3198         (m32r_elf_object_p): Return a value.
3199         (m32r_elf_print_private_bfd_data): Change fprintf format string.
3200         * elf32-mips.c (mips_elf_final_link): Initialize last.
3201         (mips_elf_finish_dynamic_sections): Initialize last and dindx.
3202         * elf32-v850.c (v850_elf_object_p): Return a value.
3203         (v850_elf_print_private_bfd_data): Change fprintf format string.
3204         * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
3205         unsigned long.
3206         * elflink.h (elf_link_add_object_symbols): Change vernum to
3207         unsigned int, and initialize it.  Change fprintf format string.
3208         (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
3209         when setting or comparing to soname_indx.
3210         (elf_create_pointer_linker_section): Change num_symbols to
3211         unsigned int.
3212         * libcoff-in.h (coff_data_type): Change flags to flagword.
3213         * peicode.h (pe_print_idata): Initialize idx.  Change j to
3214         bfd_size_type.  Initialize hint_member.  Remove useless test to
3215         time_stamp.
3216         (pe_print_edata): Change num_functions and num_names in struct
3217         EDT_type to unsigned long.  Remove cast.  Change fprintf format
3218         string.
3219         * ppcboot.c (ppcboot_object_p): Change i to size_t.
3220         * reloc.c (bfd_get_reloc_size): Change return type to unsigned
3221         int.
3222         * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
3223         int *.  Update uses.  Change j to long.
3224         * bfd-in2.h, libcoff.h: Rebuild.
3225
3226 Fri Mar 27 10:10:46 1998  Catherine Moore <clm@cygnus.com>
3227
3228         * elf32-v850.c Remove definition of USE_REL.
3229         (v850_elf_info_to_howto_rela): New function.
3230         (v850_elf_perform_relocation):  Renamed from
3231         v850_elf_store_addend_in_insn.  Removed replace argument.
3232         (v850_elf_reloc): store the relocation in the addend field instead
3233         of the insn.
3234         (v850_elf_final_link_relocate):  Now calls
3235         v850_elf_perform_relocation.
3236         (v850_elf_relocate_section):  Remove code to generate REL
3237         relocations.
3238
3239 Thu Mar 26 13:32:17 1998  Ian Lance Taylor  <ian@cygnus.com>
3240
3241         * coffcode.h (coff_new_section_hook): Set the type and storage
3242         class in the native symbol information allocated for a new section
3243         symbol.
3244
3245 Thu Mar 26 10:13:41 1998  Nick Clifton  <nickc@cygnus.com>
3246
3247         * peicode.h: Chain together calls to
3248         coff_bfd_copy_private_bfd_data and
3249         coff_bfd_print_private_bfd_data.
3250
3251         * coff-arm.c: Add prototypes for
3252         coff_arm_bfd_print_private_bfd_data and
3253         coff_arm_bfd_copy_private_bfd_data.
3254
3255 Wed Mar 25 15:45:55 1998  Nick Clifton  <nickc@cygnus.com>
3256
3257         * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
3258         build.
3259
3260         * peicode.h: Call arm-coff private data functions after handling
3261         pe private data.
3262
3263         * coff-arm.c: Turn statics into globals so that they can be shared
3264         both pe and pei backends.
3265
3266 Wed Mar 25 15:19:38 1998  Ian Lance Taylor  <ian@cygnus.com>
3267
3268         * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
3269         plain numbers.
3270         (sunos_write_object_contents): Likewise.
3271         * aoutx.h (NAME(aout,machine_type)): Likewise.
3272         * coffcode.h (coff_set_arch_mach_hook): Likewise.
3273
3274 Wed Mar 25 13:59:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3275
3276         * archures.c (bfd_mach_m68*): Add definitions for various m68k
3277         variants.
3278         (bfd_default_scan): Remove m68k special cases.
3279         * bfd-in2.h: Rebuild.
3280         * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
3281         than plain numbers.
3282         * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
3283         * cpu-m68k.c (arch_info_struct): Likewise.  Add entry for
3284         m68k:68000.
3285         (bfd_m68k_arch): Set mach field to zero to signal no explicit
3286         selection, change printable_name to just "m68k" and make that the
3287         default instead of m68k:68020.
3288
3289         * aout-tic30.c (NAME): Define this to avoid multiple definitions
3290         from aoutx.h.
3291         (MY_get_section_contents): Define as aout_32_get_section_contents
3292         rather than NAME(aout,get_section_contents).
3293
3294         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
3295
3296         * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
3297         and call bfd_default_set_arch_mach to do the real work.
3298
3299 Wed Mar 25 10:41:35 1998  Richard Henderson  <rth@cygnus.com>
3300
3301         * bout.c (BALX): Include return register g14 as part of the insn.
3302         (BALX_MASK): New.
3303         (calljx_callback): Use it.
3304
3305 Wed Mar 25 11:19:28 1998  Ian Lance Taylor  <ian@cygnus.com>
3306
3307         * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
3308         * libbfd.h: Rebuild.
3309
3310         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
3311         byte_count to unsigned int.
3312         (mn10300_elf_relax_section): Initialize internal_relocs.  Remove
3313         unused local variables.
3314
3315         * evax-alpha.c (evax_close_and_cleanup): Remove unused local
3316         variables er and er1.
3317
3318         * cpu-v850.c: Include <ctype.h>.
3319         (scan): Case isdigit argument to unsigned char.
3320
3321         From Yan Meroth <YAN.MEROTH@st.com>:
3322         * ihex.c (ihex_scan): Add extbase variable so that getting an
3323         extended linear address record does not ignore any previous
3324         extended address.
3325         (ihex_write_object_contents): When writing out an extended linear
3326         address record, zero out any previous extended address.
3327
3328 Tue Mar 24 16:09:43 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3329
3330         * ieee.c (do_one): Check section before dereferencing it.
3331         (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
3332         (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
3333
3334 Mon Mar 23 18:51:47 1998  Joel Sherrill  <joel@OARcorp.com>
3335
3336         * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
3337
3338 Mon Mar 23 14:23:36 1998  Nick Clifton  <nickc@cygnus.com>
3339
3340         * coff-arm.c: Add interworking functions to pe backends.
3341
3342 Fri Mar 20 18:47:20 1998  Ian Lance Taylor  <ian@cygnus.com>
3343
3344         * configure.in: Use AM_DISABLE_SHARED.
3345         * aclocal.m4, configure: Rebuild with libtool 1.2.
3346
3347 Fri Mar 20 11:25:41 1998  Nick Clifton  <nickc@cygnus.com>
3348
3349         * coff-arm.c (coff_arm_relocate_section): Better error messages
3350         when interowrking conflucts occur.  Courtesy of Jonathan Walton
3351         and Tony Thompson.
3352         (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
3353         relocations.  Patch courtesy of Jonathan Walton and Tony
3354         Thompson.
3355
3356 Fri Mar 20 02:26:43 1998  Richard Henderson  <rth@cygnus.com>
3357
3358         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
3359         part of Feb 22 change controling when to override the existing
3360         symbol with the .plt entry.
3361
3362 Wed Mar 18 09:26:25 1998  Nick Clifton  <nickc@cygnus.com>
3363
3364         * config.bfd (targ_cpu): Add thumb-pe target.
3365
3366         * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
3367         functions in PE build.
3368
3369 Sun Mar  8 23:37:26 1998  Stan Cox  <scox@equinox.cygnus.com>
3370
3371         * config.bfd (sparclite-*-elf*): Added.
3372
3373 Mon Feb 23 19:31:19 1998  Ian Lance Taylor  <ian@cygnus.com>
3374
3375         * configure.in: Add elf.lo to elf shell variable.
3376         * Makefile.am (BFD_LIBS): Remove elf.lo.
3377         (BFD_LIBS_CFILES): Remove elf.c.
3378         (BFD32_BACKENDS): Add elf.lo.
3379         (BFD32_BACKENDS_CFILES): Add elf.c.
3380         * configure, Makefile.in: Rebuild.
3381
3382 1998-02-23 15:53  Richard Henderson  <rth@cygnus.com>
3383
3384         * elf32-i386.c (elf_i386_relocate_section): A pc-relative
3385         relocation against a now-local symbol should not have a dynamic
3386         relocation.
3387
3388 Mon Feb 23 16:17:08 1998  Ian Lance Taylor  <ian@cygnus.com>
3389
3390         * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
3391         COFF filehdr flags.
3392         (pe_print_private_bfd_data): Print PE flags.  From Mikey
3393         <jeffdb@netzone.com>.
3394
3395 Sun Feb 22 20:39:00 1998  Richard Henderson  <rth@cygnus.com>
3396
3397         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
3398         a plt entry when we can determine that we authoritatively define
3399         the symbol.
3400
3401 Sun Feb 22 20:33:05 1998  Richard Henderson  <rth@cygnus.com>
3402
3403         * configure.in (COREFILE selection): Remove sparc-*-linux*.  They
3404         don't actually use trad-core, but a SunOS-style core file handled
3405         by gdb directly.
3406         * hosts/sparclinux.h: Remove.
3407
3408 Wed Feb 18 15:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
3409
3410         * peicode.h (pe_print_idata): If there is no .idata section, look
3411         for the import tables in some other section.  Make the initial
3412         label line up better with the data.  Print the import address
3413         table even if there is no import name table.  If the import
3414         address table holds actual addresses, print them.
3415
3416 Tue Feb 17 12:58:34 1998  Ian Lance Taylor  <ian@cygnus.com>
3417
3418         * libbfd.c (bfd_seek): If fseek fails, save errno around call to
3419         bfd_tell.  If errno is EINVAL, set bfd_error_file_truncated, not
3420         bfd_error_system_call.
3421
3422 Fri Feb 13 13:11:33 1998  Ian Lance Taylor  <ian@cygnus.com>
3423
3424         * Makefile.am (AUTOMAKE_OPTIONS): Define.
3425         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
3426
3427         From H.J. Lu <hjl@gnu.org>:
3428         * Makefile.am (libbfd_la_LDFLAGS): Define.
3429         * Makefile.in: Rebuild.
3430
3431 Thu Feb 12 17:31:11 1998  Ian Lance Taylor  <ian@cygnus.com>
3432
3433         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
3434         * netbsd.h (MACHTYPE_OK): Define.
3435         (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
3436         calling N_SET_MACHTYPE, rather than having a switch.
3437         * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
3438         and M_ALPHA_NETBSD.
3439         * i386netbsd.c (MACHTYPE_OK): Don't define.
3440         (DEFAULT_MID): Define.
3441         * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
3442         (MACHTYPE_OK): Don't define.
3443         (DEFAULT_MID): Define.
3444         * m68knetbsd.c: (MACHTYPE_OK): Don't define.
3445         (DEFAULT_MID): Define.
3446         * ns32knetbsd.c (MACHTYPE_OK): Don't define.
3447         (DEFAULT_MID): Define.
3448         * sparcnetbsd.c (MACHTYPE_OK): Don't define.
3449         (DEFAULT_MID): Define.
3450
3451         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
3452         * vaxnetbsd.c: New file.
3453         * netbsd-core.c: Clean up.  Remove unused macros.  Use netbsd
3454         rather than netbsd_core.
3455         * targets.c (vaxnetbsd_vec): Declare.
3456         (bfd_target_vector): Add vaxnetbsd_vec.  If NETBSD_CORE is
3457         defined, add netbsd_core_vec.
3458         * configure.in: Set COREFILE for alpha*-*-netbsd* and
3459         powerpc-*-netbsd* to netbsd-core.lo.  If COREFILE is
3460         netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
3461         * config.bfd (alpha*-*-netbsd*): New target.
3462         * Makefile.am: Rebuild dependencies.
3463         (BFD32_BACKENDS): Add vaxnetbsd.lo.
3464         (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
3465         * configure, Makefile.in: Rebuild.
3466
3467         * configure.host: Remove the old shared library build stuff.  We
3468         now use libtool instead.
3469
3470 Wed Feb 11 17:13:09 1998  Richard Henderson  <rth@cygnus.com>
3471
3472         * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
3473
3474 Tue Feb 10 19:23:28 1998  H.J. Lu  <hjl@gnu.org>
3475
3476         * configure.in: Take stab-syms.lo out of sparclinux_vec list.
3477         * configure: Rebuild.
3478
3479 Tue Feb 10 15:16:38 1998  Nick Clifton  <nickc@cygnus.com>
3480         * elf32-v850.c (remember_hi16s_reloc): New function.
3481         (find_remembered_hi16s_reloc): New function.
3482         (v850_elf_store_addend_in_insn): Use the above new functions to
3483         match up HI6S relocs with LO16 relocs.
3484
3485 Tue Feb 10 15:01:39 1998  Ian Lance Taylor  <ian@cygnus.com>
3486
3487         * configure.in: Change -linux* to -linux-gnu*.
3488         * config.bfd, configure.host: Likewise.
3489         * configure: Rebuild.
3490
3491 Mon Feb  9 19:40:59 1998  Nick Clifton  <nickc@cygnus.com>
3492
3493         * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
3494         LO16/HI16S bug and improve comments about what is going on.
3495
3496 Sat Feb  7 15:27:03 1998  Ian Lance Taylor  <ian@cygnus.com>
3497
3498         * configure, aclocal.m4: Rebuild with new libtool.
3499
3500 Fri Feb  6 14:48:20 1998  Nick Clifton  <nickc@cygnus.com>
3501
3502         * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
3503         when merging v850 code into v850e/v850ea code.  Do not initialise
3504         output flags if the input is the default architecture.
3505
3506 Fri Feb  6 11:50:22 1998  Jeffrey A Law  (law@cygnus.com)
3507
3508         * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
3509         get the size from bfd_arch_bits_per_address instead of directly
3510         from the isa.
3511
3512 Thu Feb  5 14:21:34 1998  Michael Meissner  <meissner@cygnus.com>
3513
3514         * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
3515         to wrap, just return all 1's bits instead.
3516         * libbfd.h: Regenerate.
3517
3518 Thu Feb  5 11:51:05 1998  Ian Lance Taylor  <ian@cygnus.com>
3519
3520         * coff-i386.c (coff_pe_i386_relocate_section): New static function
3521         if COFF_WITH_PE.
3522         (coff_relocate_section): If COFF_WITH_PE, define as
3523         coff_pe_i386_relocate_section.
3524         * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
3525         skip empty sections, to match coff_write_object_contents.
3526
3527         * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
3528         rather than swapping out r_offset twice.  From Luke Deller
3529         <luked@cse.unsw.edu.au>.
3530
3531 Wed Feb  4 19:11:28 1998  Ian Lance Taylor  <ian@cygnus.com>
3532
3533         * configure.in: Set libtool_enable_shared rather than
3534         libtool_shared.  Remove diversion hack.
3535         * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
3536         with new libtool.
3537
3538 Wed Feb  4 16:10:21 1998  Brent Baccala  <baccala@freesoft.org>
3539
3540         * syms.c (struct stab_cache): Define.
3541         (struct stab_find_info): Remove cached_offset, cached_stab,
3542         cached_str, and cached_stroff fields.  Add file_cache,
3543         function_cache, and line_cache fields.
3544         (_bfd_stab_section_find_nearest_line): Use extensive caching to
3545         speed up searches.
3546
3547 Wed Feb  4 13:34:22 1998  Ian Lance Taylor  <ian@cygnus.com>
3548
3549         * peicode.h (pe_print_idata): Check for import of ordinal rather
3550         than name.
3551         (pe_print_edata): If there is no .edata section, look for the
3552         export data in some other section.
3553
3554 Mon Feb  2 20:05:42 1998  Jason Molenda  (crash@bugshack.cygnus.com)
3555
3556         * configure.in: Change version to 2.8.4.
3557         * configure: Regenerated.
3558
3559 Mon Feb  2 17:39:39 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
3560
3561         Add tms320c30 support:
3562         * cpu-tic30.c: New file.
3563         * aout-tic30.c: New file.
3564         * coff-tic30.c: New file.
3565         * archures.c (bfd_arch_tic30): Define.
3566         (bfd_tic30_arch): Declare.
3567         (bfd_archures_list): Add bfd_tic30_arch.
3568         * targets.c (bfd_target_vector): Add tic30_aout_vec and
3569         tic30_coff_vec.
3570         * reloc.c (BFD_RELOC_TIC30_LDP): Define.
3571         * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
3572         (coff_set_flags): Likewise.
3573         * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
3574         * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
3575         * Makefile.am: Rebuild dependencies.
3576         (ALL_MACHINES): Add cpu-tic30.lo.
3577         (ALL_MACHINES_CFILES): Add cpu-tic30.c.
3578         (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
3579         (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
3580         * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
3581
3582 Mon Feb  2 12:25:12 1998  Nick Clifton  <nickc@cygnus.com>
3583
3584         * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
3585         to lag behind LO16 reloc by a couple of instructions.
3586
3587 Mon Feb  2 14:09:46 1998  Ian Lance Taylor  <ian@cygnus.com>
3588
3589         * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
3590         make to reexamine the file timestamp.
3591         ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
3592
3593         * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
3594         0x100000.
3595
3596 Fri Jan 30 19:07:07 1998  Geoff Keating  <geoffk@ozemail.com.au>
3597
3598         * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
3599         to create .dynsbss and .rela.sbss sections.
3600         (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
3601         copied from dynamic objects into .sbss.
3602         (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
3603         use it.  Correct typo of .rela.sdata2.
3604         (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
3605         put the data, which may now be in .sbss.
3606         (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
3607         (elf_backend_create_dynamic_sections): Define as
3608         ppc_elf_create_dynamic_sections.
3609
3610         * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
3611         against _GLOBAL_OFFSET_TABLE_.
3612         (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
3613         shared libraries which refer to local symbols.  Make sure that the
3614         test for allocating space for a reloc in a shared object is the
3615         same as the test for emitting a reloc.
3616
3617 Thu Jan 29 15:55:35 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
3618
3619         * config.bfd (i[3456]-*-mingw32*): New target.
3620         * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
3621         * aclocal.m4, configure: Rebuild.
3622
3623 Wed Jan 28 13:41:26 1998  Ian Lance Taylor  <ian@cygnus.com>
3624
3625         * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
3626         have a bfd_object.
3627
3628 Tue Jan 27 21:43:55 1998  Richard Henderson  <rth@cygnus.com>
3629
3630         Sparc v9 ABI compliant PLT:
3631         * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
3632         (plt_templates, sparc64_elf_build_plt_entry): Delete.
3633         (LARGE_PLT_THRESHOLD): New define.
3634         (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
3635         (sparc64_elf_build_plt): New function.
3636         (sparc64_elf_plt_entry_offset): Likewise.
3637         (sparc64_elf_plt_ptr_offset): Likewise.
3638         (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
3639         contain the index for convenience.  Skip the initial entries
3640         in .rela.plt.
3641         (sparc64_elf_size_dynamic_sections): Zero the allocated contents
3642         memory for the benefit of .rela.plt.
3643         (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
3644         (sparc64_elf_finish_dynamic_symbol): Kill template stuff.  Use
3645         sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
3646         (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
3647         Call sparc64_elf_build_plt.
3648         (elf_backend_want_got_plt): No.
3649         (elf_backend_plt_readonly): No.
3650         (elf_backend_plt_alignment): 8.
3651
3652         * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
3653         * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
3654         * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
3655         to be called.
3656
3657 Tue Jan 27 21:45:15 1998  Jeffrey A Law  (law@cygnus.com)
3658
3659         * archures.c (bfd_mach_mips*): Add definitions for various MIPS
3660         processors.
3661         * cpu-mips.c (arch_info_struct): Add mips variants.
3662         * bfd-in2.h: Rebuilt.
3663
3664 Tue Jan 27 15:06:04 1998  Nick Clifton  <nickc@cygnus.com>
3665
3666         * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
3667         t2a3_b_insn.
3668
3669 Tue Jan 27 12:47:27 1998  Robert Lipe  <robertl@dgii.com>
3670
3671         * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
3672         (i[3456]86sco3.2v5*coff): New target.
3673
3674 Mon Jan 26 15:41:30 1998  Ian Lance Taylor  <ian@cygnus.com>
3675
3676         * bfd-in2.h: Rebuild with changes to chew--tab expansion.
3677
3678 Thu Jan 22 21:26:48 1998  Richard Henderson  <rth@cygnus.com>
3679
3680         * bfd.c (bfd_get_error_handler): Add orthogonal function.
3681         * bfd-in2.h: Regenerate.
3682
3683 Thu Jan 22 21:13:39 1998  Richard Henderson  <rth@cygnus.com>
3684
3685         * tekhex.c (tekhex_write_object_contents): Check for no symbols.
3686
3687 Wed Jan 21 21:19:03 1998  Ian Lance Taylor  <ian@cygnus.com>
3688
3689         * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
3690         adjust addend for an output common symbol (from Jimmy Blair
3691         <jimmyb@wrs.com>).  If COFF_WITH_PE, adjust addend for PC relative
3692         defined symbol to counteract adjustment made in generic relocation
3693         code.
3694
3695         * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
3696
3697 Wed Jan 21 21:16:06 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3698
3699         * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
3700         (GET_SCNDHR_NLNNO): Likewise.
3701
3702 Mon Jan 19 12:49:52 1998  Ian Lance Taylor  <ian@cygnus.com>
3703
3704         * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
3705
3706 Wed Jan 14 17:23:27 1998  Nick Clifton  <nickc@cygnus.com>
3707
3708         * elf32-m32r.c: Add macros to handle NOP insertion.
3709
3710 Wed Jan 14 16:15:22 1998  Richard Henderson  <rth@cygnus.com>
3711
3712         * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
3713         (xcoff_mark): Likewise.
3714         (xcoff_build_ldsyms): Mark absolute symbols.
3715
3716 Wed Jan 14 16:03:11 1998  Richard Henderson  <rth@cygnus.com>
3717
3718         * bout.c (b_out_write_object_contents): Sort symbols before output
3719         to keep {CALL,BAL}NAME symbols adjacent.
3720         (b_out_symbol_cmp): New function.
3721
3722 For older changes see ChangeLog-9697
3723 \f
3724 Local Variables:
3725 mode: change-log
3726 left-margin: 8
3727 fill-column: 74
3728 version-control: never
3729 End: