sh-dsp REPEAT support:
[external/binutils.git] / bfd / ChangeLog
1 Wed Apr  5 22:04:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2
3         * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
4         BFD_RELOC_SH_LOOP_END.
5         * elf32-sh.c (sh_elf_howto_tab): Change special_func to
6         sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
7         Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
8         (sh_elf_reloc_loop): New function.
9         (sh_elf_reloc): No need to test for always-to-be-ignored relocs
10         any more.
11         (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
12         (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
13         * bfd-in2.h, libbfd.h: Regenerate.
14
15 2000-04-04  Alan Modra  <alan@linuxcare.com.au>
16
17         * po/bfd.pot: Regenerate.
18
19         * Makefile.am: Remove extraneous mkdep comment.
20         (MKDEP): Use gcc -MM rather than mkdep.
21         (DEP): Quote when passing vars to sub-make.  Add warning
22         message to end.
23         (DEP1): Rewrite for "gcc -MM".
24         (CLEANFILES): Add DEP2.
25         Update dependencies.
26         * Makefile.in: Regenerate.
27
28 2000-04-03  Kevin Buettner  <kevinb@redhat.com>
29
30         * configure.in: Added corefile support for AIX 4.3.  In particular,
31         AIX_CORE_DUMPX_CORE will be defined in addition to AIX_CORE when
32         compiling rs6000-core.c.
33         * configure: Regenerated.
34
35 2000-04-03  H.J. Lu  <hjl@gnu.org>
36
37         * cache.c (bfd_open_file): Unlink the output file only if
38         it has non-zero size.
39
40 2000-04-01  Ken Block USG  <block@zk3.dec.com>
41
42         * elf64-alpha.c (elf64_alpha_relocate_section): Don't emit
43         relative relocations for non-loaded sections in shared objects.
44         (elf64_alpha_check_relocs): Similarly.
45
46 Mon Apr  3 13:37:15 2000  Hans-Peter Nilsson  <hp@axis.com>
47
48         * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
49         BFD_RELOC_16 to switch for extended relocs.
50         (MY_swap_ext_reloc_in): New.
51         (MY_swap_ext_reloc_out): New.
52         (NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather
53         than NAME(aout,swap_ext_reloc_in) for extended relocs.
54         (NAME(aout,squirt_out_relocs)): Similarly use
55         MY_swap_ext_reloc_out.
56         (aout_link_reloc_link_order): Use MY_put_ext_reloc if defined.
57
58 2000-04-03  Kazu Hirata  <kazu@hxi.com>
59
60         * coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to
61         the R_PCRWORD_B case.
62
63 2000-03-31  Thomas de Lellis  <tdel@wrs.com>
64
65         * srec.c : Set CHUNK size to 16 bytes to prevent download failures
66         on some targets.
67         * ihex.c : Ditto.
68
69 Wed Mar 30 15:28:00 2000  Donald Lindsay  <dlindsay@cygnus.com>
70
71         * elf32-m32r.c (m32r_elf_generic_reloc): new function.  All
72         HOWTO references to bfd_elf_generic_reloc, that have
73         partial_inplace == true, now use the new function.  The function
74         is based on the recent rewrite of m32r_elf_lo16_reloc(), and
75         extends its fixes to the R_M32R_{16,24,32} relocs.
76         The new logic in m32r_elf_lo16_reloc() has been removed, and
77         it instead calls the new routine to obtain that functionality.
78
79 2000-03-27  Alan Modra  <alan@linuxcare.com.au>
80
81         * elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook,
82         elf32_avr_check_relocs, avr_final_link_relocate,
83         elf32_avr_relocate_section, bfd_elf_avr_final_write_processing,
84         elf32_avr_object_p): Add prototypes.
85         (elf32_avr_gc_mark_hook): Add default for h->root.type.
86         (bfd_elf_avr_final_write_processing): Make static.
87
88 2000-03-27  Denis Chertykov  <denisc@overta.ru>
89
90         * cpu-avr.c: New file.  BFD support routines for AVR architecture.
91         * archures.c (bfd_architecture): Add AVR architecture.
92         (bfd_archures_list): Add reference to AVR architecture info.
93         * elf.c (prep_headers): Handle bfd_arch_avr.
94         * reloc.c: Add various AVR relocation enums.
95         * targets.c (bfd_elf32_avr_vec): Declare and add to target vector
96         list.
97         * Makefile.am: Add support for AVR elf.
98         * configure.in: Likewise.
99         * config.bfd: Likewise.
100         * Makefile.in: Regenerate.
101         * configure: This too.
102         * bfd-in2.h: And this.
103         * libbfd.h: And this.
104
105 2000-03-24  H.J. Lu  <hjl@gnu.org>
106
107         * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype.
108         (elf64_alpha_find_reloc_at_ofs): Likewise.
109
110 2000-03-17  Alan Modra  <alan@linuxcare.com.au>
111
112         * reloc.c (bfd_check_overflow): In case complain_overflow_bitfield,
113         flag an overflow if the bitfield is outside -2**n to 2**n-1.  The
114         allowable range used to be -2**(n-1) to 2**n-1.
115         * reloc.c (_bfd_relocate_contents): Same here.  Also replace
116         "boolean overflow" with "bfd_reloc_status_type flag".
117
118 2000-03-14  Doug Evans  <dje@casey.transmeta.com>
119  
120         * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite.
121  
122 2000-03-14  Kazu Hirata  <kazu@hxi.com>
123
124         * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number
125         of shrinks properly, including the last reloc.
126
127 2000-03-13  Kazu Hirata  <kazu@hxi.com>
128
129         * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
130         check for R_MOVL2.
131
132 2000-03-11  Alan Modra  <alan@linuxcare.com.au>
133
134         * ieee.c (ieee_archive_p): Return bfd_error_wrong_format on 
135         a format mismatch rather than an "error" from bfd_read such as
136         bfd_error_file_truncated.
137
138 2000-03-10  Geoff Keating  <geoffk@cygnus.com>
139
140         * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper
141         sign-extension and big-endian compensation for
142         R_MIPS_64 even in ld -r.
143
144 2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>
145
146         * elf32-mips.c (mips_elf_next_relocation): Rename from
147         mips_elf_next_lo16_relocation, and generalize to look
148         for any relocation type.
149         (elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
150         (elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
151         (elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
152         (elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
153         (elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
154         (elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
155         (bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
156         (mips_rtype_to_howto): Likewise.
157         (mips_elf_calculate_relocation): Handle new relocs.
158         (_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
159         are paired.  The addend for R_MIPS_GNU_REL16_S2
160         is shifted right two bits.
161
162 2000-03-10  Alan Modra  <alan@linuxcare.com.au>
163
164         * reloc.c (bfd_perform_relocation): Undo emacs formatting of
165         comment, and ensure it doesn't happen again.
166         (bfd_install_relocation): Same here.
167         (_bfd_relocate_contents): Don't bother assigning unused signmask
168         shift result.  Fix typos in comments.
169         Remove trailing whitespace throughout file.
170
171 2000-03-07  Doug Evans  <dje@casey.transmeta.com>
172
173         * reloc.c (reloc_howto_struct): Fix partial_inplace comment.
174         * bfd-in2.h: Rebuild.
175
176 2000-03-06  Nick Clifton  <nickc@cygnus.com>
177
178         * peicode.h (struct pe_ILF_vars): Add sym_ptr_table and
179         sym_ptr_ptr fields.
180         (SIZEOF_ILF_SYM_PTR_TABLE): Define.
181         (SIZEOF_ILF_STRINGS): Redefine.
182         (pe_ILF_make_a_symbol-reloc): New function.  Creates a symbol
183         relative reloc, as opposed to a section relative reloc.
184         (pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT
185         not C_LABEL.
186         Add length of symbol's prefix to string pointer.
187         Store a pointer to the symbol in the symbol pointer table.
188         (pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7.
189         Initialise the symbol pointer table.
190         Store the hint in the Hint/Name table.
191         Make the jump reloc be symbol realtive, not section relative.
192         Create an import symbol for imported code.
193
194 2000-03-06  Catherine Moore  <clm@cygnus.com>
195
196         * elf.c (swap_out_syms):  Check for null type_ptr.
197
198 2000-03-01  Hans-Peter Nilsson  <hp@axis.com>
199
200         * aout-target.h (MY(write_object_contents)): Remove unused
201         and unusable "#if CHOOSE_RELOC_SIZE".
202         * pc532-mach.c (MY(write_object_contents)): Ditto.
203         * netbsd.h (MY(write_object_contents)): Ditto.
204         * hp300hpux.c (MY(write_object_contents)): Ditto.
205         * freebsd.h (MY(write_object_contents)): Ditto.
206         * aout-tic30.c (tic30_aout_write_object_contents): Ditto.
207
208 2000-02-29  H.J. Lu  <hjl@gnu.org>
209
210         * peicode.h (jtab): Make it static.
211
212         * coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is
213         defined and COFF_IMAGE_WITH_PE is not defined.
214         (_bfd_sh_align_load_span): Defined as sh_align_load_span if
215         COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined.
216
217 2000-03-01  Nick Clifton  <nickc@cygnus.com>
218
219         * coff-arm.c (bfd_arm_process_before_allocation): Make
220         'symndx' signed to prevent compile time warning.
221
222         * coff-mcore.c: Remove unused prototype for pe_object_p.
223
224         * coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static
225         functions that are not used when COFF_IMAGE_WITH_PE is
226         defined.
227         (struct sh_opcode): Change type of 'flags' field to unsigned
228         long so that it can hold the USESAS flag.
229
230         * coffcode.h (styp_to_sec_flags): Initialise 'target_name'.
231
232         * elf-m10300.c (mn10300_elf_relax_section): Initialise
233         'sym_sec'.
234
235         * elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function
236         parameters.
237         Remove unusued variables and code.
238         (elf_backend_add_symbol_hook): Fix prototype.
239
240         * elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and
241         'srelgot'.
242
243         * elf32-mcore.c (mcore_elf_relocate_section): Initialise
244         'oldinst'. 
245
246         * elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function
247         parameters.
248         Remove unusued variables and code.
249         (elf_backend_add_symbol_hook): Fix prototype.
250
251         * elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'.
252
253         * elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED
254         to unused function parameter.
255         
256         * pe-mips.c: Add ATTRIBUTE_UNUSED to unused function
257         parameters.
258         Use EMPTY_HOWTO to initialise empty howto slots.
259         Remove unused variables.
260
261         * peicode.h (pe_ILF_build_a_bfd): Initialise id6.       
262
263 2000-03-01  H.J. Lu  <hjl@gnu.org>
264
265         * aoutx.h (aout_link_input_section_std): Pass "true" to
266         the undefined_symbol callback.
267         (aout_link_input_section_ext): Likewise.
268         * bout.c (get_value): Likewise.
269         * coff-a29k.c (coff_a29k_relocate_section): Likewise.
270         * coff-alpha.c (alpha_ecoff_get_relocated_section_conten):
271         Likewise.
272         (alpha_relocate_section): Likewise.
273         * coff-arm.c (coff_arm_relocate_section): Likewise.
274         * coff-i960.c (coff_i960_relocate_section): Likewise.
275         * coff-mcore.c (coff_mcore_relocate_section): Likewise.
276         * coff-mips.c (mips_relocate_section): Likewise.
277         * coff-ppc.c (coff_ppc_relocate_section): Likewise.
278         * coff-sh.c (sh_relocate_section): Likewise.
279         * coff-tic80.c (coff_tic80_relocate_section): Likewise.
280         * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
281         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
282         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
283         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
284         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
285         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
286         * elf32-i370.c (i370_elf_relocate_section): Likewise.
287         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
288         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
289         * elf32-sh.c (sh_elf_relocate_section): Likewise.
290         * elf32-v850.c (v850_elf_relocate_section): Likewise.
291         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
292         * elflink.h (elf_link_output_extsym): Likewise.
293         * pe-mips.c (coff_pe_mips_relocate_section): Likewise.
294         * reloc.c (bfd_generic_get_relocated_section_conten): Likewise.
295         * reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise.
296
297         * elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the
298         undefined_symbol callback when building shared library with
299         -Bsymbolic and undefined symbols are allowed. Otherwise, pass
300         "true".
301         * elf32-arm.h (elf32_arm_relocate_section): Likewise.
302         * elf32-i386.c (elf_i386_relocate_section): Likewise.
303         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
304         * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
305         (elf32_mips_get_relocated_section_content): Likewise.
306         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
307         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
308         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
309         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
310
311 2000-02-28  Nick Clifton  <nickc@cygnus.com>
312
313         * Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects.
314         * Makefile.in: Regenerate.
315
316         * configure.in: Add support for mips and sh pe vectors.
317         * configure: regenerate.
318
319         * config.bfd: Add support for arm-wince, mips-pe and sh-pe
320         targets. 
321
322         * targets.c: Add mips and sh pe vectors.
323
324         * libpei.h (coff_final_link_postscript): Only define if not
325         already defined.
326
327         * coffcode.h: Add support for WinCE magic numbers.
328
329         * peigen.c (pe_print_reloc): Update comment and rearrange
330         appending of newline character.
331
332         * peicode.h: Add support for Image Library Format.
333         (pe_ILF_vars): Structure containing data used by ILF code.
334         (pe_ILF_make_a_section): New function.  Create a section based
335         on ILF data.
336         (pe_ILF_make_a_reloc): New function.  Create a reloc based on
337         ILF data.
338         (pe_ILF_make_a_symbol): New function.  Create a symbol based
339         on ILF data.
340         (pe_ILF_save_relocs): New function.  Store the relocs created
341         by pe_ILF_make_a_reloc in a section.
342         (pe_ILF_build_a_bfd): New function.  Create a BFD describing
343         an ILF object.
344         (pe_ILF_object_p): New function.  Return a bfd_target pointer
345         for an ILF object.
346         (pe_bfd_object_p): If an ILF object is detected call
347         pe_ILF_object_p on it.
348
349         * coff-arm.c: Add support for WinCE relocs which are different
350         from normal ARM COFF relocs.
351         * pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target.
352
353         * coff-sh.c: Add support for sh-pe target.
354         * pe-sh.c: New file.  Support code for sh-pe target.
355         * pei-sh.c: New file.  Support code for sh-pe target.
356
357         * pe-mips.c: New file.  Support code for mips-pe target.
358         * pei-mips.c: New file.  Support code for mips-pe target.
359
360 2000-02-27  Jakub Jelinek  <jakub@redhat.com>
361
362         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump
363         architecture if the object causing the bump is dynamic.
364         * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise,
365         and also don't it for memory ordering.
366         (sparc64_elf_write_relocs): Take src_rela out of the loop.
367
368 2000-02-27  Ian Lance Taylor  <ian@zembu.com>
369
370         * dwarf2.c (read_abbrevs): Use _raw_size directly rather than
371         calling bfd_get_section_size_before_reloc.
372         (decode_line_info): Likewise.
373         (_bfd_dwarf2_find_nearest_line): Likewise.
374
375 2000-02-27  Eli Zaretskii  <eliz@is.elta.co.il>
376
377         * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
378         name of the libtool directory.
379         * Makefile.in: Rebuild.
380
381 Fri Feb 25 18:39:26 2000  Rodney Brown (RodneyBrown@pmsc.com)
382
383         * som.c (SOM_HOWTO): Define.
384         (som_hppa_howto_table): Use it.
385
386 2000-02-25  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
387
388         * config.bfd: Enable 64 bit support for GNU/Linux/sparc.
389
390         * config.bfd: Enable 64 bit support for Solaris7+/sparc.
391
392 2000-02-24  Catherine Moore  <clm@cygnus.com>
393
394         * som.c (som_misc_symbol_info):  Add field
395         secondary_def. 
396         (som_bfd_derive_misc_symbol_info):  Initialize
397         secondary_def.
398         (som_build_and_write_symbol_table): Keep track
399         of secondary_def field.
400         (som_slurp_symbol_table): Set BSF_WEAK symbol flag
401         if secondary_def field is set.
402         (som_bfd_ar_write_symbol_stuff): Initialize
403         secondary_def.
404
405 2000-02-23  Stephane Carrez  <stcarrez@worldnet.fr>
406
407         * dwarf2.c (read_address): Read 16-bits addresses.
408         (parse_comp_unit): Accept addr_size == 2.
409         
410 2000-02-23  Alan Modra  <alan@spri.levels.unisa.edu.au>
411
412         * bfd-in.h: Update copyright date.
413
414 2000-02-23  Linas Vepstas <linas@linas.org>
415
416         * cpu-i370.c: New file.
417         * elf32-i370.c:  New file.
418         * archures.c (enum bfd_architecture): Add bfd_arch_i370.
419         (bfd_i370_arch): New.
420         (bfd_archures_list): Add bfd_i370_arch.
421         * elf.c (prep_headers): Add bfd_arch_i370.
422         * Makefile.am: Add support for IBM 370 elf.
423         * config.bfd: Likewise.
424         * configure.in: Likewise.
425         * libbfd.h (bfd_reloc_code_real_names): Likewise.
426         * reloc.c (bfd_reloc_code_type): Likewise.
427         * targets.c: Likewise.
428
429         * Makefile.in: Regenerate.
430         * configure: Regenerate.
431         * bfd-in2.h: Regenerate.
432
433 2000-02-22  Ian Lance Taylor  <ian@zembu.com>
434
435         * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for
436         invalid relocation types, and change them to R_386_NONE.
437
438 2000-02-22  H.J. Lu  <hjl@gnu.org>
439
440         * elflink.h (elf_link_add_object_symbols): If a version symbol is
441         not defined, don't add a second ELF_VER_CHR.
442
443         * elflink.h (elf_bfd_final_link): Call output_extsym for global
444         symbols converted to local symbols even when stripping all
445         symbols.
446         (elf_link_output_extsym): Process global symbols converted to
447         local symbols even if they are being stripped.
448
449 2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
450
451         * archures.c (bfd_octets_per_byte): Return unsigned int.
452         (bfd_arch_mach_octets_per_byte): Ditto.
453         * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned
454         comparison warning.
455         * section.c (bfd_get_section_size_before_reloc): Quell signed
456         vs. unsigned comparison warning.
457         (bfd_get_section_size_after_reloc): Same here.  Fix parentheses too.
458         * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27
459         change.  What was I thinking?
460         * bfd-in2.h: Regenerate.
461
462         * elflink.h (elf_gc_sweep): Skip non-elf input bfds.
463         (elf_gc_sections): Same here.
464         (elf_gc_common_finalize_got_offsets): And here.
465
466 2000-02-21  Ian Lance Taylor  <ian@zembu.com>
467
468         ELF HPPA doesn't work at present; remove it until it does.
469         * config.bfd: Comment out setting targ_defvec to
470         bfd_elf32_hppa_vec.
471         * Makefile.am: Rebuild dependencies.
472         (BFD32_BACKENDS): Remove elf32-hppa.lo.
473         (BFD32_BACKENDS_CFILES): Remove elf32-hppa.c.
474         (SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h.
475         * Makefile.in: Rebuild.
476         * targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec.
477
478 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
479
480         * coffcode.h (coff_set_arch_mach_hook): Use free(), because there
481         is no bfd_free().  Revert bfd_free part of previous change.
482
483 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
484
485         * coffcode.h (coff_set_arch_mach_hook): Don't use variable-size
486         arrays.
487         (coff_compute_section_file_positions): Use bfd_free to pair
488         bfd_malloc.
489         (coff_write_object_contents): Likewise.
490
491         * coff-rs6000.c (xcoff_howto_table_16): New variable.
492         (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs.
493
494 2000-02-18  Ulrich Drepper  <drepper@cygnus.com>
495
496         * coff-rs6000.c (XCOFFARMAGBIG): New macro.
497         (xcoff_ar_file_hdr_big): New structure.
498         (SIZEOF_AR_FILE_HDR_BIG): New macro.
499         (xcoff_ar_hdr_big): New structure.
500         (SIZEOF_AR_HDR_BIG): New macro.
501         (xcoff_big_format_p): New macro.
502         (xcoff_ardata_big): New macro.
503         (arch_xhdr_big): New macro.
504         (xcoff_slurp_armap): Handle large archives.
505         (xcoff_archive_p): Detect large archives.
506         (xcoff_read_ar_hdr): Handle large archives.
507         (xcoff_openr_next_archived_file): Handle large archives.
508         (xcoff_generic_stat_arch_elt): Handle large archives.
509         (xcoff_write_armap_old): Rename from xcoff_write_armap.
510         (xcoff_write_armap_big): New function.
511         (xcoff_write_armap): New function, dispatch to _old or _big.
512         (xcoff_write_archive_contents_old): Rename from
513         xcoff_write_archive_contents.
514         (xcoff_write_archive_contents_big): New function.
515         (xcoff_write_archive_contents): New function, dispatch to _old or
516         _big.
517
518 2000-02-18  Richard Henderson  <rth@cygnus.com>
519
520         * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect
521         and hide_symbol members.
522         (elf_link_hash_copy_indirect): Remove.
523         (elf_link_hash_hide_symbol): Remove.
524         (struct elf_backend_data): Add elf_backend_copy_indirect_symbol
525         and elf_backend_hide_symbol.
526         (_bfd_elf_link_hash_copy_indirect): Declare.
527         (_bfd_elf_link_hash_hide_symbol): Declare.
528         * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument.
529         (_bfd_elf_link_hash_hide_symbol): Likewise.
530         (_bfd_elf_link_hash_table_init): Don't init killed members.
531         * elflink.h (elf_link_add_object_symbols): Use the bed function
532         pointers not elf_link_hash_{copy_indirect,hide_symbol}.
533         (elf_link_assign_sym_version): Likewise.
534         * elfxx-target.h (elf_backend_copy_indirect_symbol): Default.
535         (elf_backend_hide_symbol): Likewise.
536         (elfNN_bed): Update for new members.
537
538 2000-02-17  Kevin Buettner  <kevinb@redhat.com>
539
540         * rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD,
541         STACK_END_ADDR): Define for new core file format.
542         (LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines
543         for handling the vagaries of the various core file structures used
544         by AIX over the years.
545         (rs6000coff_core_p, rs6000coff_core_file_matches_executable,
546         Rs6kCorData): Use above defines to adapt code to use AIX 4.3's
547         core_dumpx structure.
548
549 Thu Feb 17 00:04:48 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
550
551         * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
552         (bfd_mach_sh3_dsp): Likewise.
553         (bfd_mach_sh4): Reinstate.
554         (bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
555         * bfd-in2.h: Regenerate.
556         * coff-sh.c (struct sh_opcode): flags is no longer short.
557         (USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
558         (sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
559         (sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
560         (sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
561         (sh_opcodes): No longer const.
562         (sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
563         (sh_insn_uses_reg): Check for USESAS and USESR8.
564         (sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
565         (_bfd_sh_align_load_span): Return early for SH4.
566         Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
567         Take into account that field b of a parallel processing insn
568         could be mistaken for a separate insn.
569         * cpu-sh.c (arch_info_struct): New array elements for
570         sh2, sh-dsp and sh3-dsp.
571         Reinstate element for sh4.
572         (SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
573         (SH4_NEXT): Reinstate.
574         (SH3_NEXT, SH3E_NEXT): Adjust.
575         * elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
576         * elf32-sh.c (sh_elf_set_private_flags): New function.
577         (sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
578         (sh_elf_merge_private_data): New function.
579         (elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
580         (bfd_elf32_bfd_copy_private_bfd_data): Define.
581         (bfd_elf32_bfd_merge_private_bfd_data): Change to
582         sh_elf_merge_private_data.
583
584 2000-02-13  Richard Henderson  <rth@cygnus.com>
585
586         * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and
587         hide_symbol members.
588         (elf_link_hash_copy_indirect): New.
589         (elf_link_hash_hide_symbol): New.
590         * elflink.h (elf_link_add_object_symbols): Break out copy from 
591         indirect new new symbol to elf.c.
592         (elf_link_assign_sym_version): Break out privatization of
593         non-exported symbol to elf.c.
594         * elf.c (_bfd_elf_link_hash_copy_indirect): New.
595         (_bfd_elf_link_hash_hide_symbol): New.
596         (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol.
597
598 2000-02-13  Ian Lance Taylor  <ian@zembu.com>
599
600         * section.c (_bfd_strip_section_from_output): Add info parameter.
601         If it passed as non-NULL, use it to check whether any input BFD
602         has an input section which uses this output section.  Change all
603         callers.
604         * bfd-in2.h: Rebuild.
605
606         * bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and
607         bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of
608         1999-11-29.
609         * bfd-in2.h: Rebuild.
610
611 2000-02-10  Timothy Wall  <twall@cygnus.com>
612
613         * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to
614         allow final modifications of swapped-in symbol.
615         (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST.
616         * coffcode.h (coff_write_relocs): Use macro
617         SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether
618         symbol index should be set to -1.
619
620 Thu Feb 10 20:07:50 GMT 2000  Toshiyasu Morita (toshi.morita@sega.com)
621
622         * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG,
623         USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros.
624         * (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes.
625         * (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg,
626         sh_insns_uses_or_sets_freg): New functions.
627         * (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros.
628         * (sh_insns_conflict): Use new functions and new macros to 
629         detect conflicts when two instructions both set same integer registers,
630         both set same fp register, and both set special register.
631
632 2000-02-09  Timothy Wall  <twall@cygnus.com>
633
634         * coffgen.c (coff_real_object_p): Set arch/mach info prior to
635         swapping in sections, so that the swapping routines have access to
636         the arch/mach info.
637
638 2000-02-08 Mark Elbrecht <snowball3@bigfoot.com>
639         
640         * coff-go32.c: Update comment. Update copyright.
641  
642 2000-01-27  Thomas de Lellis  <tdel@windriver.com>
643
644         * syms.c (bfd_decode_symclass)
645         Two new class characters were added - 'V' and 'v'.  The
646         meaning of 'W' is now restricted to just weak non-object
647         symbols.  This allows differentiation between, for example,
648         weak functions vs weak objects.  nm for example now dumps:
649         'W' = weak global
650         'w' = weak unresolved
651         'V' = weak global object
652         'v' = weak unresolved object
653
654         (bfd_is_undefined_symclass): New function.  Return true if the
655         given symbol class represents and undefined/unresolved symbol.
656         
657         (bfd_symbol_info): Use bfd_is_undefined_symclass to check for
658         unresolved symbols.
659
660         * bfd-in2.h: Add prototype for bfd_is_undefined_symbol().
661         
662         * elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the
663         STT_ARM_16BIT flag set, but it is not attached to a data object
664         return STT_ARM_16BIT so that it will be treated as code by the
665         disassembler.
666
667 2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
668
669         * coff-i386.c (i3coff_object_p): Remove prototype.
670         Update copyright.
671
672         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const
673         to name.  Update copyright.
674
675         * trad-core.c (trad_unix_core_file_p): Cast core_regsec
676         assignment to avoid warning.  Update copyright.
677
678 2000-01-24  Robert Lipe  (robertl@sco.com)
679
680         * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc
681         instead of using GNU C extension.
682
683 2000-01-21  Nick Clifton  <nickc@cygnus.com>
684
685         * libbfd.c (bfd_read): Do not attempt to get a negativly sized
686         amount from a bfd_in_memory structure.
687         (bfd_seek): Do not allow seeks past the end of a bfd_in_memory
688         structure.
689
690 2000-01-14  Nick Clifton  <nickc@cygnus.com>
691
692         * linker.c (default_indirect_link_order): oops - fix incorrectly
693         applied patch from Tim Wall.
694
695 2000-01-13  Timothy Wall (twall@tiac.net>
696
697         * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx
698         = scnhsz, filhsz, relsz, aoutsz, etc)
699
700          * coffswap.h: Ditto.
701         
702 2000-01-13  Nick Clifton  <nickc@cygnus.com>
703
704         * elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to
705         interwork thumb to arm stub.
706
707 2000-01-13  Timothy Wall (twall@tiac.net>
708
709         * archures.c (bfd_octets_per_byte): New function: Return
710         target byte size.
711         (bfd_arch_mach_octets_per_byte): New function: Return target
712         byte size.
713
714         * section.c: Distinguish between octets and bytes for usage of
715         _cooked_size,  _raw_size, and output_offset.  Clarify
716         description of bfd_set_section_contents.
717
718         * bfd-in2.h: Regenerate.
719
720         * coffgen.c: Indicate that the offset parameter is in bytes, not
721         octets.
722         
723         * cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte
724         where appropriate to get the octet offset when calling
725         bfd_set_section_contents.
726         (bfd_coff_reloc_link_order): Ditto.
727         
728         * linker.c (bfd_generic_reloc_link_order): Ditto.
729         (_bfd_default_link_order): Ditto.
730         
731         * reloc.c (bfd_perform_relocation):  Distinguish between octets
732         and bytes.  Use octets when indexing into octet data; use bytes
733         when calculating target addresses.
734         (bfd_install_relocation): Ditto.
735         
736         * srec.c (srec_write_section): Ditto.
737         
738 2000-01-13  Nick Clifton  <nickc@cygnus.com>
739
740         * coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
741         3 to 2.  This allows 4 byte sized sections, which is necessary for
742         dlltool to build funcitoning DLLs.
743
744 2000-01-10  Philip Blundell  <pb@futuretv.com>
745
746         * config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu.
747         (arm*-*-conix*): New target.
748
749 2000-01-10  Egor Duda  <deo@logos-m.ru>
750
751         * config.bfd: Include elf32_i386 vector to target list for cygwin 
752         and mingw.
753         
754         * config.in: Undefine HAVE_WIN32_PSTATUS_T.
755         * configure.in: Test for structure win32_pstatus_t in
756         <sys/procfs.h>
757         * configure: Regenerate.
758         
759         * elf.c (elfcore_grok_win32pstatus): New function: process
760         win32_pstatus_t notes in elf core file.
761         (elfcore_grok_note): Detect win32_pstatus notes.
762
763 2000-01-03  Martin v. Loewis  <loewis@informatik.hu-berlin.de>
764
765         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol
766         visibility.
767         * elflink.h (elf_link_add_object_symbols): Combine visibilities.
768         * elf.c (bfd_elf_print_symbol): Interpret st_other as visibility.
769
770 1999-12-29  Richard Henderson  <rth@cygnus.com>
771
772         * elflink.h (bfd_elf,size_dynamic_sections): Don't export all
773         if no dynamic sections created.
774
775 1999-12-27  Nick Clifton  <nickc@cygnus.com>
776
777         * peicode.h (pe_bfd_object_p): Only define for PE format
778         targets. 
779
780 1999-12-17  Nick Clifton  <nickc@cygnus.com>
781
782         * coff-i386.c (i3coff_object_p): Delete.
783         (i386coff_vec): Replace reference to i3coff_object_p with a
784         reference to coff_object_p.
785
786         * coff-mcore.c (pe_object_p): Delete.
787
788         * peicode.h (pe_bfd_object_p): New function: Detect the
789         presence of a PE format COFF object file.  Also detect and
790         warn about the presence of LINK6 format Image Library Format
791         object files.
792         
793 1999-12-16  Nick Clifton  <nickc@cygnus.com>
794
795         * coff-arm.c (NUM_ELEM): New macro.
796         (NUM_RELOCS): New macro: The number of known ARM relocs.
797         (RTYPE2HOWTO): Return NULL if the reloc type is out of range.
798         (coff_arm_rtype_to_howto):  Return NULL if the reloc type is out
799         of range.
800         (bfd_arm_process_before_allocation): Produce a warning message if
801         an out of range symbol index is encountered.
802
803 1999-12-14  Nick Clifton  <nickc@cygnus.com>
804
805         * elflink.h (is_global_symbol_definition): New Function: Return
806         true iff the symbol is being given a global definition in this
807         bfd. 
808         (elf_link_is_defined_archive_symbol): Do not bother processing
809         symbols for an archive element that has already been included
810         in the link.
811         Use is_global_symbol_definition().
812         
813 1999-12-09  Andrew Cagney  <cagney@cygnus.com>
814
815         * config.bfd: Add support for sparc-*-netbsdelf* and
816         sparc-*-netbsdaout*.
817
818 1999-12-13  Nick Clifton  <nickc@cygnus.com>
819
820         * elflink.h (elf_link_is_defined_archive_symbol): Check to see
821         if the symbol is in the common section.
822
823 1999-12-10  Nick Clifton  <nickc@cygnus.com>
824
825         * elflink.h (elf_link_is_defined_archive_symbol): New
826         function: Decide if a symbol, in an archive map is there
827         because it is defined in the archive element, or because it is
828         just another common declaration of it.
829         (elf_link_add_archive_symbols): Use
830         elf_link_is_defined_archive_symbol to decide if an archive
831         element contain a reference to a common symbol should be
832         linked in or not.
833
834 1999-12-10  Nick Clifton  <nickc@cygnus.com>
835
836         * elflink.h: Revert previous patch.
837         * targets.c: Revert previous patch.
838         * libbfd-in2.h: Revert previous patch.
839         * libbfd.h: Revert previous patch.
840         * elfxx-target.h: Revert previous patch.
841         * archive.c: Revert previous patch.
842         * aout-target.h: Revert previous patch.
843         * aout-tic30.h: Revert previous patch.
844         * bfd.c: Revert previous patch.
845         * coff-alpha.c: Revert previous patch.
846         * coff-rs6000.c: Revert previous patch.
847         * elf64-mips.c: Revert previous patch.
848         * ieee.c: Revert previous patch.
849         * libecoff.h: Revert previous patch.
850         * oasys.c: Revert previous patch.
851         * som.c: Revert previous patch.
852         * vms.c: Revert previous patch.
853
854 1999-12-09  Nick Clifton  <nickc@cygnus.com>
855
856         * elflink.h (elf_link_add_archive_symbols): Add an archive
857         element even if contains a symbol which is currently only
858         considered to be a common.
859
860         * targets.c (struct bfd_target): Add new field
861         _bfd_allow_commons_in_armap.
862         * bfd-in2.h:Regenerate.
863
864         * libbfd-in2.h (_bfd_noarchive_allow_commons_in_armap):
865         Define.
866          (_bfd_archive_bsd_allow_commons_in_armap): Define.
867         * libbfd.h: Regenerate.
868
869         * elfxx-target.h: If using COFF archive map, override
870         definition of allow_commons_in_armap and replace with
871         bfd_false.
872
873         * archive.c (bfd_compute_and_write_armap): Do not place common
874         symbols into the archive map unless _bfd_allow_commons_in_armap
875         returns true.
876
877         * aout-target.h (MY_allow_commons_in_armap): Define.
878         * aout-tic30.h (MY_allow_commons_in_armap): Define.
879         * bfd.c (bfd_allow_commons_in_armap): Define.
880         * coff-alpha.h (alpha_ecoff_allow_commons_in_armap): Define.
881         * coff-rs6000.h (xcoff_allow_commons_in_armap): Define.
882         * elf64-mips.c (bfd_elf64_allow_commons_in_armap): Define.
883         * ieee.c (ieee_ecoff_allow_commons_in_armap): Define.
884         * libecoff.h (_bfd_ecoff_allow_commons_in_armap): Define.
885         * oasys.c (oasys_allow_commons_in_armap): Define.
886         * som.c (som_allow_commons_in_armap): Define.
887         * vms.c (vms_allow_commons_in_armap): Define.
888
889 1999-12-07  Jim Blandy  <jimb@cygnus.com>
890
891         Add support for SSE registers in ELF core files.
892         * elf.c (elfcore_make_note_pseudosection): New function.
893         (elfcore_grok_prfpreg): Use it.
894         (elfcore_grok_prxfpreg): New function.
895         (elfcore_grok_note): Recognize Linux NT_PRXFPREG notes.
896
897 1999-12-03  Ian Lance Taylor  <ian@zembu.com>
898
899         * elf32-mips.c (mips_elf_calculate_relocation): Divide R_MIPS_PC16
900         value by 4 before storing it back in the field.  From
901         Koundinya. K <kk@ddeorg.soft.net>.
902
903 Tue Nov 30 22:41:14 1999  Jeffrey A Law  (law@cygnus.com)
904
905         * archures.c (bfd_mach_am33): Define.
906         * bfd-in2.h: Rebuilt.
907         * cpu-m10300.c (bfd_am33_arch): Add to the mn103 architecture list
908         * elf-m10300.c (mn10300_elf_relax_section): Handle am33 instructions.
909         (compute_function_info): Handle additional registers saved by
910         movm on the am33.
911         (elf_mn10300_mach): Handle E_MN10300_MACH_AM33.
912         (_bfd_mn10300_elf_final_write_processing): Handle bfd_mach_am33.
913
914 1999-11-29  Jim Blandy  <jimb@cygnus.com>
915
916         * elf.c (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
917         functions.
918         * bfd-in2.h (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
919         declarations.
920
921 1999-11-27  Michael Meissner  <meissner@cygnus.com>
922
923         * reloc.c (BFD_RELOC_ALPHA_USER_LITERAL): New relocation for
924         internal use within gas for alpha explicit relocations.
925         (BFD_RELOC_ALPHA_USER_LITUSE_BASE): Ditto.
926         (BFD_RELOC_ALPHA_USER_LITUSE_BYTOFF): Ditto.
927         (BFD_RELOC_ALPHA_USER_LITUSE_JSR): Ditto.
928         (BFD_RELOC_ALPHA_USER_GPDISP): Ditto.
929         (BFD_RELOC_ALPHA_USER_GPRELHIGH): Ditto.
930         (BFD_RELOC_ALPHA_USER_GPRELLOW): Ditto.
931
932         * elf64-alpha.c (elf64_alpha_reloc_map): Add mappings for
933         BFD_RELOC_ALPHA_USER_*.
934
935         * bfd-in2.h: Regenerate.
936         * libbfd.h: Regenerate.
937
938 1999-11-26  Fred Fish  <fnf@cygnus.com>
939
940         * elf.c (elfcore_read_notes): Add prototype for static function.
941         (_bfd_elf_make_section_from_phdr): Renamed from bfd_section_from_phdr.
942         (bfd_section_from_phdr): Replacement function that calls
943         _bfd_elf_make_section_from_phdr for generic segment types and
944         backend fucntion pointed to by elf_backend_section_from_phdr for
945         backend specific segment types.
946         (_bfd_elfcore_section_from_phdr): Remove call to elfcore_read_notes,
947         now called by _bfd_elf_make_section_from_phdr.  Note that this func
948         is now just a stub between the caller and bfd_section_from_phdr.
949         
950         * elf-bfd.h (struct elf_backend_data): Add new function pointer
951         elf_backend_section_from_phdr.
952         (elf_backend_section_from_phdr): Add prototype.
953         
954         * elfxx-target.h (elf_backend_section_from_phdr): Define default.
955         (elfNN_bed): Add elf_backend_section_from_phdr.
956
957 1999-11-25  Nick Clifton  <nickc@cygnus.com>
958
959         * coff-arm.c (bfd_arm_get_bfd_for_interworking):  Add
960         SEC_CODE and SEC_READONLY flags to glue sections.
961
962         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Add
963         SEC_CODE and SEC_READONLY flags to glue sections.
964
965 1999-11-20  Nick Clifton  <nickc@cygnus.com>
966
967         * coff-mcore.c (coff_mcore_relocate_section): Fix typo in previous
968         delta. 
969
970 1999-11-19  Catherine Moore  <clm@cygnus.com>
971
972         * elf32-m68k.c (elf_cpu32_plt0_entry): Fix encoding.
973         (elf_cpu32_plt_entry): Likewise.
974
975 1999-11-18  Nick Clifton  <nickc@cygnus.com>
976
977         * coff-mcore.c (coff_mcore_rtype_to_howto): Special case handling
978         for RVA relocs.
979         (coff_mcore_relocate_section): Initialise addend to 0.
980         Special case processing of RVA reloc.
981
982 1999-11-17  Richard Henderson  <rth@cygnus.com>
983
984         * elf-bfd.h (struct elf_backend_data): Reorder collect and
985         type_change_ok; add sign_extend_vma.
986         * elf32-mips.c (elf_backend_sign_extend_vma): Define.
987         * elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma.
988         (elf_swap_shdr_in, elf_swap_phdr_in): Likewise.
989         * elfxx-target.h (elf_backend_sign_extend_vma): Default.
990         (elfNN_bed): Follow struture changes.
991
992 1999-11-09  Ian Lance Taylor  <ian@zembu.com>
993
994         * libbfd.c (bfd_read): Check result of read against desired result
995         using !=, not <.
996         (_bfd_generic_get_section_contents): Set bfd_error if the seek is
997         invalid compared to the section size.
998
999         * ieee.c (ieee_slurp_debug): Get the length of the debug
1000         information right if there is no data part.
1001
1002 Tue Nov  2 01:44:41 1999  Jeffrey A Law  (law@cygnus.com)
1003
1004         * som.c (som_fixup_formats): Improve handling of R_AUX_UNWIND,
1005         R_LINETAB, R_LINETAB_ESC, and R_COMMENT.
1006
1007 1999-10-28  Ian Lance Taylor  <ian@zembu.com>
1008
1009         * elflink.h (elf_bfd_final_link): Make last_local signed.
1010
1011 1999-10-27  Ian Lance Taylor  <ian@zembu.com>
1012
1013         * stabs.c (_bfd_link_section_stabs): Make sure .stabstr section
1014         starts with a zero.
1015
1016 Sat Oct 23 17:36:12 1999  Andrew Cagney  <cagney@b1.cygnus.com>
1017
1018         * archures.c: Add definitions bfd_mach_d10v, bfd_mach_d10v_ts2 and
1019         bfd_mach_d10v_ts3.
1020         * cpu-d10v.c (d10v_ts3_info, d10v_ts2_info): Add.
1021         * bfd-in2.h: Regenerate.
1022         
1023 1999-10-15  Andrew Haley  <aph@cygnus.com>
1024
1025         * dwarf1.c (parse_die): Fail to parse a die if its length is zero.
1026
1027 Sun Oct 17 17:19:00 1999  Jeffrey A Law  (law@cygnus.com)
1028
1029         * libhppa.h (bfd_hppa_insn2fmt): Change to return an int.
1030
1031 1999-10-08  Ian Lance Taylor  <ian@zembu.com>
1032
1033         * elflink.h (elf_merge_symbol): When overriding a weak symbol with
1034         a defined symbol in a shared library, clear the DEF_DYNAMIC flag
1035         too.
1036
1037 Fri Oct  8 13:03:45 1999  Geoffrey Keating  <geoffk@cygnus.com>
1038
1039         * elf32-mips.c (mips_elf_calculate_relocation): R_MIPS_LITERAL
1040         relocs also need the GP value.
1041         (_bfd_mips_elf_relocate_section): Handle unpaired LO16 relocs
1042         properly.  Handle sign-extension for R_MIPS_64 correctly.  Correct
1043         the GP value for R_MIPS_LITERAL relocs too.  Handle
1044         R_MIPS_64 relocs properly on big-endian MIPS.
1045         (mips_elf_sign_extend): Behave properly with 'long long'.
1046         (mips_elf_highest): Correct typo.
1047
1048 Mon Oct  4 17:49:45 1999  Nick Clifton  <nickc@cygnus.com>
1049
1050         * cpu-m32r.c (arch_info_struct): New static global.
1051         (bfd_m32r_arch): Refer to it.
1052         * elf32-m32r.c (m32r_elf_object_p): Recognize E_M32RX_ARCH.
1053         (m32r_elf_print_private_bfd_data): Ditto.
1054         (m32r_elf_final_write_processing): Handle bfd_mach_m32rx.
1055         * archures.c (bfd_mach_m32rx): Define it.
1056         * bfd-in2.h: Rebuild.
1057
1058 1999-09-28  Fred Fish  <fnf@cygnus.com>
1059
1060         * targets.c (cisco_core_vec): Replaced with two new vecs ...
1061         (cisco_core_big_vec): Add new bigendian vec.
1062         (cisco_core_little_vec): Add new little endian vec.
1063
1064         * cisco-core.c (CRASH_INFO): Fixed offset replaced with ...
1065         (crash_info_locs): Add array of possible offsets.
1066         (MASK_ADDR): Mask to apply to crash info offset.
1067         (crashinfo_external): Add textbase, database, bssbase and
1068         turn into a typedef.
1069         (cisco_core_file_validate): Renamed from cisco_core_file_p.
1070         Many small changes to account for additional hardware versions.
1071         Pick a reasonable size for ".reg" section.  Add a ".crash"
1072         section to allow access to crashinfo_external struct.
1073         (cisco_core_file_p): New version of this function that
1074         iterates over crash_info_locs, calling cisco_core_file_validate.
1075         (cisco_core_vec): Old big endian only vec replaced with ...
1076         (cisco_core_big_vec): Add big endian version.
1077         (cisco_core_little_vec): Add little endian version.
1078
1079         * configure.in (cisco_core_vec): Split to two new vectors ...
1080         (cisco_core_big_vec): New target vector.
1081         (cisco_core_little_vec): New target vector.
1082         * configure: Regenerate.
1083         * config.bfd (targ): For m68*-*-aout* targ, change cisco_core_vec
1084         to cisco_core_big_vec in targ_selvecs.
1085
1086 1999-09-28  Geoffrey Keating  <geoffk@cygnus.com>
1087
1088         * elf32-mips.c (mips_elf_relocate_hi16): Unused, delete.
1089         (mips_elf_relocate_got_local): Unused, delete.
1090         (mips_elf_relocate_global_got): Unused, delete.
1091
1092 1999-09-24  Fred Fish  <fnf@cygnus.com>
1093
1094         * elf.c (bfd_section_from_phdr): Add typename variable.  Use p_type
1095         to initialize it to something meaningful.  Then use it to generate
1096         more useful segment names.
1097
1098 Sun Sep 19 12:16:47 1999  Jeffrey A Law  (law@cygnus.com)
1099
1100         * som.c (NO_PCREL_MODES): Define if the system does not define
1101         R_SHORT_PCREL_MODE.
1102         (hppa_som_gen_reloc_type): Handle both short and long pcrel branches.
1103         (som_write_fixups): Eliminate redundant pcrel mode relocs.  Handle
1104         R_LONG_PCREL_MODE and R_SHORT_PCREL_MODE
1105         * libhppa.h (dis_assemble_22): New function.
1106         (bfd_hppa_insn2fmt): Handle long branch.
1107
1108         * libhppa.h (bfd_hppa_insn2fmt): Decode and handle formats found
1109         in PA2.0.
1110
1111 1999-09-17  Alan Modra  <alan@spri.levels.unisa.edu.au>
1112
1113         * coff-i386.c (coff_i386_reloc_type_lookup): Support BFD_RELOC_16,
1114         BFD_RELOC_16_PCREL, BFD_RELOC_8, BFD_RELOC_8_PCREL relocs.
1115         (reloc_howto_type howto_table): Tidy comments and whitespace.
1116
1117 1999-09-17  Nick Clifton  <nickc@cygnus.com>
1118
1119         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Undo
1120         previous delta.  Set sec->gc_mark instead.
1121
1122 Thu Sep 16 11:21:13 1999  Catherine Moore  <clm@cygnus.com>
1123
1124         * elf32-m68k.c (elf_cpu32_plt0_entry): Use a1 instead of a0.
1125         (elf_cpu32_plt_entry): Likewise.
1126
1127 Thu Sep 16 10:48:17 1999  Jeffrey A Law  (law@cygnus.com)
1128
1129         * elf-hppa.h (elf_hppa_final_write_processing): Turn on TRAPNIL.
1130
1131         * elf-hppa.h (elf_hppa_final_link): If unable to find __gp in the
1132         symbol table, then just compute a suitable value (but do not
1133         create a __gp symbol).
1134
1135         * elf-hppa.h (elf_hppa_relocate_section): Allow undefined
1136         symbols when building shared libraries.
1137         (elf_hppa_final_link_relocate): Correct handling of PCREL
1138         relocations against undefined symbols.
1139
1140 1999-09-16  Nick Clifton  <nickc@cygnus.com>
1141
1142         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Mark
1143         interworking sections as linker created so that they will not
1144         be removed by garbage collection.
1145
1146 Wed Sep 15 02:31:57 1999  Jeffrey A Law  (law@cygnus.com)
1147
1148         * elf-hppa.h (elf_hppa_final_link): Revamp __gp handling.
1149         (elf_hppa_final_link_relocate): Consistently create an absolute
1150         address, then subtract out the value of __gp.
1151
1152 1999-09-14  Michael Meissner  <meissner@cygnus.com>
1153
1154         * configure.in (Canonicalization of target names): Remove adding
1155         ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
1156         generates $ac_config_sub with a ${CONFIG_SHELL} already.
1157         * configure: Regenerate.
1158
1159 1999-09-14  Nick Clifton  <nickc@cygnus.com>
1160
1161         * elf32-m32r.c (ELF_MAXPAGESIZE): Change to 0x1 (at request of
1162         Mitsubishi). 
1163
1164 Mon Sep 13 20:01:47 1999  Jeffrey A Law  (law@cygnus.com)
1165
1166         * elf-hppa.h (elf_hppa_record_segment_addrs): New function.
1167         (elf_hppa_final_link): Initialize text_segment_base and
1168         data_segment_base.
1169         (elf_hppa_final_link_relocate): Handle SEGREL relocations.
1170
1171         * elf-hppa.h (elf_hppa_final_link): Remove unused variables.
1172         (elf_hppa_final_link_relocate): Likewise.
1173         (elf_hppa_relocate_insn): Likewise.
1174         (elf_hppa_relocate_section): Initialize HOWTO.
1175
1176 1999-09-13  Donn Terry  <donn@interix.com>
1177
1178         * coffcode.h (styp_to_sec_flags): Further refinement of COMDAT
1179         handling to support both GNU and MS objects.
1180
1181         * coffcode.h (coff_write_object_contents): Don't check reloc_count
1182         when determining whether to set F_RELFLG.
1183
1184 1999-09-13  Philip Blundell  <pb@nexus.co.uk>
1185
1186         * elf32-arm.h (elf32_arm_final_link_relocate): Don't range-check
1187         PC24 relocs if the target is an undefined weak symbol.
1188         (arm_add_to_rel): Fix compiler warning.
1189         (elf32_arm_plt0_entry): Correct comments.
1190         
1191 1999-09-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
1192
1193         * elfcode.h (write_relocs): Check for the_bfd NULL when handling
1194         an absolute symbol in REL relocs.
1195
1196 Sun Sep 12 23:47:58 1999  Jeffrey A Law  (law@cygnus.com)
1197
1198         * elf-hppa.h (elf_hppa_final_link_relocate): Handle SECREL32.
1199         Stub SEGREL32.  Return an error for any relocation not handled.
1200
1201 1999-09-12  Ian Lance Taylor  <ian@zembu.com>
1202
1203         * cofflink.c (coff_link_add_symbols): Look for special MSVC string
1204         constant symbols, and avoid multiple definition errors on them.
1205
1206 1999-09-12  Donn Terry  <donn@interix.com>
1207
1208         * libbfd.c (bfd_log2): Rewrite to avoid infinite loop if most
1209         significant bit is set.
1210
1211 1999-09-11  Ian Lance Taylor  <ian@zembu.com>
1212
1213         * coff-ppc.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
1214
1215         * elfcode.h (write_relocs): Handle an absolute symbol in REL
1216         relocs as we do for RELA relocs.
1217
1218 1999-09-11  Donn Terry  <donn@interix.com>
1219
1220         * libpei.h (_bfd_pei_final_link_postscript): Declare.
1221         (coff_final_link_postscript): Define.
1222         * peigen.c (_bfd_pei_swap_aouthdr_out): Don't set value for data
1223         directory entries here.
1224         (_bfd_pei_final_link_postscript): New function.
1225
1226         * peigen.c (_bfd_pei_swap_scnhdr_out): Remove code which sets
1227         section flags based on the section name.
1228
1229         * peicode.h (coff_swap_scnhdr_in): If COFF_IMAGE_WITH_PE, the
1230         get the overflow of the s_nlnno field from the s_nreloc field.
1231         * peigen.c (_bfd_pei_swap_scnhdr_out): If doing a final link, swap
1232         the s_nlnno overflow of the .text section into the s_nreloc
1233         field.
1234
1235         * peigen.c (add_data_entry): Declare.
1236         (pei_swap_aouthdr_out): Get image size right.  Set linker version
1237         more intuitively.
1238         (pei_swap_scnhdr_out): Test for UNINIT section, not .bss.
1239         (pe_print_idata): Code cleanup, print more info, get rid of (now)
1240         extraneous ImageBase.
1241         (pe_print_edata): Likewise.
1242         (pe_print_pdata): Likewise.  Print exception entries.
1243         (pe_print_reloc): Likewise.  Print MIPS_JMPADDR.
1244         (tbl): Make const, add "UNKNOWN".
1245         (_bfd_pe_print_private_bfd_data_common): Print timestamp.
1246         (_bfd_pe_bfd_copy_private_bfd_data_common): Don't copy deleted
1247         section data directory.
1248         (_bfd_pe_bfd_copy_private_section_data): Copy pe_flags.
1249
1250         * libpei.h (_bfd_pe_bfd_get_symbol_info): Declare.
1251         * peigen.c (_bfd_pe_bfd_get_symbol_info): New function.
1252         * peicode.h (coff_get_symbol_info): Define.
1253
1254         * config.bfd (i[3456]86-*-interix*): Set targ_cflags to
1255         -DSTRICT_PE_FORMAT.
1256         * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
1257         than __INTERIX.
1258         (coff_classify_symbol): Re-revert 1999-08-08 patch if
1259         STRICT_PE_FORMAT.
1260
1261         * libpei.h: New file, broken out of peicode.h.
1262         * peigen.c: New file, broken out of peicode.h.
1263         * peicode.h: A bunch of code moved out to libpei.h and peigen.c.
1264         * configure.in: Add peigen.lo to list of files required for each
1265         PE target.
1266         * Makefile.am: Rebuild dependencies.
1267         (BFD32_BACKENDS): Add peigen.lo.
1268         (BFD32_BACKENDS_CFILES): Add peigen.c.
1269         (SOURCE_HFILES): Add libpei.h.
1270         * configure, Makefile.in: Rebuild.
1271
1272         * peicode.h (coff_swap_scnhdr_in): Don't check for a special
1273         section name of _BSS; check IMAGE_SCN_CNT_UNINITIALIZED_DATA
1274         instead.  Don't clear the s_paddr field for an uninitialized data
1275         section.
1276
1277         * coffcode.h (coff_mkobject_hook): Set timestamp field in
1278         coff_data_type to f_timdat.
1279         * peicode.h (pe_mkobject_hook): Likewise.
1280
1281         * peicode.h (coff_swap_filehdr_in): Check the NT executable magic
1282         number if COFF_IMAGE_WITH_PE.
1283
1284         * coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
1285         to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
1286         (coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
1287         there is no SEC_DEBUGGING section.
1288         * peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
1289         IMAGE_FILE_DEBUG_STRIPPED.
1290
1291         * pe-i386.c (COFF_LONG_FILENAMES): Define.
1292         (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
1293         * pei-i386.c (COFF_LONG_FILENAMES): Define.
1294         (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
1295
1296         * coffswap.h (IMAGE_BASE): Don't define.
1297         * pei-arm.c (IMAGE_BASE): Don't define.
1298         * pei-i386.c (IMAGE_BASE): Don't define.
1299         * pei-mcore.c (IMAGE_BASE): Don't define.
1300         * pei-ppc.c (IMAGE_BASE): Don't define.
1301
1302         * cofflink.c (_bfd_coff_link_input_bfd): When writing out a
1303         symbol, switch on the class when determining whether to modify the
1304         value.  For PE, don't modify the value of a C_FCN symbol not named
1305         .bf.
1306
1307         * libbfd-in.h (_bfd_abort): Declare.
1308         (abort): Define.
1309         * bfd.c (_bfd_abort): New function.
1310         * libbfd.h: Rebuild.
1311
1312         * coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE
1313         special handling.
1314
1315         * cofflink.c (_bfd_coff_link_input_bfd): If a symbol is stripped,
1316         don't write out the associated line numbers.
1317
1318         * cofflink.c (_bfd_coff_write_global_sym): Handle section symbol
1319         aux entries.
1320
1321         * cofflink.c (coff_link_add_symbols): Don't warn about symbol type
1322         changes when the base type is unknown.
1323
1324         * coffgen.c (coff_print_symbol): Fix printing of aux record for
1325         function symbols.
1326
1327         * syms.c (BSF_DEBUGGING_RELOC): Define.
1328         * coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING
1329         for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such
1330         symbols named .bf.
1331         * coffgen.c (fixup_symbol_value): Relocate a symbol which has
1332         BSF_DEBUGGING_RELOC set.
1333         * bfd-in2.h: Rebuild.
1334
1335 1999-09-10  Ian Lance Taylor  <ian@zembu.com>
1336
1337         * ecoff.c (bfd_debug_section): Update initialization for new
1338         comdat_info field.
1339         (_bfd_ecoff_styp_to_sec_flags): Add section parameter.
1340         * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Update declaration.
1341
1342 1999-09-10  H.J. Lu  <hjl@gnu.org>
1343
1344         * coff-alpha.c (alpha_ecoff_backend_data): Initialize the new
1345         _bfd_filnmlen field.
1346         * coff-mips.c (mips_ecoff_backend_data): Likewise.
1347
1348 Fri Sep 10 00:35:14 1999  Jeffrey A Law  (law@cygnus.com)
1349
1350         * elf-hppa.h (elf_hppa_final_link_relocate): Create .opd entries
1351         for FPTR relocs involving local symbols.
1352
1353         * elf-hppa.h (elf_hppa_final_link_relocate): Get the right
1354         value for the stub address in a call through a stub.
1355         Install the value for a local symbol directly into the DLT
1356         instead of generating a reloc.  Correctly handle FPTR64 relocs.
1357
1358         * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): New function.
1359         (elf_hppa_remark_useless_dynamic_symbols): Similarly.
1360         (elf_hppa_final_link): Call them.
1361
1362 1999-09-10  Ian Lance Taylor  <ian@zembu.com>
1363
1364         * elflink.h (elf_fix_symbol_flags): Move weakdef handling here...
1365         (elf_adjust_dynamic_symbol): ...from here.
1366
1367 Wed Sep  8 17:56:11 1999  Jeffrey A Law  (law@cygnus.com)
1368
1369         * elf-hppa.h (elf_hppa_howto_table); There is no DIR64WR, DIR64DR
1370         relocation, remove them.  SECREL64->LTOFF16WF.
1371         (elf_hppa_final_link_relocate): Handle LTOFF* relocations.  Handle
1372         DIR* relocations.
1373         (elf_hppa_relocate_insn): Similarly.
1374
1375         * elf-hppa.h (elf_hppa_final_link_relocate): Handle PLTOFF* relocs.
1376         (elf_hppa_relocate_insn): Similarly.
1377
1378         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DPREL* and
1379         GPREL* relocations.
1380         (elf_hppa_relocate_insn): Similarly.
1381
1382         * elf-hppa.h (elf_hppa_link_final_relocate): Fix typos.
1383         Handle LTOFF_TP* relocs.
1384         (elf_hppa_relocate_insn): Similarly.
1385
1386         * elf-hppa.h (elf_hppa_final_link_relocate): Handle PCREL* relocs.
1387         Consistently deal with addends.  Handle DLTIND14F and DLTREL14F.
1388         (elf_hppa_relocate_insn): Handle PCREL* relocs.
1389
1390         * elf-hppa.h (elf_hppa_final_link_relocate): Handle LT_OFF_FPTR*,
1391         DIR32, DIR64 and FPTR64 relocations.
1392         (elf_hppa_relocate_insn): Similarly.
1393
1394         * elf-hppa.h (elf_hppa_final_link): Set the value of __gp to the        
1395         address of the .PARISC.global section.
1396         (elf_hppa_relocate_section): Lookup and pass the PA64 hash
1397         table entry elf_hppa_final_link_relocate.  Do not give a warning
1398         for a reloc against an external symbol if it has a PA64 hash
1399         table entry.
1400         (elf_hppa_final_link_relocate): Significantly rework.  Handle   
1401         DLTIND relocations.  Compute the final value of the relocation
1402         before passing the value of elf_hppa_relocate_insn.
1403         (elf_hppa_relocate_insn): Revamp to handle just bit tiwiddling
1404         relocation support.  Handle DLTIND relocation requests just like
1405         DLTREL relocation requests.  Simplify branch handling.
1406
1407 1999-09-08  Ulrich Drepper  <drepper@cygnus.com>
1408
1409         * elf-hppa.h (elf_hppa_relocate_section): Catch problems with
1410         non-allocated section as done in i386 version.
1411         (elf_hppa_final_link_relocate): Uncomment R_PARISC_14F in switch
1412         statement since this is no know relocation.
1413
1414 Tue Sep  7 17:25:12 1999  Jeffrey A Law  (law@cygnus.com)
1415
1416         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14F
1417         relocs.
1418         (elf_hppa_relocate_insn): Similarly.
1419
1420         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14WR and
1421         DLTREL14WD relocs.  
1422         (elf_hppa_relocate_insn): Similarly.
1423
1424         * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14R and
1425         DLTREL21L relocs.  Pass the output bfd to elf_hppa_relocate_insn.
1426         Pass the relocate type rather than the insn format to
1427         elf_hppa_relocate_insn.
1428         (elf_hppa_relocate_insn): Make switch dependent on relocation type
1429         rather than the opcode.  Handle DLTREL21L and DLTREL14R relocs.
1430
1431 1999-09-07  Ian Lance Taylor  <ian@zembu.com>
1432
1433         * coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field.
1434         (bfd_coff_filnmlen): Define.
1435         (bfd_coff_std_swap_table): Initialize new field.
1436         * coffgen.c (coff_fix_symbol_name): Use bfd_coff_filnmlen rather
1437         than FILNMLEN.
1438         (coff_write_symbols): Likewise.
1439         (coff_get_normalized_symtab): Likewise.
1440         * coff-sh.c (bfd_coff_small_swap_table): Initialize new field.
1441         * libcoff.h: Rebuild.
1442
1443 1999-09-06  Donn Terry  <donn@interix.com>
1444
1445         * coffcode.h (sort_by_secaddr): New static function if
1446         COFF_IMAGE_WITH_PE.
1447         (coff_compute_section_file_positions): If COFF_IMAGE_WITH_PE, sort
1448         sections by VMA when assigning target_index values.  Always set
1449         virt_size.
1450
1451         * libcoff-in.h (struct pei_section_tdata): Add pe_flags field.
1452         * coffcode.h (coff_set_alignment_hook) [COFF_WITH_PE version]: Set
1453         pe_flags field.
1454         * libcoff.h: Rebuild.
1455
1456         * coffcode.h (coff_set_custom_section_alignment): Add const to
1457         declaration to match definition.
1458         (coff_write_object_contents): Don't set F_AR32W(R)? if
1459         COFF_WITH_PE.
1460
1461         * coff-i386.c (in_reloc_p): Add declaration.
1462         (i386coff_vec): Simplify initialization of
1463         application_section_flags.
1464
1465         * coffcode.h (sec_to_styp_flags): Write separate COFF_WITH_PE
1466         version.  Move COFF_WITH_PE specific code to new version.
1467         (stype_to_sec_flags): Likewise.  Add section parameter.
1468         * coffgen.c (make_a_section_from_file): Set target_index before
1469         calling styp_to_sec_flags.  Pass section to styp_to_sec_flags.
1470         * libcoff.h: Rebuild.
1471
1472         * syms.c (stt): Add some PE/PEI section names.
1473         (bfd_decode_symclass): Return 'w', not 'U', for a weak undefined
1474         symbol.
1475         (bfd_symbol_info): Check for 'w'.
1476
1477         * section.c (struct bfd_comdat_info): Define.
1478         (asection): Add comdat field.
1479         (STD_SECTION): Initialize comdat field.
1480         (bfd_make_section_anyway): Likewise.
1481         * bfd-in2.h: Rebuild.
1482
1483 1999-09-06  Andreas Schwab  <schwab@suse.de>
1484
1485         * elflink.h (elf_link_add_object_symbols): Copy NON_GOT_REF flag
1486         to version symbols.
1487
1488 1999-09-06  Nick Clifton  <nickc@cygnus.com>
1489
1490         * elflink.h (elf_gc_record_vtentry): Use bfd_zmalloc and
1491         bfd_realloc instead of calloc and realloc.
1492
1493 1999-09-04  Steve Chamberlain  <sac@pobox.com>
1494
1495         * cpu-pj.c: New file.
1496         * elf32-pj.c: New file.
1497         * config.bfd (pj*): New cpu.
1498         (pj-*-*, pjl-*-*): New targets.
1499         * configure.in (bfd_elf32_pj_vec): New target vector.
1500         (bfd_elf32_pjl_vec): New target vector.
1501         * archures.c (bfd_arch_pj): Define.
1502         * elf.c (prep_headers): Handle bfd_arch_pj.
1503         * reloc.c: Define BFD_RELOC_PJ_* relocations.
1504         * targets.c (bfd_elf32_pj_vec, bfd_elf32_pjl_vec): Declare and add
1505         to target vector list.
1506         * Makefile.am: Rebuild dependencies.
1507         (ALL_MACHINES): Add cpu-pj.lo.
1508         (ALL_MACHINES_CFILES): Add cpu-pj.c.
1509         (BFD32_BACKENDS): Add elf32-pj.lo.
1510         (BFD32_BACKENDS_CFILES): Add elf32-pj.c.
1511         * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
1512
1513 1999-09-04  Ian Lance Taylor  <ian@zembu.com>
1514
1515         * elf-bfd.h (ELF_LINK_NON_GOT_REF): Define.
1516         * elflink.h (elf_adjust_dynamic_symbol): Copy REF_REGULAR_NONWEAK
1517         and NON_GOT_REF from weak defined symbol to real symbol.
1518         * elf32-i386.c (elf_i386_check_relocs): Set NON_GOT_REF.
1519         (elf_i386_adjust_dynamic_symbol): If NON_GOT_REF is not set, don't
1520         create a COPY reloc.
1521         * elf32-sparc.c (elf32_sparc_check_relocs): Set NON_GOT_REF.
1522         (elf32_sparc_adjust_dynamic_symbol): If NON_GOT_REF is not set,
1523         don't create a COPY reloc.
1524
1525 1999-09-03  Ian Lance Taylor  <ian@zembu.com>
1526
1527         * elflink.h (elf_bfd_final_link): When counting relocations, don't
1528         count those in sections we are not including in the link.
1529
1530 Thu Sep  2 17:41:20 1999  Jeffrey A Law  (law@cygnus.com)
1531
1532         * elflink.h (elf_link_add_object_symbols): Work around bogus SH_LINK
1533         field in hpux11 shared libraries.
1534
1535 1999-09-02  Nick Clifton  <nickc@cygnus.com>
1536
1537         * elflink.h (elf_gc_record_vtentry): Fix memory leak.
1538
1539 Wed Sep  1 13:34:29 1999  Jeffrey A Law  (law@cygnus.com)
1540
1541         * elf-hppa.h (elf_hppa_add_symbol_hook): New function.
1542         (elf_hppa_final_link, elf_hppa_relocate_section): Likewise.
1543         (elf_hppa_final_link_relocate, elf_hppa_relocate_insn): Likewise.
1544
1545 1999-08-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1546
1547         * elflink.h (record_link_assignment): When possible, keep the
1548         original type of the symbol.
1549
1550 Mon Aug 30 15:26:48 1999  Jeffrey A Law  (law@cygnus.com)
1551
1552         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Allow both
1553         R_PARISC_DIR32 and R_PARISC_DIR64 regardless of how the
1554         tools were configured.
1555         * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Declare.
1556
1557 1999-08-26  Mark Mitchell  <mark@codesourcery.com>
1558
1559         * elf32-mips.c (_bfd_mips_elf_check_relocs): Don't allocate local
1560         GOT entries for GOT16 relocations; they're not required.
1561
1562 1999-08-24  Nick Clifton  <nickc@cygnus.com>
1563
1564         From a patch submitted by Roland McGrath  <roland@baalperazim.frob.com>
1565
1566         * config.bfd (arm-*-netbsd*): New target.
1567         * configure.in (armnetbsd_vec): New target vector.
1568         * configure: Regenerate
1569         * targets.c (bfd_target_vector): Add &armnetbsd_vec.
1570
1571         * Makefile.am (BFD32_BACKENDS): Add armnetbsd.lo.
1572         (ALL_MACHINES_CFILES): Add armnetbsd.c.
1573         (armnetbsd.lo): New rule with deps.
1574         * Makefile.in: Regenerate.
1575         
1576         * armnetbsd.c: New file:  Definitions specific to arm-netbsd
1577         target. 
1578
1579 Tue Aug 24 00:25:58 1999  Jeffrey A Law  (law@cygnus.com)
1580
1581         * som.c (som_slurp_symbol_table): Fix typo in comment.
1582
1583 Fri Aug 20 17:01:23 1999  Jeffrey A Law  (law@cygnus.com)
1584
1585         * elf-hppa.h (elf_hppa_fake_sections): Compute section indices
1586         here instead of using elf_section_data...
1587
1588 1999-08-19  Nick Clifton  <nickc@cygnus.com>
1589
1590         * coff-mcore.c (mcore_emit_base_file_entry): New function:  Emit
1591         relocations into the base file.
1592         (coff_mcore_relocate_section): Call mcore_emit_base_file_entry if
1593         we are building a base file.
1594
1595 1999-08-19  Nick Clifton  <nickc@cygnus.com>
1596
1597         * elf32-arm.h (arm_add_to_rel): New function.  Add a value to
1598         a REL style reloc.
1599         (elf32_arm_relocate_section): Use arm_add_to_rel to increment
1600         REL relocs when performing a partial relocation.
1601
1602 1999-08-18  Donn Terry  <donn@interix.com>
1603
1604         * cofflink.c: Move definitions of N_TMASK, et. al., out of
1605         _bfd_coff_link_input_bfd into top level.
1606
1607         * coff-i386.c (coff_i386_reloc): Handle R_IMAGEBASE.
1608         (RTYPE2HOWTO): Return NULL if reloc type is out of range.
1609         (coff_i386_rtype_to_howto): Likewise.
1610         * coffcode.h (coff_slurp_symbol_table): Change a -2 to N_DEBUG.
1611         Completely ignore symbols which are all zero.
1612         (dummy_reloc16_estimate): Add return 0.
1613         * cofflink.c (_bfd_coff_link_input_bfd): Rename inner scope
1614         variable copy to name_copy to avoid shadowing outer scope
1615         variable.
1616         * libcoff-in.h (coff_data_type): Change raw_syment_count field
1617         from unsigned int to unsigned long.  Add timestamp field.
1618         * libcoff.h: Rebuild.
1619
1620 1999-08-17  H.J. Lu  <hjl@gnu.org>
1621
1622         * elf32-hppa.c (bfd_elf32_bfd_is_local_label_name): Fix typo in
1623         macro definition.
1624
1625 1999-08-17  Ian Lance Taylor  <ian@zembu.com>
1626
1627         * elf32-mips.c (_bfd_mips_elf_add_symbol_hook): Set BSF_DYNAMIC
1628         for special section symbols.
1629         * elflink.h (elf_merge_symbol): If we have no old BFD, check
1630         BSF_DYNAMIC on the section symbol to see whether the old BFD is
1631         dynamic.
1632
1633 1999-08-15  Mark Mitchell  <mark@codesourcery.com>
1634
1635         * elf32-mips.c (mips_elf_calculate_relocation): Fix unfortunate
1636         coincidence of variable names between old and new code.
1637
1638 1999-08-12  Nick Clifton  <nickc@cygnus.com>
1639
1640         * elf32-arm.h (elf32_arm_to_thumb_stub):  Make 'offset' parameter
1641         into a bfd_vma and 'addend' parameter a 'bfd_signed_vma'.
1642         (elf32_thumb_to_arm_stub):  Make 'offset' parameter into a bfd_vma
1643         and 'addend' parameter a 'bfd_signed_vma'.
1644         (elf32_arm_final_link_relocate): Do not involve stubs in
1645         R_ARM_THM_PC22 relocs relative to section symbols, they are long
1646         jumps, not function calls.
1647
1648 1999-08-11  Robin Farine <advanc@dial.eunet.ch>
1649
1650         * elf32-arm.h (elf32_arm_final_link_relocate): Check for overflow
1651         in R_ARM_PC24 relocs.
1652
1653 Tue Aug 10 12:48:09 1999  Jeffrey A Law  (law@cygnus.com)
1654
1655         * elf-hppa.h (elf_hppa_fake_sections): New function.
1656         * elf32-hppa.c (elf_backend_fake_sections): Define.
1657
1658         * elf-hppa.h (elf_hppa_final_write_processing): Update for
1659         recent changes to the arch_info structure.
1660
1661         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle
1662         R_HPPA_SEGBASE and R_HPPA_SEGREL32.
1663         * cpu-hppa.c (bfd_hppa20w_arch): New entry in architecture info
1664         list.
1665
1666 Tue Aug 10 00:34:29 1999  Mark P. Mitchell  <mark@codesourcery.com>
1667                           Ralf Baechle <ralf@uni-koblenz.de>
1668
1669         * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Always
1670         output DT_MIPS_GOTSYM.
1671         (_bfd_mips_elf_finish_dynamic_sections): Use the same value as
1672         DT_MIPS_SYMTABNO if there are no global GOT symbols.
1673
1674 Tue Aug 10 00:21:08 1999  Mark P. Mitchell  <mark@codesourcery.com>
1675
1676         * elf32-mips.c (mips_elf_create_dynamic_relocation): Change
1677         prototype.  Handle local symbols.  Add commentary.
1678         (mips_elf_calculate_relocation): Adjust accordingly.
1679         (_bfd_mips_elf_check_relocs): Handle local symbols in R_MIPS_32
1680         relocations. 
1681         
1682         * elflink.h (elf_bfd_final_link): Tweak last change.
1683
1684 1999-08-09  Mark Mitchell  <mark@codesourcery.com>
1685
1686         * elflink.h (elf_link_size_reloc_section): Use the counts in the
1687         elf-section data to allocate just the right amount of relocation
1688         space.  Don't allocate the hash space twice.
1689         (elf_bfd_final_link): Calculate the amount of space to allocate in
1690         each relocation section.
1691
1692 Mon Aug  9 17:37:30 1999  Jeffrey A Law  (law@cygnus.com)
1693
1694         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case 32): When in
1695         64bit mode, generate a section relative relocation for a 32bit
1696         wide relocation.
1697         (elf_hppa_is_local_label_name): New function.
1698         * elf32-hppa.c (elf_hppa_is_local_label_name): Deleted.  To be
1699         shared between 32bit and 64bit port.
1700
1701 1999-08-09  Mark Mitchell  <mark@codesourcery.com>
1702
1703         * elf32-mips.c (elf_mips_howto_table): Fix src_mask for
1704         R_MIPS_GOT16 and R_MIPS_CALL16.
1705         (mips_elf_got16_entry): Use mips_elf_high to calculate the value
1706         to use when looking for a preexisting GOT entry.
1707
1708 1999-08-09  Jakub Jelinek  <jj@ultra.linux.cz>
1709
1710         * elf64-sparc.c (sparc64_elf_relocate_section): Back out part of
1711         the Sep. 4th, 1998 change.  glibc 2.0.x dynamic linker had bug,
1712         not binutils.
1713         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1714
1715 1999-08-09  Geoff Keating  <geoffk@cygnus.com>
1716
1717         * elflink.h (elf_link_output_extsym): Don't output a weak
1718         reference to an undefined symbol just because it was defined weak
1719         in a shared object.
1720
1721 1999-08-09  Eli Zaretskii  <eliz@is.elta.co.il>
1722
1723         * coffgen.c (coff_find_nearest_line): When looking for file, use
1724         last best match rather than first.  If address is beyond last line
1725         number record, don't return the last line as the correct value.
1726
1727 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
1728
1729         * section.c (SEC_SMALL_DATA): Rename from SEC_SHORT.
1730         * bfd-in2.h: Rebuild.
1731
1732 1999-08-08  Mark Elbrecht  <snowball3@bigfoot.com>
1733
1734         * libcoff-in.h (struct coff_section_alignment_entry): Define.
1735         * coffcode.h (coff_set_custom_section_alignment): New static
1736         function.
1737         (coff_section_alignment_table): New static array.
1738         (coff_new_section_hook): Use coff_set_customer_section_alignment.
1739         * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
1740         * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
1741         * libcoff.h: Rebuild.
1742
1743 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
1744
1745         * Makefile.am: Rename .dep* files to DEP*.  Change DEP variable to
1746         MKDEP.
1747         * Makefile.in: Rebuild.
1748
1749 1999-08-08  Mumit Khan  <khan@xraylith.wisc.edu>
1750
1751         * section.c (SEC_SHARED): Define.
1752         * coffcode.h (sec_to_styp_flags): Handle SEC_SHARED.
1753         (styp_to_sec_flags): Likewise.
1754         * peicode.h (coff_swap_scnhdr_out): Likewise.
1755         * bfd-in2.h: Rebuild.
1756
1757 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
1758
1759         * coffcode.h (coff_classify_symbol): Comment out part of
1760         1999-08-05 change which breaks cygwin DLLs.
1761
1762         * acinclude.m4 (BFD_BINARY_FOPEN): Change -windows to -windows*.
1763         * aclocal.m4, configure: Rebuild.
1764
1765 1999-08-06  Ian Lance Taylor  <ian@zembu.com>
1766
1767         * section.c (global_syms): Only initialize union field if
1768         __STDC__.
1769
1770 1999-08-04  Mark Mitchell  <mark@codesourcery.com>
1771
1772         * elf32-mips.c (mips_elf_got16_entry): Don't multiply GOT index by
1773         the size of a GOT entry here.
1774         (mips_elf_calculate_relocation): Don't create a local GOT entry
1775         for the symbol in a GOT16 relocation; just for it's high-order bit
1776         (_bfd_mips_elf_relocate_section): Fix thinko.
1777
1778 1999-08-05  Ian Lance Taylor  <ian@zembu.com>
1779
1780         Based on patches from Donn Terry <donn@interix.com>:
1781         * coffcode.h (enum coff_symbol_classification): Define.
1782         (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to
1783         _bfd_coff_classify_symbol.  Change return type.
1784         (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global.
1785         (coff_slurp_symbol_table): Use coff_classify_symbol.
1786         (coff_classify_symbol): New static function.
1787         (coff_sym_is_global): Never define.
1788         (bfd_coff_std_swap_table): Initialize with coff_classify_symbol.
1789         * cofflink.c (coff_link_check_ar_symbols): Use
1790         bfd_coff_classify_symbol rather than bfd_coff_sym_is_global.
1791         (coff_link_add_symbols): Likewise.
1792         (_bfd_coff_link_input_bfd): Likewise.
1793         * coff-sh.c (bfd_coff_small_swap_table): Initialize with
1794         coff_classify_symbol.
1795         * libcoff.h: Rebuild.
1796
1797 Wed Aug  4 18:08:07 1999  Jeffrey A Law  (law@cygnus.com)
1798
1799         * libhppa.h (R_HPPA_LTPSEL, R_HPPA_RTPSEL): New field selectors
1800         (e_ltpsel, e_rtpsel): Similarly.
1801
1802         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle 21bit e_ltpsel
1803         and 14bit ertpsel.  Handle 64bit psel.
1804
1805 1999-08-04  Mark Mitchell  <mark@codesourcery.com>
1806
1807         * elf32-mips.c (_bfd_mips_elf_relocate_section): Tweak HI16/LO16
1808         handling for REL relocations.  And only left-shift R_MIPS26
1809         relocation addends where necessary.
1810
1811 1999-08-03  Mark Mitchell  <mark@codesourcery.com>
1812
1813         * elf32-mips.c (mips_elf_next_lo16_addend): Rename to ...
1814         (mips_elf_next_lo16_relocation): Don't compute the addend here.
1815         Just return the relocation found.
1816         (mips_elf_relocate_section): Pull the LO16 addend out of the
1817         section itself when using REL relocations.
1818         
1819         * elf32-mips.c (mips_elf_calculate_relocation): Restore
1820         _DYNAMIC_LINK handling and handling of undefined symbols in shared
1821         libraries.
1822
1823 1999-08-03  Ian Lance Taylor  <ian@zembu.com>
1824
1825         * elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation
1826         value of a symbol in a SEC_DEBUGGING section.  Warn when doing a
1827         relocation against a symbol in an input section with no output
1828         section.  From Daniel Jacobowitz <drow@false.org>.
1829
1830         * coff-stgo32.c (go32_stubbed_coff_object_p): Remove; not used.
1831
1832         * acinclude.m4 (BFD_CC_FOR_BUILD): Change to use conftest, and to
1833         look for generated file correctly.
1834         * aclocal.m4, configure: Rebuild.
1835
1836 1999-08-02  Mark Mitchell  <mark@codesourcery.com>
1837
1838         * elf32-mips.c (_bfd_mips_elf_relocate_section): Handle R_MIPS_26
1839         and R_MIPS16_26 relocations correctly when relocating.
1840         (_bfd_mips_elf_check_relocs): Don't assume that R_MIPS_CALL_HI16
1841         and R_MIPS_CALL_LO16 are for global symbols.
1842         
1843 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
1844
1845         * elflink.h (elf_bfd_final_link): Copy the whole isym, not just
1846         some fields.
1847         * elf64-sparc.c (sparc64_elf_output_arch_syms): Declare used
1848         variables and initialize them.
1849
1850 1999-08-01  Mark Mitchell  <mark@codesourcery.com>
1851
1852         * elf32-mips.c (_bfd_mips_elf_final_link): Handle the case where
1853         there are no global symbols requiring GOT entries.
1854         (_bfd_mips_elf_size_dynamic_sections): Likewise.
1855         (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
1856         (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1857
1858         * elf32-mips.c (mips_elf_calculate_relocation): Undefined weak
1859         symbols are considered to have the value zero.
1860         (_bfd_mips_elf_relocate_section): Don't try to perform a
1861         relocation for an undefined symbol.
1862         (_bfd_mips_elf_check_relocs): Allocate locate GOT space for local
1863         GOT16 relocations.
1864
1865 1999-07-30  Jakub Jelinek  <jj@ultra.linux.cz>
1866
1867         * elf64-sparc.c (sparc64_elf_build_plt): Cosmetic change - ABI
1868         wants ba,a,pt %xcc instead of %icc.
1869         Emit correct .PLT0-(.PLTN+4) initial value into the pointer slots
1870         of large PLT entries.
1871         (sparc64_elf_plt_ptr_offset): Fix calculation.
1872         (sparc64_elf_finish_dynamic_symbol): Negative value of R_SPARC_JMP_SLOT
1873         addend should be relative to load address, not .plt section start.
1874         (sparc64_elf_size_info): Sparc64 uses 32bit .hash entries.
1875
1876 1999-07-30  Jakub Jelinek  <jj@ultra.linux.cz>
1877
1878         * elf-bfd.h (struct elf_backend_data): Add
1879         print_symbol_all and output_arch_syms backend methods.
1880         * elfxx-target.h: Likewise.
1881         * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create,
1882         sparc64_elf_add_symbol_hook, sparc64_elf_output_arch_syms,
1883         sparc64_elf_get_symbol_type, sparc64_elf_symbol_processing): New
1884         functions.
1885         (sparc64_elf_size_dynamic_sections): Leave space for STT_REGISTER
1886         symbols in .dynsym, add their names into .dynstr. Put those symbols
1887         into dynlocal.
1888         (sparc64_elf_finish_dynamic_sections): Fix up DT_SPARC_REGISTER
1889         pointers to STT_REGISTER symbols in dynsym section.
1890         (sparc64_elf_print_symbol_all): New function.
1891         * elf.c (bfd_elf_print_symbol): Allow special backend symbol
1892         printing using the print_symbol_all hook.
1893
1894 1999-07-30  Catherine Moore  <clm@cygnus.com>
1895
1896         * elf32-arm.h (elf32_arm_check_relocs):  Use r_offset for
1897         R_ARM_GNU_VTENTRY.
1898
1899 1999-07-29  Richard Henderson  <rth@cygnus.com>
1900
1901         * elf32-mips.c (_bfd_mips_elf_final_link): Only re-sort dynsyms if
1902         dynamic_sections_created.
1903
1904 1999-07-29  Richard Henderson  <rth@cygnus.com>
1905
1906         * elf32-mips.c (mips_info_to_howto_rel): Split out switch to ...
1907         (mips_rtype_to_howto): ... new function.
1908         (_bfd_mips_elf_relocate_section): Use it.
1909
1910 1999-07-28  Mark Mitchell  <mark@codesourcery.com>
1911
1912         * elf32-mips.c (_bfd_mips_elf_relocate_section): Fix typo.
1913
1914 1999-07-27  Nick Clifton  <nickc@cygnus.com>
1915
1916         Patch generated by Bernd Schmidt. <bernds@cygnus.co.uk>
1917         
1918         * coff-arm.c (coff_arm_is_local_label_name): Change to strip
1919         out only symbols that start with LOCAL_LABEL_PREFIX followed by 'L'.
1920
1921 1999-07-23  Donn Terry  <donn@interix.com>
1922
1923         * libcoff-in.h (coff_link_hash_entry): Add coff_link_hash_flags
1924         field, and define COFF_LINK_HASH_PE_SECTION_SYMBOL.
1925         * cofflink.c (coff_link_add_symbols): If PE, handle section
1926         symbols specially.
1927         * libcoff.h: Rebuild.
1928
1929         * config.bfd (i[3456]86-*-interix*): New target.
1930
1931 1999-07-21  Mark Elbrecht  <snowball3@bigfoot.com>
1932
1933         * coffcode.h (styp_to_sec_flags): If COFF_LONG_SECTION_NAMES and
1934         COFF_SUPPORT_GNU_LINKONCE, mark sections whose names begin with
1935         .gnu.linkonce with SEC_LINKONCE and SEC_LINK_DUPLICATES_DISCARD.
1936         * coff-go32.c: (COFF_LONG_SECTION_NAMES): Define.
1937         (COFF_SUPPORT_GNU_LINKONCE): Define.
1938         * coff-stgo32.c: (COFF_LONG_SECTION_NAMES): Define.
1939         (COFF_SUPPORT_GNU_LINKONCE): Define.
1940
1941 1999-07-21  Ian Lance Taylor  <ian@zembu.com>
1942
1943         From Mark Elbrecht:
1944         * makefile.dos: Remove; obsolete.
1945         * configure.bat: Remove; obsolete.
1946
1947 1999-07-21  H.J. Lu  <hjl@gnu.org>
1948
1949         * config.bfd (i[3456]86-*-vxworks*): Add targ_underscore=yes.
1950
1951 1999-07-21  Philippe De Muyter  <phdm@macqel.be>
1952
1953         * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error
1954         message and fail if a symbol index is out of range.
1955
1956 1999-07-21  Ian Lance Taylor  <ian@zembu.com>
1957
1958         * elf32-mips.c (mips_elf_calculate_relocation): Get the GP value
1959         when looking at a R_MIPS_GOT16 relocation.
1960
1961 1999-07-20  Nick Clifton  <nickc@cygnus.com>
1962
1963         * coff-m88k.c: Use CREATE_BIG_COFF_TARGET_VEC.
1964
1965 Mon Jul 19 14:03:44 1999  Mark P. Mitchell  <mark@codesourcery.com>
1966
1967         * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP
1968         removed in previous change.
1969         (_bfd_mips_elf_relocate_section): Adjust GP relative relocations
1970         in relocateable output.
1971
1972 1999-07-19  Ian Lance Taylor  <ian@zembu.com>
1973
1974         * coff-m88k.c (m88kbcs_vec): Initialize new field of bfd_target
1975         structure.
1976
1977         * elflink.h (elf_merge_symbol): Do merge symbols from the same BFD
1978         if they appear to be specially created by the linker.
1979
1980 1999-07-19  Nick Clifton  <nickc@cygnus.com>
1981
1982         * targets.c (alternative_target): New field in bfd_target
1983         structure.
1984         (bfd_search_for_target): New function:  Find a target that
1985         satisifies a search function.
1986         * bfd-in2.h: Regenerate.
1987
1988         * elfxx-target.h: Initialise the alternative_target field of
1989         the bfd_target structures to point to the other target (if
1990         defined).
1991         * nlm-target.h: Initialise the alternative_target field of
1992         the bfd_target structures to point to the other target (if
1993         defined).
1994         
1995         * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): New macro.
1996         (CREATE_LITTLE_COFF_TARGET_VEC): New macro.
1997         
1998         * aix386-core.c: Initialise new field of bfd_target structure. 
1999         * aout-adobe.c: Initialise new field of bfd_target structure. 
2000         * aout-arm.c: Initialise new field of bfd_target structure. 
2001         * aout-target.h: Initialise new field of bfd_target structure. 
2002         * aout-tic30.c: Initialise new field of bfd_target structure. 
2003         * binary.c: Initialise new field of bfd_target structure. 
2004         * bout.c: Initialise new field of bfd_target structure. 
2005         * cisco-core.c: Initialise new field of bfd_target structure. 
2006         * coff-a29k.c: Use CREATE_BIG_COFF_TARGET_VEC.
2007         * coff-alpha.c: Initialise new field of bfd_target structure. 
2008         * coff-apollo.c: Use CREATE_BIG_COFF_TARGET_VEC.
2009         * coff-arm.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
2010         * coff-h8300.c: Use CREATE_BIG_COFF_TARGET_VEC.
2011         * coff-h8500.c: Use CREATE_BIG_COFF_TARGET_VEC.
2012         * coff-i386.c: Initialise new field of bfd_target structure. 
2013         * coff-i860.c: Initialise new field of bfd_target structure. 
2014         * coff-i960.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
2015         * coff-m68k.c: Use CREATE_BIG_COFF_TARGET_VEC.
2016         * coff-mcore.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
2017         * coff-mips.c: Initialise new field of bfd_target structure. 
2018         * coff-ppc.c: Initialise new field of bfd_target structure. 
2019         * coff-rs6000.c: Initialise new field of bfd_target structure. 
2020         * coff-sh.c:  Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
2021         * coff-sparc.c: Use CREATE_BIG_COFF_TARGET_VEC.
2022         * coff-tic30.c: Initialise new field of bfd_target structure. 
2023         * coff-tic80.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
2024         * coff-w65.c:   Use CREATE_LITTLE_COFF_TARGET_VEC.
2025         * coff-we32k.c: Use CREATE_BIG_COFF_TARGET_VEC.
2026         * coff-z8k.c:   Use CREATE_BIG_COFF_TARGET_VEC.
2027         * hppabsd-core.c: Initialise new field of bfd_target structure. 
2028         * hpux-core.c: Initialise new field of bfd_target structure. 
2029         * i386msdos.c: Initialise new field of bfd_target structure. 
2030         * i386os9k.c: Initialise new field of bfd_target structure. 
2031         * ieee.c: Initialise new field of bfd_target structure. 
2032         * ihex.c: Initialise new field of bfd_target structure. 
2033         * irix-core.c: Initialise new field of bfd_target structure. 
2034         * mipsbsd.c: Initialise new field of bfd_target structure. 
2035         * netbsd-core.c: Initialise new field of bfd_target structure. 
2036         * oasys.c: Initialise new field of bfd_target structure. 
2037         * osf-core.c: Initialise new field of bfd_target structure. 
2038         * ppcboot.c: Initialise new field of bfd_target structure. 
2039         * ptrace-core.c: Initialise new field of bfd_target structure. 
2040         * sco5-core.c: Initialise new field of bfd_target structure. 
2041         * som.c: Initialise new field of bfd_target structure. 
2042         * srec.c: Initialise new field of bfd_target structure. 
2043         * tekhex.c: Initialise new field of bfd_target structure. 
2044         * trad-core.c: Initialise new field of bfd_target structure. 
2045         * versados.c: Initialise new field of bfd_target structure. 
2046         * vms.c: Initialise new field of bfd_target structure. 
2047
2048 1999-07-19  Andreas Schwab  <schwab@suse.de>
2049
2050         * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash
2051         and rel_hdr.
2052
2053 Sat Jul 17 02:28:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
2054
2055         * elflink.h (elf_link_adjust_relocs): New function.
2056         (elf_bfd_final_link): Use it.
2057         (elf_link_input_bfd): Deal with the fact that there can be 
2058         two relocation sections for a single section.
2059         (elf_reloc_link_order): Likewise.
2060
2061         * elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for 
2062         a relocateable object.
2063         (_bfd_mips_elf_relocate_section): Handle relocateable links.
2064
2065 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
2066
2067         * elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID.
2068         (sparc64_elf_get_reloc_upper_bound,
2069         sparc64_elf_get_dynamic_reloc_upper_bound,
2070         sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
2071         sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs):
2072         New functions.
2073         (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use
2074         ELF64_R_TYPE_ID/DATA where appropriate.
2075
2076 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
2077
2078         * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove
2079         DT_SPARC_PLTFMT.
2080
2081 1999-07-16  Ian Lance Taylor  <ian@zembu.com>
2082
2083         * elf32-mips.c (mips_elf_local_relocation_p): New static
2084         function.
2085         (mips_elf_next_lo16_addend): Call bfd_set_error on failure.
2086         (mips_elf_calculate_relocation): Use mips_elf_local_relocation_p.
2087         Always set *require_jalxp.
2088         (mips_elf_stub_section_p): Mark abfd parameter as unused.
2089         (_bfd_mips_elf_relocate_section): Only look for LO16 following
2090         GOT16 if the GOT16 is against a local symbol.  Don't return false
2091         for an undefined symbol.  If there is an overflow, assert that we
2092         have a name.
2093
2094 1999-07-16  Andreas Schwab  <schwab@suse.de>
2095
2096         * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused
2097         variables `link' and `elfsec'.
2098         (elf_bfd_final_link): Remove unused variable `os'.
2099
2100 Thu Jul 15 17:55:31 1999  Mark P. Mitchell  <mark@codesourcery.com>
2101
2102         * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require
2103         a PT_PHDR program headers.
2104         (_bfd_mips_elf_final_link): Don't assume there are going to be
2105         section symbols when we're not building a shared object.
2106         (_bfd_mips_elf_check_relocs): Make sure we have a GOT when
2107         we need one.
2108
2109 1999-07-15  J.T. Conklin  <jtc@redback.com>
2110
2111         * config.bfd (i[3456]86-*-vxworks*): New target.
2112
2113 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
2114
2115         * elf32-mips.c (mips_elf_stub_section_p): New function.
2116         (mips_elf_calculate_relocation): Handle MIPS16 stub functions.
2117         (mips_elf_relocate_section): Adjust calling sequence for
2118         mips_elf_calculate_relocation and mips_elf_perform_relocation.
2119         (mips_elf_perform_relocation): Turn `jal' into `jalx' where
2120         required.
2121
2122 1999-07-15  Ian Lance Taylor  <ian@zembu.com>
2123
2124         * configure.in: Bump version number to 2.9.5.
2125         * configure: Rebuild.
2126
2127 Thu Jul 15 02:56:15 1999  Jeffrey A Law  (law@cygnus.com)
2128
2129         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
2130         64bit format.
2131         (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
2132         to derive final type instead of hardwiring a selection.
2133
2134 1999-07-14  Mark Mitchell  <mark@codesourcery.com>
2135
2136         * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of
2137         things relocated by R_MIPS16_GPREL.
2138         (mips_elf_perform_relocation): Likewise.
2139
2140 Wed Jul 14 15:23:19 1999  Jim Wilson  <wilson@cygnus.com>
2141
2142         * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss.
2143
2144 1999-07-14  Richard Henderson  <rth@cygnus.com>
2145
2146         * elf32-mips.c (struct mips_got_info): Add global_gotno.
2147         (_bfd_mips_elf_size_dynamic_sections): Set it.
2148         (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow.
2149         (mips_elf_sort_hash_table): Set max_non_got_dynindex based off
2150         new argument max_local.
2151
2152 1999-07-14  Mark Mitchell  <mark@codesourcery.com>
2153
2154         * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit
2155         subwords when handling an R_MIPS16_26 relocation.
2156         (mips_elf_perform_relocation): Don't be paranoid abour right-shift
2157         semantics.
2158         
2159         * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and
2160         dst_mask to match reality.
2161         (_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL.
2162         (mips_elf_obtain_contents): Use bfd_get.
2163         (mips_elf_perform_relocation): Handle R_MIPS16_GPREL.
2164         (mips_elf_relocate_section): Likewise.
2165
2166 1999-07-13  Mark Mitchell  <mark@codesourcery.com>
2167
2168         * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
2169         (mips_elf_relocate_section): Adjust calling sequence for 
2170         mips_elf_perform_relocation.
2171         (mips_elf_perform_relocation): Take additional argument.  Handle
2172         R_MIPS16_26.  Use bfd_put for convenience.
2173
2174 1999-07-13  Richard Henderson  <rth@cygnus.com>
2175
2176         * elf.c (assign_file_positions_for_segments): Thinko last change.
2177         Always overwrite p_flags.
2178
2179 1999-07-13  Richard Henderson  <rth@cygnus.com>
2180
2181         * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
2182         * elflink.c (_bfd_elf_create_dynamic_sections): Only create
2183         .dynbss and .rel[a].bss if want_dynbss.
2184         * elfxx-target.h (elf_backend_want_dynbss): Provide default.
2185
2186 1999-07-13  Richard Henderson  <rth@cygnus.com>
2187
2188         * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags.
2189
2190 1999-07-13  Richard Henderson  <rth@cygnus.com>
2191
2192         * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
2193         (struct elf_link_hash_table): Add dynlocal.
2194         (_bfd_elf_link_lookup_local_dynindx): Prototype.
2195         (_bfd_elf_link_adjust_dynindx): Delete.
2196         (_bfd_elf_link_renumber_dynsyms): Prototype.
2197         (_bfd_elf,link_record_local_dynamic_symbol): Prototype.
2198         * elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
2199         * elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
2200         (_bfd_elf_link_lookup_local_dynindx): New function.
2201         (elf_link_renumber_hash_table_dynsyms): New function.
2202         (_bfd_elf_link_renumber_dynsyms): New function.
2203         * elflink.h (elf_link_record_local_dynamic_symbol): New function.
2204         (struct elf_assign_sym_version_info): Delete removed_dynamic.
2205         (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
2206         instead of elf_link_remove_section_and_adjust_dynindices.
2207         Remove removed_dynamic code.  Use _bfd_elf_link_renumber_dynsyms.
2208         (elf_link_assign_sym_version): Remove removed_dynamic code.
2209         (elf_link_renumber_dynsyms): Delete.
2210         (elf_bfd_final_link): Install section and local symbols into .dynsym.
2211
2212         * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
2213         (elf_m68k_size_dynamic_sections): Don't set section dynindicies.
2214         (elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
2215         * elf32-mips.c: Similarly.
2216         * elf32-ppc.c: Similarly.
2217         * elf32-sparc.c: Similarly.
2218         * elf64-alpha.c: Similarly.
2219         * elf64-sparc.c: Similarly.
2220
2221 1999-07-13  Mark Mitchell  <mark@codesourcery.com>
2222
2223         * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
2224         when _gp_disp is undefined.  Do not check R_MIPS_LO16 for overflow
2225         when the relocation is against _gp_disp.
2226
2227 1999-07-12  Mark Mitchell  <mark@codesourcery.com>
2228
2229         * dwarf2.c (read_attribute): Support DW_FORM_ref8.
2230         * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs
2231         to possibly_dynamic_relocs.  Adjust usage throughout code.
2232         (elf_mips_howto_table): Handle R_MIPS_64 correctly.
2233         (elf_mips_ctor64_howto): Likewise.
2234         (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32.
2235         Adjust indentation.
2236         (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode.
2237         (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32.
2238         Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries.
2239         * elf64-mips.c (elf_backend_may_use_rel_p): Define.
2240
2241 1999-07-12  Ian Lance Taylor  <ian@zembu.com>
2242
2243         * Makefile.am: Rebuild dependencies.
2244         * Makefile.in: Rebuild.
2245
2246         * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE.
2247         * bfd-in2.h: Rebuild.
2248
2249         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
2250         as appropriate.  Use EMPTY_HOWTO as appropriate.  Fill in
2251         structure initializations.  Add casts.
2252         * reloc.c (EMPTY_HOWTO): Define.
2253         * bfd-in2.h: Rebuild.
2254         * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
2255         comparisons against 0.
2256         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
2257         previous_ibfd_e_flags to unsigned long.
2258         * vms.h (struct vms_private_data_struct): Change section_count to
2259         unsigned.
2260         * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
2261         (_bfd_vms_write_gsd): Change symnum to unsigned.
2262         * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
2263         * vms-tir.c (etir_sta): Change psect to unsigned.
2264         (alloc_section): Change idx to unsigned.
2265         (tir_sta, tir_ctl): Change psect to unsigned.
2266         (_bfd_vms_write_tir): Change len and before to bfd_size_type.
2267         * vms.c (priv_section_count): Change to unsigned.
2268
2269 1999-07-12  Andreas Schwab  <schwab@suse.de>
2270
2271         * elf32-m68k.c: Add some ATTRIBUTE_UNUSED.
2272         * m68klinux.c: Likewise.
2273
2274 1999-07-12  Ian Lance Taylor  <ian@zembu.com>
2275
2276         * Many files: Changes to avoid gcc warnings: Remove unused local
2277         variables.  Add default case to enum switches.
2278         * coff-arm.c (bfd_arm_allocate_interworking_sections): Only
2279         compile if not COFF_IMAGE_WITH_PE.
2280         (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
2281         (bfd_arm_get_bfd_for_interworking): Likewise.
2282         (bfd_arm_process_before_allocation): Likewise.
2283         * epoc-pei-arm.c: Don't rename bfd_arm functions.
2284         * pei-arm.c: Likewise.
2285         * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
2286         (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
2287         (mips_elf_got16_entry): Put parens around & in body of ==.
2288         (mips_elf_calculate_relocation): Correct test for empty string.
2289         * vms-gsd.c: Use _bfd_error_handler rather than fprintf to
2290         stderr.
2291         * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
2292         format.
2293
2294 1999-07-11  Ian Lance Taylor  <ian@zembu.com>
2295
2296         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
2297         as appropriate.  Fill in structure initializations.  Add variable
2298         initializations.  Add casts.
2299         * dwarf1.c (parse_line_table): Change eachLine to unsigned long.
2300         (dwarf1_unit_find_nearest_line): Change i to unsigned long.
2301
2302         * elf.c (bfd_elf_hash): Change parameter from unsigned char * to
2303         char *.
2304         * elf-bfd.h (bfd_elf_hash): Update declaration.
2305         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts
2306         when calling bfd_elf_hash.
2307
2308 1999-07-11  Mark Mitchell  <mark@codesourcery.com>
2309
2310         * libbfd.c (bfd_put_8): Make it of type `void'.
2311         * bfd-in2.h: Regenerated.
2312         * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
2313         for 32-bit hosts.
2314         (_bfd_mips_elf_final_link): Likewise.
2315
2316         * elflink.h (elf_link_read_relocs_from_section): Be type-correct.
2317
2318 Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
2319
2320         * config.bfd (hppa*-*-linux-gnu*): New target
2321
2322 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
2323
2324         * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
2325         (_bfd_mips_elf_create_dynamic_sections): New function.
2326         (_bfd_mips_elf_add_symbol_hook): Likewise.
2327         (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
2328         (_bfd_mips_elf_finish_dynamic_symbol): Likewise.        
2329         (_bfd_mips_elf_finish_dynamic_sections): Likewise.
2330         (_bfd_mips_elf_gc_mark_hook): Likewise.
2331         (_bfd_mips_elf_gc_sweep_hook): Likewise.
2332         (_bfd_mips_elf_always_size_sections): Likewise.
2333         (_bfd_mips_elf_size_dynamic_sections): Likewise.
2334         (_bfd_mips_elf_check_relocs): Likewise.
2335         (_bfd_mips_elf_link_hash_table_create): Likewise.
2336         (_bfd_mips_elf_print_private_data): Likewise.
2337         (_bfd_mips_elf_link_output_symbol_hook): Likewise.
2338         (_bfd_mips_elf_final_link): Likewise.
2339         (_bfd_mips_elf_additional_program_headers): Likewise.
2340         (_bfd_mips_elf_modify_segment_map): Likewise.
2341         (_bfd_mips_elf_relocate_section): Likewise.
2342         * elf32-mips.c (mips_elf32_object_p): Move contents into
2343         _bfd_mips_elf_object_p.
2344         (mips_elf_additional_program_headers): Rename to
2345         _bfd_mips_elf_additional_program_headers.
2346         (mips_elf_modify_segment_map): Rename to
2347         _bfd_mips_elf_modify_segment_map.
2348         (elf_mips_abi_name): Change prototype.
2349         (mips_elf32_section_from_shdr): Merge into
2350         _bfd_mips_elf_section_from_shdr.
2351         (mips_elf32_section_processing): Merge into
2352         _bfd_mips_elf_section_processing.
2353         (mips_elf_final_link): Rename to _bfd_mips_elf_final_link.  Invoke
2354         the right back-end ELF linker.
2355         (mips_elf_relocate_section): Rename to
2356         _bfd_mips_elf_relocate_section.  Clean up.  Adjust for 64-bit code.
2357         (mips_elf_link_output_symbol_hook): Rename to
2358         _bfd_mips_elf_link_output_symbol_hook.
2359         (mips_elf_create_dynamic_section): Rename to
2360         _bfd_mips_elf_create_dynamic_section.
2361         (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs.
2362         Adjust for 64-bit code.  Use mips_elf_got_section.
2363         (mips_elf_adjust_dynamic_symbol): Rename to
2364         _bfd_mips_elf_adjust_dynamic_symbol.  Use
2365         mips_elf_allocate_dynamic_relocations.
2366         (mips_elf_finish_dynamic_symbol): Rename to
2367         _bfd_mips_elf_finish_dynamic_symbol.  Use mips_elf_got_section.
2368         Adjust for 64-bit code.
2369         (mips_elf_finish_dynamic_sections): Rename to
2370         _bfd_mips_elf_finish_dynamic_sections.  Adjust for 64-bit code.
2371         (mips_elf_always_size_sections): Rename to
2372         _bfd_mips_elf_always_size_sections.
2373         (mips_elf_add_symbol_hook): Rename to
2374         _bfd_mips_elf_add_symbol_hook.
2375         (mips_elf_next_lo16_addend): Constify.
2376         (mips_elf_calculate_relocation): Likewise.
2377         (mips_elf_obtain_contents): Likewise.
2378         (mips_elf_perform_relocation): Likewise.
2379         (mips_elf_create_dynamic_relocation): Likewise.
2380         (mips_elf_allocate_dynamic_relocations): New function.
2381         (MIPS_ELF_REL_DYN_SECTION_NAME): New macro.
2382         (MIPS_ELF_REL_SIZE): Likewise.
2383         (MIPS_ELF_DYN_SIZE): Likewise.
2384         (MIPS_ELF_GOT_SIZE): Likewise.
2385         (MIPS_ELF_SYM_SIZE): Likewise.
2386         (MIPS_ELF_LOG_FILE_ALIGN): Likewise.
2387         (MIPS_ELF_GET_WORD): Likewise.
2388         (MIPS_ELF_PUT_WORD): Likewise.
2389         (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
2390         (STUB_LW): Conditionalize for 64-bit value.
2391         (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST
2392         entries.
2393         (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS].
2394         Check it for inconsistency.
2395         (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit
2396         ABI.
2397         (_bfd_mips_elf_fake_sections): Remove duplicate handling of
2398         .msym. 
2399         (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE.
2400         (mips_elf_got_offset_from_index): Use misp_elf_got_section.
2401         (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE.
2402         (mips_elf_local_got_index): Likewise.
2403         (mips_elf_got_page): Likewise.
2404         (mips_elf_got_info): Likewise.
2405         (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split.
2406         (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code.
2407         (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN,
2408         instead of constant `2'.
2409         (mips_elf_create_got_section): Tidy.  Use MIPS_ELF_GOT_SIZE.
2410         (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN.
2411         (mips_elf_size_dynamic_sections): Use
2412         MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE,
2413         MIPS_ELF_ADD_DYNAMIC_ENTRY.  Remove #if 0'd code.
2414         Adjust all releveant entries in elf backend table.
2415         * elf64-mips.c (mips_elf64_section_from_shdr): Remove.
2416         (mips_elf64_section_processing): Likewise.
2417         Adjust elf backend entries to use _bfd_mips_elf variants now
2418         publicly available.
2419         
2420         * elflink.h (elf_link_create_dynamic_sections): Handle non-standard
2421         hash-entry sizes.
2422         (size_dynamic_sections): Likewise.
2423         (elf_link_output_extsym): Likewise.
2424         * elf.c: (elf_fake_sections): Likewise.
2425         * libbfd.c (bfd_get): New macro.
2426         (bfd_put): Likewise.
2427         * bfd-in2.h: Regenerated.
2428
2429 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
2430
2431         * elf-bfd.h (elf_size_info): Add hash_entry_size,
2432         int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out,
2433         wap_reloca_in, and swap_reloca_out. 
2434         * elflink.h (elf_link_read_relocs_from_section): Adjust to handle
2435         multiple internal relocations per external relocation.
2436         (link_read_relocs): Likewise.
2437         (elf_bfd_final_link): Likewise.
2438         (elf_link_input_bfd): Likewise.
2439         (elf_gc_mark): Likewise.
2440         (elf_gc_smash_unused_vtentry_relocs): Likewise.
2441         * elfcode.h (elf_swap_dyn_out): Adjust type to match
2442         elf_swap_dyn_in.
2443         (size_info): Add entries for new fields.
2444         * elf64-mips.c (mips_elf64_swap_reloc_out): Enable.
2445         (mips_elf64_be_swap_reloc_in): New function.
2446         (mips_elf64_be_swap_reloc_out): Likewise.
2447         (mips_elf64_be_swap_reloca_in): Likewise.
2448         (mips_elf64_be_swap_reloca_out): Likewise.
2449         (mips_elf64_size_info): Add entries for new fields.
2450         
2451 1999-07-07  Ian Lance Taylor  <ian@zembu.com>
2452
2453         * elflink.h (elf_bfd_final_link): Assert that section reloc_count
2454         field equals the new rel_count field.
2455         (elf_link_input_bfd): When doing a relocateable link, use the new
2456         rel_count field rather than the reloc_count field.
2457         (elf_reloc_link_order): Likewise.
2458         (elf_finish_pointer_linker_section): Likewise.
2459
2460         Based on patch from H.J. Lu <hjl@gnu.org>:
2461         * elflink.h (elf_merge_symbol): Permit a non-weak definition in a
2462         shared library to override a weak definition in a regular object.
2463
2464 Tue Jul  6 10:23:39 1999  Jeffrey A Law  (law@cygnus.com)
2465
2466         * libhppa.h: Revert July 2, 1999 patch.
2467
2468         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors
2469         need to generate DLTIND relocations, not DLTREL relocations.
2470
2471 1999-07-05  Nick Clifton  <nickc@cygnus.com>
2472
2473         * coffcode.h (coff_set_arch_mach_hook): Recognise arm 5
2474         architectures. 
2475         (coff_set_flags): Recognise arm 5 architectures.
2476
2477         * cpu-arm.c: Add support for strongarm and arm9 cpus.
2478         Add support for armv5 architecture.
2479
2480         * archures.c: Add bfd_mach_arm_5 and bfd_mach_arm_5T.
2481         
2482         * reloc.c: Add new, assembler only, ARM reloc:
2483         BFD_RELOC_ARM_ADRL_IMMEDIATE.
2484         
2485         * bfd-in2.h: Regenerate.
2486
2487 1999-07-02  Mark Mitchell  <mark@codesourcery.com>
2488
2489         * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.
2490         (_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter.
2491         * elf.c (_bfd_elf_find_nearest_line): Pass it.
2492         * elf32-arm.h (elf32_arm_find_nearest_line): Likewise.
2493         * elf32-mips.c (ABI_64_P): New macro.
2494         (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P.
2495         (_bfd_mips_elf_find_nearest_line): Adjust call to
2496         _bfd_dwarf2_find_nearest_line.
2497         * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
2498         * libbfd.h: Regenerated.
2499
2500 1999-07-02  Ian Lance Taylor  <ian@zembu.com>
2501
2502         * config.bfd: Add * at the end of i[3456]86-*-unixware.
2503
2504 Fri Jul  2 12:21:10 1999  Jeffrey A Law  (law@cygnus.com)
2505
2506         * libhppa.h (HPPA_R_ARG_RELOC): Delete.
2507         (HPPA_R_CONSTANT, HPPA_R_ADDEND): Likewise.
2508
2509 1999-07-01  Mark Mitchell  <mark@codesourcery.com>
2510
2511         * elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2
2512         fields.
2513         (_bfd_elf_init_reloc_shdr): New function.
2514         * elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than
2515         bfd_alloc followed by memset.
2516         (_bfd_elf_init_reloc_shdr): New function, split out from ...
2517         (elf_fake_sections): Here.
2518         (assign_section_numbers): Assign section numbers for the second
2519         relocation section, if required.
2520         * elflink.h (elf_link_output_relocs): New function.
2521         (elf_link_size_reloc_section): Likewise.
2522         (elf_bfd_final_link): Use elf_link_size_reloc_section.
2523         (elf_link_input_bfd): Use elf_link_output_relocs.
2524         
2525         * elf32-mips.c (_bfd_mips_elf_fake_sections): Use
2526         _bfd_elf_init_reloc_shdr to initialize rel_hdr2.
2527
2528 Thu Jul  1 13:58:48 1999  Jeffrey A Law  (law@cygnus.com)
2529
2530         * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle R_PCREL_CALL
2531         with 22bit format.
2532
2533 1999-06-28  Mark Mitchell  <mark@codesourcery.com>
2534
2535         * elf32-mips.c (mips_elf_got_info): Move declaration before
2536         prototypes.  Change global_gotsym to be a pointer to a hash entry,
2537         rather than a number index.
2538         (mips_elf_link_hash_entry): Move declaration before prototypes.
2539         (mips_elf_irix6_finish_dynamic_symbol): New function.
2540         (mips_elf_sign_extend): Likewise.
2541         (mips_elf_high): Likewise.
2542         (mips_elf_higher): Likewise.
2543         (mips_elf_highest): Likewise.
2544         (mips_elf_global_got_index): Likewise.
2545         (mips_elf_local_got_index): Likewise.
2546         (mips_elf_got_offset_from_index): Likeiwse.
2547         (mips_elf_record_global_got_symbol): Likewise.
2548         (mips_elf_got_page): Likewise.
2549         (mips_elf_next_lo16_addend): Likewise.
2550         (mips_elf_calculate_relocation): Likewise.
2551         (mips_elf_obtain_contents): Likewise.
2552         (mips_elf_perform_relocation): Likewise.
2553         (mips_elf_assign_gp): Likewise.
2554         (mips_elf_sort_hash_table_f): Likewise.
2555         (mips_elf_sort_hash_table): Likewise.
2556         (mips_elf_got_section): Likewise.
2557         (mips_elf_got_info): Likewise.
2558         (mips_elf_create_local_got_entry): Likewise.
2559         (mips_elf_got16_entry): Likewise.
2560         (mips_elf_create_dynamic_relocation): Likewise.
2561         (elf_mips_howto_table): Add description of R_MIPS_SCN_DISP.
2562         (mips_elf_final_gp): Use mips_elf_assign_gp.
2563         (_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols
2564         into SHN_SCOMMON automatically on IRIX6.
2565         (mips_elf_add_symbol_hook): Likewise.
2566         (mips_elf_relocate_section): Rewrite, using
2567         mips_elf_calculate_relocation and mips_elf_perform_relocation.
2568         (mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME.
2569         Don't deal with .rld_map on IRIX6.
2570         (mips_elf_create_got_section): Adjust use of global_gotsym.  Set
2571         section flags appropriately for .got.
2572         (mips_elf_check_relocs): Handle IRIX6 relocations making use of
2573         the got.  Call mips_elf_record_global_got_symbol and allocate
2574         local got space appropriately.
2575         (mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned
2576         char *.  Rework calculation of GOT size.  Sort dynamic symbol
2577         table entries so entries that do not require GOT entries appear at
2578         the beginning.  Don't use DT_MIPS_HIPAGENO on IRIX6.  Remove dead
2579         code dealing with DT_INIT and DT_FINI.  Remove fiddling with
2580         global_gotsym.
2581         (mips_elf_finish_dynamic_symbol): Adjust creation of global GOT
2582         entries.
2583         (mips_elf_finish_dynamic_symbol): Use
2584         mips_elf_irix6_finish_dynamic_symbol.
2585         (mips_elf_finish_dynamic_sections): Correct off-by-one error
2586         setting DT_MIPS_UNREFEXTNO.  Adjust setting of DT_MIPS_GOTSYM for
2587         change to global_gotsym.  Set DT_MIPS_OPTIONS on IRIX6.
2588                 
2589 1999-06-30  Ian Lance Taylor  <ian@zembu.com>
2590
2591         * elf32-mips.c (mips_elf_final_link): Don't set CPIC when doing a
2592         relocateable link.  From Ralf Baechle <ralf@uni-koblenz.de>.
2593
2594 1999-06-04  Philip Blundell  <philb@gnu.org>
2595
2596         * elf32-arm.h (elf_backend_got_header_size): Define.
2597         (elf_backend_plt_header_size): Likewise.
2598
2599 1999-06-28  Jim Pick  <jim@jimpick.com>
2600
2601         * elf32-arm.h (elf32_arm_relocate_section): Mind no_undefined
2602
2603 Tue Jun 29 02:25:03 1999  Jeffrey A Law  (law@cygnus.com)
2604
2605         * elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
2606         relocation function.
2607         * elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
2608
2609 1999-06-27  Mark Mitchell  <mark@codesourcery.com>
2610
2611         * elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro.
2612         (MIPS_ELF_OPTIONS_SECTION_NAME): Likewise.
2613         (MIPS_ELF_STUB_SECTION_NAME): Likewise.
2614         (_bfd_mips_elf_section_from_shdr): Use them.
2615         (_bfd_mips_elf_fake_sections): Likewise.  Add .srdata to the list
2616         of GP-relative sections.
2617         (_bfd_mips_elf_set_section_contents): Use them.
2618         (_bfd_mips_elf_section_processing): Share code between .sdata and
2619         .lit4/.lit8 sections.  Set appropriate flags for .srdata.
2620         (mips_elf_additional_program_headers): Add handling for
2621         PT_MIPS_OPTIONS segment on IRIX6.
2622         (mips_elf_modify_segment_map): Likeiwse.
2623         (mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI.
2624         Include the options sections on IRIX6.  Don't look for GP-relative
2625         sections by name; use SHF_MIPS_GPREL instead.
2626         (ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for
2627         the N32 ABI.
2628         (mips_elf_create_dynamic_sections): Don't muck about with section
2629         alignments and such on IRIX6.
2630         (mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
2631         (mips_elf_size_dynamic_sections): Likewise. Adjust to handle the
2632         fact that ELF_DYNAMIC_INTERPRETER is no longer a constant.  Use
2633         bfd_zalloc rather than bfd_alloc and memset.
2634         (mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
2635         Don't assert the existence of .rld_map on IRIX6.
2636         (mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME.
2637                 
2638         * elf32-mips.c (mips_elf_adjust_dynindx): Remove.
2639         (mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx
2640         instead.
2641
2642 1999-06-26  Mark Mitchell  <mark@codesourcery.com>
2643
2644         * elf32-mips.c (mips_elf_swap_msym_in): New function.
2645         (mips_elf_swap_msym_out): New function.
2646         (mips_elf_create_msym_section): Likewise.
2647         (MIPS_ELF_MSYM_SECTION_NAME): New macro.
2648         (_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
2649         (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
2650         section not named .msym.
2651         (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
2652         .msym directly.  Set appropriate attributes for the .msym
2653         section.
2654         (mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
2655         (mips_elf_link_hash_newfunc): Clear it.
2656         (mips_elf_create_dynamic_sections): Create the .msym section
2657         on IRIX6.
2658         (mips_elf_size_dynamic_sections):  Allocate space for the
2659         .msym section.  Add a DT_MIPS_MSYM entry.
2660         (mips_elf_finish_dynamic_symbol): Write out a .msym entry for
2661         the symbol.
2662         (mips_elf_finish_dynamic_sections): Assign a value for
2663         DT_MIPS_MSYM.  Add .msym entries for the section symbols as well.
2664
2665         * elf32-mips.c (irix_compat_t): New enumeration.
2666         (ABI_N32_P): New macro.
2667         (IRIX_COMPAT): Likewise.
2668         (SGI_COMPAT): Implement in terms of IRIX_COMPAT.
2669         (mips_elf_relocate_section): Fix typo.
2670         
2671 1999-06-26  Mumit Khan  <khan@xraylith.wisc.edu>
2672
2673         * peicode.h (coff_swap_scnhdr_out): Mark non readonly BFD sections
2674         as writable PE sections.
2675
2676 1999-06-26  David Mosberger  <davidm@hpl.hp.com>
2677
2678         * dwarf2.c (struct arange): New type.
2679         (struct comp_unit): Replace LOW and HIGH by member ARANGE.
2680         (arange_add): New function.
2681         (decode_line_info): Keep track of address ranges that a compilation
2682         unit covers.
2683         (comp_unit_contains_address): Return true if address is contained
2684         in _any_ of the address ranges associated with a compilation unit.
2685         (_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
2686         on the first comp_unit that contains the address.
2687
2688 1999-06-26  David Mosberger  <davidm@hpl.hp.com>
2689
2690         * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
2691         (decode_line_info): Add variable STASH and initialize it to point
2692         to the per-bfd dwarf2_debug info.  Remove static variable
2693         dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
2694
2695 1999-06-26  Ian Lance Taylor  <ian@zembu.com>
2696
2697         * elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic
2698         shared library to have an undefined symbol.
2699
2700         From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
2701         * elf32-ppc.c (ppc_elf_relocate_section): Fix last patch.
2702
2703 Thu Jun 24 20:59:11 1999  Jeffrey A Law  (law@cygnus.com)
2704
2705         * elf-hppa.c (elf_hppa_final_write_processing): New function.
2706         * elf32-hppa.c: Remove everything related to symbol extension
2707         sections & records.  Use the common elf_hppa_final_write_processing.
2708
2709 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
2710
2711         * elflink.h (size_dynamic_sections): Use user-specified init/fini
2712         functions instead of _init/_fini if requested.
2713
2714 1999-06-23  Ian Lance Taylor  <ian@zembu.com>
2715
2716         * elf.c (bfd_section_from_shdr): Avoid crashing on a bogus sh_link
2717         field.
2718
2719 1999-06-22  Ian Lance Taylor  <ian@zembu.com>
2720
2721         From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
2722         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx
2723         field to 0, not -1.
2724         (ppc_elf_finish_dynamic_sections): Check for positive section
2725         dynindx field, rather than comparing against -1.
2726         (ppc_elf_relocate_section): Only return false if undefined_symbol
2727         or reloc_overflow fail, not always upon encountering an error.
2728
2729 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
2730
2731         * elflink.h (link_read_relocs): Explicitly cast external_relocs to
2732         bfd_byte * before performing pointer arithmetic.
2733
2734 Tue Jun 22 13:06:25 1999  Jeffrey A Law  (law@cygnus.com)
2735
2736         * elf-hppa.h: New file.  Common stuff for elf32 and elf64 PA
2737         support.
2738         * elf32-hppa.c: Include elf-hppa.h.
2739         (ARCH_SIZE): Define.
2740         (elf_hppa_reloc_type_lookup): Delete.  Found in the common code
2741         now.
2742         (elf32_hppa_info_to_howto): Similarly.
2743         (elf_hppa_howto_table): Similarly.
2744         (elf_hppa_reloc_type_lookup): Similarly.
2745         (hppa_elf_gen_reloc_type): Similarly.
2746         * elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
2747
2748 1999-06-22  Nick Clifton  <nickc@cygnus.com>
2749
2750         * elf32-v850.c (v850_elf_final_link_relocate): Catch overflow
2751         handling R_V850_22_PCREL relocation.
2752
2753 1999-06-21  Ian Lance Taylor  <ian@zembu.com>
2754
2755         * coff-arm.c (arm_emit_base_file_entry): Explicitly declare return
2756         type.
2757
2758 Sun Jun 20 14:13:57 1999  Richard Henderson  <rth@cygnus.com>
2759
2760         * section.c (_bfd_strip_section_from_output): Ignore sections
2761         DISCARDed by the link script.
2762
2763 1999-06-19  Ian Lance Taylor  <ian@zembu.com>
2764
2765         * elflink.h (elf_link_remove_section_and_adjust_dynindices):
2766         Remove unused local variable spp.
2767
2768         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't crash if
2769         the entry symbol is not set.
2770
2771 Fri Jun 18 04:24:57 1999  Richard Henderson  <rth@cygnus.com>
2772
2773         * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
2774         GPDISP or LITUSE in a relocatable link.
2775
2776 Thu Jun 17 21:24:43 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2777
2778         * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc.
2779         * (alloc_dwarf1_func): Likewise.
2780
2781 Wed Jun 16 03:09:57 1999  Jeffrey A Law  (law@cygnus.com)
2782
2783         * libhppa.h: Fix various formatting errors.
2784         (assemble_3); Rewrite using CATENATE.
2785         (assemble_17): Fix various bugs.
2786
2787 1999-06-16  Nick Clifton  <nickc@cygnus.com>
2788
2789         * elf32-mcore.c (R_MCORE_RAW): Fix definition.
2790
2791 1999-06-15  Richard Henderson  <rth@cygnus.com>
2792
2793         * section.c (SEC_SHORT): Define.
2794         * bfd-in2.h: Rebuild.
2795
2796 1999-06-13  Mark Mitchell  <mark@codesourcery.com>
2797
2798         * elflink.h (elf_link_remove_section_and_adjust_dynindices):
2799         Remove abfd parameter.  Use _bfd_strip_section_from_output.
2800         (bfd_elf_size_dynamic_sections): Adjust callers accordingly.
2801         
2802         * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
2803         * elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
2804         * elflink.h (elf_link_remove_section_and_adjust_dynindices): New
2805         function.
2806         (bfd_elf_size_dynamic_sections): Use it.
2807
2808 1999-06-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
2809
2810         * elf32-i386.c (elf_howto_table): Change R_386_PC8 from
2811         complain_overflow_bitfield to complain_overflow_signed.
2812
2813 1999-06-13  Mark Mitchell  <mark@codesourcery.com>
2814
2815         * elflink.h (elf_link_read_relocs_from_section): New function,
2816         split out from ...
2817         (elf_link_read_relocs): Here.  Use it for both relocation
2818         sections.
2819
2820 1999-06-12  Mark Mitchell  <mark@codesourcery.com>
2821
2822         * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
2823         asect->reloc_count is valid.
2824
2825 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
2826
2827         * elf32-mips.c (mips_elf32_section_processing): Permit a
2828         SHT_MIPS_REGINFO section to have a size of 0.
2829
2830 1999-06-12  David O'Brien  <obrien@freebsd.org>
2831
2832         * config.bfd (alpha*-*-freebsd*): New target.
2833         (i[3456]86-*-freebsd*): Now defaults to ELF.
2834
2835 1999-06-11  Ian Lance Taylor  <ian@zembu.com>
2836
2837         * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
2838         wrap if the relocation covers the high bit of an address.
2839
2840         * dwarf2.c (decode_line_info): Remove unused variable first_time.
2841
2842 1999-06-10  Jakub Jelinek  <jj@ultra.linux.cz>
2843
2844         * elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
2845         instead of R_SPARC_max.
2846         (sparc64_elf_info_to_howto): Likewise.
2847         * elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
2848         (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
2849
2850 1999-06-07  Richard Henderson  <rth@cygnus.com>
2851
2852         * section.c (_bfd_strip_section_from_output): Remove output
2853         sections with no initial link_order.
2854
2855 1999-06-07  Nick Clifton  <nickc@cygnus.com>
2856
2857         * elf32-m88k.c (ELF_MAXPAGESIZE): Define.
2858
2859 Mon Jun  7 11:49:43 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2860
2861         * Makefile.am (SOURCE_HFILES): Add missing headers.
2862         * Makefile.in: Regenerated.
2863
2864 1999-06-06  Mark Mitchell  <mark@codesourcery.com>
2865
2866         * elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize
2867         the N32 ABI.
2868
2869 1999-06-04  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2870
2871         * elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of
2872         range undefweak symbols.
2873         * hash.c: Add missing comma after @xref{}
2874         * linker.c: Likewise.
2875
2876 1999-06-04  Nick Clifton  <nickc@cygnus.com>
2877
2878         * elfxx-target.h (ELF_MAXPAGESIZE): Produce an error message
2879         if not defined.
2880         * elf32-gen.c (ELF_MAXPAGESIZE): Define.
2881         * elf32-i860.c (ELF_MAXPAGESIZE): Define.
2882         * elf32-i960.c (ELF_MAXPAGESIZE): Define.
2883         * elf64-gen.c (ELF_MAXPAGESIZE): Define.
2884
2885 1999-06-04  Ian Lance Taylor  <ian@zembu.com>
2886
2887         * Makefile.am: Rebuild dependencies.
2888         (BFD32_BACKENDS): Add dwarf1.lo.
2889         (BFD32_BACKENDS_CFILES): Add dwarf1.c.
2890         * Makefile.in: Rebuild.
2891
2892 1999-06-04  Nick Clifton  <nickc@cygnus.com>
2893
2894         * Makefile.am: Add epoc-arm-pe target.
2895         * Makefile.in: Regenerate.
2896         * pe-arm.c: Only redefine interworking function names if they have
2897         not already been redefined.
2898         * pei-arm.c: Only redefine interworking function names if they have
2899         not already been redefined.
2900         * epoc-pe-arm.c: Redefine interworking function names to avoid a
2901         name space clash.
2902         * epoc-pei-arm.c: Redefine interworking function names to avoid a
2903         name space clash.
2904
2905 1999-06-03  Nick Clifton  <nickc@cygnus.com>
2906
2907         * elfxx-target.h (ELF_MAXPAGESIZE): Default to 0x1000 not 1.
2908
2909 Fri Jun  4 10:05:11 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2910
2911         * elf.c (elf_fake_sections): Undo change of 1999-05-10.
2912
2913 Fri Jun  4 03:10:49 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2914
2915         * elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of
2916         start / stop for recalculating of r_addend of R_SH_SWITCH*.
2917
2918 Fri Jun  4 02:53:13 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2919
2920         * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32
2921         in other text sections.
2922
2923 Fri Jun  4 02:29:34 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2924
2925         * libbfd.c (_bfd_generic_verify_endian_match): New function.
2926         * libbfd-in.h (_bfd_generic_verify_endian_match): Declare.
2927         * libbfd.h: Regenerate.
2928         * coff-sh.c (sh_merge_private_data): Delete.
2929         (coff_bfd_merge_private_bfd_data): Change to
2930         _bfd_generic_verify_endian_match.
2931         (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
2932
2933 1999-06-03  Ulrich Drepper  <drepper@cygnus.com>
2934
2935         * elf32-arm.h: Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE.
2936
2937 1999-06-03  Ian Lance Taylor  <ian@zembu.com>
2938
2939         * bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct
2940         prototype.
2941         (bfd_elf32_arm_process_before_allocation): Likewise.
2942         * bfd-in2.h: Rebuild.
2943
2944 1999-06-03  David Mosberger  <davidm@hpl.hp.com>
2945
2946         * dwarf2.c (struct line_info): Add member END_SEQUENCE to keep
2947         track of end_sequence markers.
2948         (add_line_info): Add END_SEQUENCE arg.
2949         (decode_line_info): Don't try to infer lo_pc and hi_pc from the
2950         debug-line info---it doesn't work right if a compilation unit
2951         consists of multiple discontiguous code-sequences.  It would be
2952         worthwhile to optimize for the common case where a compilation
2953         unit results in a contiguous set of code sequences, but this is
2954         quite tricky to get right for arbitrary DWARF2 files.
2955         (lookup_address_in_line_info_table): Don't use the last line entry
2956         for a compilation unit for anything with an address higher than
2957         this line entry.  Also, check for end_sequence markers to
2958         correctly handle discontinuities.
2959         (_bfd_dwarf2_find_nearest_line): When checking previously loaded
2960         compilation units, check all compilation units with each->high==0
2961         just like when reading compilation units.
2962
2963         * dwarf2.c (decode_line_info): Initialize table->files and
2964         table->last_line to NULL to avoid segfaults due to random
2965         values in these members.
2966         (concat_filename): Check for out-of-range file number before
2967         indexing filename table.  Segfaults suck.
2968
2969         * dwarf2.c (decode_line_info): Don't truncate address to least
2970         significant 32 bits (breaks 64 bit targets).
2971         (lookup_address_in_function_table): Ditto.
2972         (comp_unit_contains_address): Ditto.
2973
2974 1999-06-02  Mark Mitchell  <Mark Mitchell <mark@codesourcery.com>>
2975
2976         * elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR.
2977         * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
2978         (mips_elf64_howto_table_rela): Likewise.
2979
2980         * elfcode.h (elf_slurp_reloc_table_from_section): New function,
2981         split out from ...
2982         (elf_slurp_reloc_table): Here.  Use it to handle the case where a
2983         single section has two associated relocation sections.
2984
2985 1999-06-02  Mark Salter  <msalter@cygnus.com>
2986
2987         * coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if
2988         COFF_WITH_PE defined.
2989
2990 1999-06-02  Nick Clifton  <nickc@cygnus.com>
2991
2992         * pe-arm.c: Rename global arm interworking functions to avoid name
2993         collision when all targets BFD is built.
2994         * pei-arm.c: Ditto.
2995
2996 1999-05-31  Mark Mitchell  <mark@codesourcery.com>
2997
2998         * elf-bfd.h (elf_backend_data): Remove use_rela_p.  Add
2999         may_use_rel_p, may_use_rela_p, default_use_rela_p.
3000         (bfd_elf_section_data): Add use_rela_p.
3001         * elf.c (bfd_section_from_shdr): Set use_rela_p appropriately.
3002         (_bfd_elf_new_section_hook): Likewise.
3003         (elf_fake_sections): Use may_use_rela_p, etc., instead of
3004         use_rela_p.
3005         (_bfd_elf_copy_private_section_data): Copy use_rela_p.
3006         * elfcode.h (write_relocs): Determine whether or not use rela
3007         relocs based on the relocation section header.
3008         * elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p
3009         instead of use_rela_p.
3010         * elfxx-target.h (elf_backend_may_use_relp): New macro.
3011         (elf_backend_may_use_rela_p): Likewise.
3012         (elf_backend_default_use_rela_p): Likewise.
3013         (elfNN_bed): Use them.
3014
3015 Wed Jun  2 12:38:49 1999  Miodrag Vallat <miodrag@multimania.com>
3016
3017         * hosts/alphalinux.h (TRAD_CORE_EXTRA_SIZE_ALLOWED): Expand to 4096.
3018
3019 Tue Jun  1 17:57:58 1999  Mark P. Mitchell  <mitchell@n02.acl.lanl.gov>
3020
3021         * reloc.c (BFD_RELOC_MIPS_SUB): New relocation.
3022         (BFD_RELOC_MIPS_GOT_PAGE): Likewise.
3023         (BFD_RELOC_MIPS_GOT_OFST): Likewise.
3024         (BFD_RELOC_MIPS_GOT_DISP): Likewise.
3025         * bfd-in2.h: Regenerated.
3026         * libbfd.h: Likewise.
3027         * elf32-mips.c (mips_info_to_howto_rela): New function.
3028         (USE_REL): Adjust for new conventions.
3029         (MINUS_ONE): New macro.
3030         (elf_mips_howto_table): Add R_MIPS_SUB.
3031         (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST,
3032         and MIPS_GOT_DISP.
3033         (mips_elf_final_write_processing): Set sh_link, not sh_info, for a
3034         .MIPS.content section.
3035         (_bfd_mips_elf_fake_sections): Treat all sections that begin
3036         with .MIPS.content as .MIPS.content sections.  Set
3037         SHF_MNIPS_NOSTRIP for such section.
3038         (elf_info_to_howto): Define to mips_info_to_howto_rela.
3039         * elf64-mips.c (mips_r):  Add entries for MIPS_SUB, MIPS_GOT_PAGE,
3040         MIPS_GOT_OFST, and MIPS_GOT_DISP.
3041
3042 Wed Jun  2 11:51:12 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
3043
3044         * vms-misc.c (_bfd_vms_hash_newfunc): Fix use of uninitialized
3045         variable.
3046
3047         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Avoid ambigous
3048         `else'.
3049
3050 1999-05-30  Philip Blundell  <philb@gnu.org>
3051
3052         * elf32-arm.h (elf32_arm_relocate_section): Reinstate change of
3053         1993-03-25 (!!).  Take into account the bitmasks for the reloc so
3054         the addend does not overflow into the rest of the word.
3055
3056 1999-05-29  Nick Clifton  <nickc@cygnus.com>
3057
3058         * bfd-in.h: Amend prototype for
3059         bfd_elf32_arm_process_before_allocation .
3060         * bfd-in.h: Regenerate.
3061
3062         * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of
3063         elements in a fixed sized array.
3064         (ARM_ELF_ABI_VERSION): Define.
3065         (ARM_ELF_OS_ABI_VERSION): Define.
3066         (R_ARM_THM_ABS5): Fix rightshift and size.
3067         (R_ARM_THM_PC22): Fix size.
3068         (R_ARM_PLT32): Define Howto.
3069         (find_howto): New function: Locate a howto based on a reloc
3070         number.
3071         (elf32_arm_info_to_howto): Use find_howto if necessary.
3072         (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
3073         bfd_reloc_code_real_type.
3074         (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT
3075         and BFD_RELOC_VTABLE_ENTRY.
3076         (elf32_arm_reloc_type_lookup): Use find_howto if necessary.
3077
3078         * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of
3079         elements in a fixed sized array.
3080         (ARM_ELF_ABI_VERSION): Define.
3081         (ARM_ELF_OS_ABI_VERSION): Define.
3082         (R_ARM_THM_ABS5): Fix rightshift and size.
3083         (R_ARM_THM_PC22): Fix size.
3084         (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto.
3085         (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
3086         bfd_reloc_code_real_type.
3087
3088         * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field:
3089         no_pipeline_knowledge.
3090         (elf32_arm_link_hash_create): Initialise new field to zero.
3091         (bfd_elf32_arm_process_before_allocation): Add new paraemter:
3092         no_pipeline_knowledge.  Use this parameter to initialise the field
3093         in the globals data structure.
3094         (elf32_arm_final_link_relocate): Only add in pipeline offset if
3095         no_pipeline_knowledge is false and the binary is from an old
3096         toolchain.
3097         (elf32_arm_merge_private_data): Generate an error if an attempt is
3098         made to linl together big endian and little endian code.
3099         (elf32_arm_post_process_headers): New function:  Initialise the
3100         EI_OSABI and EI_ABIVERSION fields of the newly created ELF program
3101         header.
3102         (elf_backend_post_process_headers): Define.
3103
3104 1999-05-28  Nick Clifton  <nickc@cygnus.com>
3105
3106         * elf-bfd.h (struct elf_backend_data): Add new field:
3107         elf_backend_post_process_headers.
3108
3109         * elfxx-target.h (elf_backend_post_process_headers): Define to
3110         NULL if not already defined.
3111         (elfNN_bed): Initialise elf_backend_post_process_headers field.
3112
3113         * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields
3114         to zero.
3115         (_bfd_elf_compute_section_file_positions): Call
3116         elf_backend_post_process_headers if defined.
3117
3118 1999-05-28  Ian Lance Taylor  <ian@zembu.com>
3119
3120         * configure.in: Check whether getuid and getgid exist.
3121         * archive.c: Define getuid and getgid as macros if HAVE_GETUID or
3122         HAVE_GETGID are not defined, respectively.
3123         (bfd_write_armap): Don't special case on _WIN32 for getuid and
3124         getgid.
3125         * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
3126         * configure, config.in: Rebuild.
3127
3128 1999-05-28  Martin Dorey  <mdorey@madge.com>
3129
3130         * elf32-i960.c: New file.
3131         * elf.c (prep_headers): Handle bfd_arch_i960.
3132         * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec.
3133         * config.bfd (i960-*-elf*): New target.
3134         * configure.in (bfd_elf32_i960_vec): New target vector.
3135         * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo.
3136         (BFD32_BACKENDS_CFILES): Add elf32-i960.c.
3137         * Makefile.in, aclocal.m4, configure: Rebuild.
3138
3139 1999-05-27  Nick Clifton  <nickc@cygnus.com>
3140
3141         * elfarm-oabi.c (elf32_arm_howto_table): Add entry for
3142         R_ARM_PLT32.
3143         (find_howto): New function: Find entries in the
3144         elf32_arm_howto_table.
3145         (elf32_arm_info_to_howto): Use find_howto if the entry cannot be
3146         computed simply.
3147         (elf32_arm_reloc_type_lookup): Add lookup for
3148         BFD_RELOC_ARM_PLT32.
3149
3150 1999-05-25  Philip Blundell  <pb@nexus.co.uk>
3151
3152         * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function.
3153         (elf32_arm_link_hash_table_create): Use above function as the
3154         constructor for hash table entries.
3155         (elf32_arm_relocate_section): Avoid crash when there is no output
3156         section.
3157         (elf32_arm_final_link_relocate): New parameter h.
3158         (elf32_arm_relocate_section): Pass symbol hash entry to above
3159         routine.
3160         (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct
3161         comments.
3162
3163 1999-05-25  Catherine Moore  <clm@cygnus.com>
3164
3165         * coff-arm.c (coff_arm_relocate_section): Don't emit
3166         base file entries for pc-relative values.
3167
3168 1999-05-25  DJ Delorie  <dj@cygnus.com>
3169
3170         * peicode.h (coff_swap_sym_in): When we create the actual section
3171         to reflect the not-there section C_SECTION symbols refer to,
3172         change the symbol class to C_STAT as the section is now really
3173         there.
3174
3175 1999-05-24  Philip Blundell  <pb@nexus.co.uk>
3176
3177         * elf32-arm.h (elf32_arm_relocate_section): Undo change of
3178         1999-03-25.
3179
3180 Mon May 17 13:35:35 1999  Stan Cox  <scox@cygnus.com>
3181
3182         * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed
3183         F_PIC_INT to F_PIC.
3184         * coffcode.h (coff_set_arch_mach_hook): Added F_ARM_2a, and
3185         F_ARM_3M labels.  Changed F_PIC_INT to F_PIC.
3186
3187 1999-05-16  Nick Clifton  <nickc@cygnus.com>
3188
3189         * coff-mcore.c (in_reloc_p): Reinstate.
3190
3191 1999-05-15  Nick Clifton  <nickc@cygnus.com>
3192
3193         * reloc.c (BFD_RELOC_MCORE_RVA): Define.
3194         * bfd-in2.h: Regenerate.
3195         * coff-mcore.c (in_reloc_p): Remove defintion.
3196         (mcore_coff_howto): Add IMAGE_REL_MCORE_RVA.
3197         (mcore_coff_reloc_type_lookup): Map BFD_RELOC_RVA to
3198         IMAGE_REL_MCORE_RVA.
3199         (coff_mcore_rtype_to_howto): Add special processing for
3200         IMAGE_REL_MCORE_RVA.
3201         (coff_mcore_relocate_section): Add support for
3202         IMAGE_REL_MCORE_RVA.
3203         * elf32-mcore (mcore_elf_howto_): Add R_MCORE_RELATIVE.
3204         (mcore_elf_reloc_type_lookup): Map BFD_RELOC_RVA to
3205         R_MCORE_RELATIVE.
3206         (mcore_elf_relocate_section): Delete redundant case labels.
3207
3208 Fri May 14 10:59:55 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
3209
3210         * elf32-arm.h (elf32_arm_relocate_section): Fix operator
3211         precedence between bit-and and comparison.
3212
3213 Thu May 13 09:45:23 1999  Joel Sherrill (joel@OARcorp.com)
3214
3215         * config.bfd (i[3456]86*-*-rtems*, m68k*-*-rtems*): Added to
3216         list of target formats (targ_selvecs).
3217         (i[3456]86*-*-rtemself*, mips*el-*-rtems*): New targets.
3218         (powerpcle*-*rtems*, sh-*-rtemself*): New targets.
3219
3220 1999-05-10  DJ Delorie  <dj@cygnus.com>
3221
3222         * ecoff.c (_bfd_ecoff_write_armap): give the symtab element a
3223         reasonable mode until "ar x" is smart enough to skip it (fixes
3224         gcc/libgcc.a builds on mips-ecoff targets
3225
3226         * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed
3227         to work.  Hack to support MS import libraries, which use different
3228         COMDAT types than GNU.
3229         (coff_slurp_symbol_table): C_SECTION symbols are local; they refer
3230         to implied zero-length sections (see peicode below)
3231         * coffgen.c (coff_get_normalized_symtab): Properly read long MS
3232         filename symbols, which use one *or more* auxents.
3233         * coffswap.h (coff_swap_aux_in): ditto
3234         * peicode.h (coff_swap_sym_in): Build the implied zero-length
3235         sections
3236
3237 Tue May 11 15:51:58 1999  Jeffrey A Law  (law@cygnus.com)
3238
3239         * elf32-v850.c (v850_elf_howto_table): Make partial_inplace false
3240         for all relocations.
3241
3242 1999-05-10  Catherine Moore  <clm@cygnus.com>
3243
3244         * bfd-in.h (bfd_arm_allocate_interworking_sections):  Static
3245         if COFF_IMAGE_WITH_PE.
3246         (bfd_arm_process_before_allocation): Likewise.
3247         (bfd_arm_get_bfd_for_interworking): Likewise.
3248         * coff-arm.c: Likewise.
3249         * bfd-in2.h: Regenerate.
3250         * configure.in (armpe_little_vec): Remove coff-arm.lo.
3251         (armpe_big_vec): Likewise.
3252         * configure: Rebuild.
3253
3254 1999-05-10  Nick Clifton  <nickc@cygnus.com>
3255
3256         * elf.c (elf_fake_sections): Check for .rel. as start of rel
3257         section, not just .rel.  Same for .rela.
3258
3259 1999-05-07  Nick Clifton  <nickc@cygnus.com>
3260
3261         * coff-mcore.c (coff_mcore_relocate_section): Replace assert about
3262         endianism with an error message.
3263
3264 Thu May  6 17:09:09 1999  Fred Fish  <fnf@be.com>
3265
3266         * dwarf2.c (read_abbrevs): Change cast of dwarf_abbrev_buffer
3267         assignment from "unsigned char *" to "char *".
3268         (decode_line_info): Likewise for dwarf_line_buffer assignment.
3269
3270 1999-05-05  Catherine Moore  <clm@cygnus.com>
3271
3272         * coff-arm.c (coff_arm_relocate_section):  Add one to
3273         address of ARM_RVA32 thumb functions.
3274
3275 1999-05-05  Catherine Moore  <clm@cygnus.com>
3276
3277         * elf32-m68k.c (elf32_m68k_set_private_flags): New.
3278         (elf32_m68k_copy_private_bfd_data): New.
3279         (elf32_m68k_merge_private_bfd_data): New.
3280         (elf32_m68k_print_private_bfd_data): New.
3281         (CPU32_FLAG): Define.
3282         (PLT_CPU32_ENTRY_SIZE): Define.
3283         (elf_cpu32_plt0_entry): Declare.
3284         (elf_cpu32_plt_entry): Declare.
3285         (elf_m68k_adjust_dynamic_symbol): Generate cpu32 plt entries.
3286         (elf_m68k_finish_dynamic_symbol): Likewise.
3287         (elf_m68k_finish_dynamic_sections): Likewise.
3288         (elf_backend_plt_header_size): Remove definition.
3289         (bfd_elf32_bfd_copy_private_bfd_data): Define.
3290         (bfd_elf32_bfd_merge_private_bfd_data): Define.
3291         (bfd_elf32_bfd_set_private_flags): Define.
3292         (bfd_elf32_bfd_print_private_bfd_data): Define.
3293
3294 Mon May  3 09:24:49 1999  Jeffrey A Law  (law@cygnus.com)
3295
3296         * som.c (som_fixup_formats): Fix comments for R_SHORT_PCREL_MODE
3297         and R_LONG_PCREL_MODE.
3298
3299 1999-04-29  Nick Clifton  <nickc@cygnus.com>
3300
3301         * coff-mcore.c (coff_mcore_relocate_section): Fix typos.
3302
3303 Fri Apr 28 16:36:19 1999  Stan Cox  <scox@cygnus.com>
3304
3305         * elf32-sh.c (sh_elf_relocate_section): Include relocation addend
3306         in relocation calculation.
3307
3308 1999-04-26  Tom Tromey  <tromey@cygnus.com>
3309
3310         * aclocal.m4, configure: Updated for new version of libtool.
3311
3312 1999-04-21  Nick Clifton  <nickc@cygnus.com>
3313
3314         * coff-mcore.c: Add support for mcore relocs.
3315
3316 1999-04-20  Gavin Romig-Koch  <gavin@cygnus.com>
3317
3318         * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): Scrap the
3319         incorrect use EF_MIPS_xxBITPTRS.
3320
3321 1999-04-18  Ian Lance Taylor  <ian@zembu.com>
3322
3323         * elf64-alpha.c (elf64_alpha_relax_section): Remove unused local
3324         variable insn.
3325
3326         * bfd-in2.h: Rebuild.
3327         * libbfd.h: Rebuild.
3328
3329 Sat Apr 17 20:55:15 1999  Catherine Moore  <clm@cygnus.com>
3330
3331         * coff-arm.c (coff_arm_rtype_to_howto): Remove ARM26D transform.
3332         (coff_arm_relocate_section):  Add ARM26D transform.  Only
3333         change to ARM26D for relocateable links.
3334
3335 1999-04-16  Gavin Romig-Koch  <gavin@cygnus.com>
3336
3337         * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): New.
3338         (bfd_elf32_bfd_print_private_bfd_data): New.
3339
3340 1999-04-15  Doug Evans  <devans@casey.cygnus.com>
3341
3342         * elf32-arm.h (elf32_arm_final_link_relocate):  For R_ARM_THM_ABS5,
3343         refetch addend if USE_REL, add many comments regarding current state.
3344         For R_ARM_THM_PC22, refetch addend if USE_REL, simplify.
3345         * elfarm-nabi.c (elf32_arm_howto_table): For R_ARM_THM_ABS5, fix
3346         size and rightshift.  For R_ARM_THM_PC22, fix bitsize.
3347         * elfarm-oabi.c (elf32_arm_howto_table): Ditto.
3348
3349 Wed Apr 14 14:33:08 1999  Richard Henderson  <rth@cygnus.com>
3350
3351         * elf32-mips.c (_bfd_mips_elf_read_ecoff_info): Zero `debug'.
3352         * elf64-alpha.c (elf64_alpha_read_ecoff_info): Likewise.
3353
3354 1999-04-13  David Mosberger  <davidm@hpl.hp.com>
3355
3356         * dwarf2.c (decode_line_info): Don't truncate address to least
3357         significant 32 bits (breaks 64 bit targets).
3358         (lookup_address_in_function_table): Ditto.
3359         (comp_unit_contains_address): Ditto.
3360
3361 Tue Apr 13 21:27:19 1999  Catherine Moore  <clm@cygnus.com>
3362
3363         * coff-arm.c (arm_emit_base_file_entry): New routine.
3364         (A2T3_OFFSET): Define.
3365         (T2A3_OFFSET): Define.
3366         (coff_arm_relocate_section):  Emit base file entries for interworking
3367         stubs.
3368
3369 1999-04-13  Philip Blundell  <philb@gnu.org>
3370
3371         * elfarm-nabi.c (elf32_arm_howto_table): Add dummy entries for
3372         relocs 17 through 19.
3373
3374 Sun Apr 11 01:25:17 1999  Richard Henderson  <rth@cygnus.com>
3375
3376         * elfcode.h: Remove fnmatch.h.
3377         * elflink.h (elf_link_assign_sym_version): Call back to ld
3378         instead of calling fnmatch.
3379
3380         * config.bfd (i?86-*-beoself): Include pe vecs.
3381
3382 Sun Apr 11 01:14:06 1999  Richard Henderson  <rth@cygnus.com>
3383
3384         * elf32-i386.c (elf_i386_finish_dynamic_sections): Allow .plt
3385         to go missing.
3386
3387 1999-04-10  Richard Henderson  <rth@cygnus.com>
3388
3389         * elf32-i386.c (elf_i386_relocate_section): Mind no_undefined
3390         when trying to resolve dynamic symbol references.
3391         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3392         * elf32-mips.c (mips_elf_relocate_section): Likewise.
3393         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3394         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3395         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3396         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3397         * elflink.h (elf_link_output_extsym): Likewise.
3398
3399 Sat Apr 10 15:12:09 1999  Richard Henderson  <rth@cygnus.com>
3400
3401         * section.c (_bfd_strip_section_from_output): New function moved from
3402         * elf64-alpha.c (elf64_alpha_strip_section_from_output): ... here.
3403         * elf32-i386.c (elf_i386_size_dynamic_sections): Use it.
3404         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
3405         * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
3406         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
3407         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
3408         * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
3409         * bfd-in2.h: Update.
3410
3411 1999-04-09  Ian Lance Taylor  <ian@zembu.com>
3412
3413         * elf64-sparc.c: Fix incorrect calls to bfd_check_overflow.
3414
3415 1999-04-08  Nick Clifton  <nickc@cygnus.com>
3416
3417         * coff-mcore.c: New File: Support for mcore-pe targets.
3418         * cpu-mcore.c: New File: Support for mcore targets.
3419         * elf32-mcore.c: New File: Support for mcore-elf target.
3420         * pe-mcore.c: New File: Definitions for mcore-pe target.
3421         * pei-mcore.c: New File: Definitions for mcore-pei target.
3422         * Makefile.am: Add support for MCore targets.
3423         * Makefile.in: Regenerate.
3424         * config.bfd: Add support for MCore targets.
3425         * configure.in: Add support for MCore targets.
3426         * configure: Regenerate.
3427         * archures.c: Add support for MCore architecture.
3428         * bfd-in2.h: Regenerate.
3429         * coffcode.h: Add support for mcore-pe targets.
3430         * elf.c: Add support for mcore-elf target.
3431         * reloc.c: Add support for MCore relocs.
3432         * targets.c: Add support for MCore targets.
3433
3434 1999-04-07  Nick Clifton  <nickc@cygnus.com>
3435
3436         * elfarm-nabi.c (elf32_arm_howto_table): Add entries for
3437         R_ARM_XPC25 and R_ARM_THM_XPC22.
3438         (elf32_arm_reloc_map): Remove redundant entries.
3439
3440 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
3441
3442         * sysdep.h (LC_MESSAGES): Never define.
3443
3444 1999-04-06  Chris Torek  <torek@bsdi.com>
3445
3446         * reloc.c (bfd_check_overflow): Add addrsize parameter.  Change
3447         all callers.  Rewrite completely.
3448         (_bfd_relocate_contents): Rewrite overflow checking.
3449         * bfd-in2.h: Rebuild.
3450
3451 1999-04-05  Ian Lance Taylor  <ian@zembu.com>
3452
3453         From Gabriel Paubert <paubert@iram.es>:
3454         * elf32-ppc.c (ppc_elf_howto_raw): Set R_PPC_GOT16_LO,
3455         R_PPC_PLT16_LO and R_PPC_SECTOFF_LO to be complain_overflow_dont.
3456         Set R_PPC_PLT16_HA, R_PPC_SECTOFF_HA and R_PPC_EMB_NADDR16_HA to
3457         have a rightshift of 16 and use ppc_elf_addr16_ha_reloc.
3458         * ppcboot.c (ppcboot_vec): Use little endian routines for
3459         headers.
3460
3461         * elf.c (elfcore_strndup): Only define if it will be used.
3462         * elf32-ppc.c (ppc_elf_relax_section): Remove unused locals irel
3463         and irelend.
3464         (ppc_elf_check_relocs): Remove unused local i.
3465         (ppc_elf_gc_mark_hook): Add default case to switch.
3466
3467         From Bernd Nitzler <nitzler@kagcpd01.ag01.kodak.COM>:
3468         * srec.c (srec_scan): Accept \r in symbol definitions.
3469         (srec_object_p): Set HAS_SYMS if we saw any symbols.
3470         (symbolsrec_object_p): Likewise.
3471
3472 1999-04-04  Don Bowman <don@pixsci.com>
3473
3474         * config.bfd: Add mips*el-*-vxworks* and mips*-*-vxworks*.
3475
3476 1999-04-04  Ian Lance Taylor  <ian@zembu.com>
3477
3478         * dwarf1.c (parse_line_table): Remove unused locals last_pc and
3479         last_line.
3480         * elf-bfd.h (_bfd_elfcore_section_from_phdr): Declare.
3481         * elf32-i386.c (elf_i386_gc_mark_hook): Add default case to
3482         switch.
3483         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove unused
3484         local i.
3485         * syms.c (_bfd_stab_section_find_nearest_line): Remove unused
3486         local val.
3487
3488 1999-03-31  Nick Clifton  <nickc@cygnus.com>
3489
3490         * config.bfd: Add support for arm-epoc-pe target.
3491         * configure.in: Add support for arm-epoc-pe target.
3492         * configure: Regenerate.
3493         * targets.c: Add support for arm-epoc-pe target.
3494         * coff-arm.c: Allow header files to override definition of
3495         TARGET_UNDERSCORE and USER_LABEL_PREFIX.
3496         * pe-arm.h: Allow previous header files to override definition of
3497         TARGET_LITTLE_SYM and TARGET_BIG_SYM.
3498         * pei-arm.h: Allow previous header files to override definition of
3499         TARGET_LITTLE_SYM and TARGET_BIG_SYM.
3500         * epoc-pe-arm.c: New file.  Support arm-epoc-pe target.
3501         * epoc-pei-arm.c: New file.  Support arm-epoc-pei target.
3502
3503 1999-03-30  Nick Clifton  <nickc@cygnus.com>
3504
3505         * elf.c (elf_map_symbols): Handle the case where section
3506         symbols are generated for content-less sections which are
3507         not mapped to the output file.
3508
3509         * linker.c: Replace direct references to fields in BFD structure
3510         with accessor macros.
3511
3512         * elflink.h: Replace direct references to fields in BFD structure
3513         with accessor macros.
3514
3515 1999-03-25  Philip Blundell  <pb@nexus.co.uk>
3516
3517         * config.bfd: Eliminate redundancy in checks for Linux/ARM.
3518
3519         * elf32-arm.h (elf32_arm_relocate_section): Take the rightshift into
3520         account when adjusting section symbols during a partial link.
3521
3522 1999-03-24  Nick Clifton  <nickc@cygnus.com>
3523
3524         * coff-sparc.c (struct coff_reloc_map): Change type of field
3525           'bfd_reloc_val' to bfd_reloc_code_real_type.
3526         * elf-m10200.c (struct mn10200_reloc_map): Ditto.
3527         * elf-m10300.c (struct mn10300_reloc_map): Ditto.
3528         * elf32-arc.c (struct arc_reloc_map): Ditto.
3529         * elf32-d10v.c (struct d10v_reloc_map): Ditto.
3530         * elf32-d30v.c (struct d30v_reloc_map): Ditto.
3531         * elf32-fr30.c (struct fr30_reloc_map): Ditto.
3532         * elf32-m32r.c (struct m32r_reloc_map): Ditto.
3533         * elf32-sh.c (struct elf_reloc_map): Ditto.
3534         * elf32-sparc.c (struct elf_reloc_map): Ditto.
3535         * elf32-v850.c (struct v850_reloc_map): Ditto.
3536         * elf64-sparc.c (struct elf_reloc_map): Ditto.
3537         * elfarm-nabi.c (struct elf32_arm_reloc_map): Ditto.
3538         * elfarm-oabi.c (struct elf32_arm_reloc_map): Ditto.
3539
3540 1999-03-17  Martin Hunt  <hunt@cygnus.com>
3541
3542         * syms.c (_bfd_stab_section_find_nearest_line): Changed this
3543         function so source-level assembly works.  If multiple N_SOs
3544         are seen without and N_FUNs, create an indextable entry with
3545         a NULL function name.
3546
3547 1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>
3548
3549         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data) Allow merging
3550         of certian similar cpus.
3551
3552 1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>
3553
3554         * elf32-mips.c (_bfd_mips_elf_final_write_processing):
3555         Add the 5000.  Change the architecture for the 5400 to mips4.
3556         (elf_mips_mach): Add r5000.
3557
3558 1999-03-11  Doug Evans  <devans@casey.cygnus.com>
3559
3560         * cpu-i960.c (scan_i960_mach): Recognize i960:ka_sa and i960:kb_sb.
3561
3562 1999-03-11  Nick Clifton  <nickc@cygnus.com>
3563
3564         * binary.c (binary_set_section_contents): Generate warning about
3565         huge file offsets for any section that will occupy file space, not
3566         just those that are loadable.
3567
3568 1999-02-24  Jim Blandy  <jimb@zwingli.cygnus.com>
3569
3570         * libbfd.h: Regenerate after Nick Clifton's Feb 17 changes.
3571
3572 1999-02-22  Jim Lemke  <jlemke@cygnus.com>
3573
3574         * elf32-ppc.c: Add ppc_elf_relax_section() for the ld option mpc860c0.
3575
3576 Mon Feb 22 18:26:51 1999  Ian Lance Taylor  <ian@cygnus.com>
3577
3578         * elf-bfd.h (ELF_LINK_HASH_REF_REGULAR_NONWEAK): Define.
3579         * elflink.h: Revert all changes since Feb 16.  Instead:
3580         (elf_link_add_object_symbols): Set REF_REGULAR_NONWEAK flag if
3581         appropriate.  Copy it to version symbols.
3582         (elf_fix_symbol_flags): Set REF_REGULAR_NONWEAK for non ELF
3583         symbols if appropriate.
3584         (elf_adjust_dynamic_symbol): Set REF_REGULAR_NONWEAK for weakdef
3585         symbol if appropriate.
3586         (elf_link_output_extsym): If symbol is marked as undefined, and
3587         has no nonweak references, mark it as weak undefined.
3588
3589 Fri Feb 19 16:01:12 1999  Ian Lance Taylor  <ian@cygnus.com>
3590
3591         * elflink.h (elf_merge_symbol): When overriding a dynamic
3592         definition with a weak undefined symbol, set NEEDS_PLT if it is a
3593         function.
3594         (elf_link_add_object_symbols): Don't copy the other field if we
3595         are overridding.
3596
3597 Thu Feb 18 18:07:43 1999  Ian Lance Taylor  <ian@cygnus.com>
3598
3599         * elflink.h (elf_merge_symbol): Do not merge any symbol from a
3600         shared object with a weak undefined symbol.
3601
3602 1999-02-18  Nick Clifton  <nickc@cygnus.com>
3603
3604         * elfarm-nabi.c: Set partial_inplace back to false.
3605
3606 1999-02-17  Nick Clifton  <nickc@cygnus.com>
3607
3608         * coff-arm.c (TARGET_UNDERSCORE): Re-enable.
3609         (USER_LABEL_PREFIX): Set to "_".
3610
3611         The following patches are from: Scott Bambrough
3612         <scottb@corelcomputer.com>
3613
3614         * libaout.h (M_ARM6_NETBSD): Set to 143.
3615
3616         * reloc.c: Add ARM PIC relocs:   BFD_RELOC_ARM_GOT12,
3617         BFD_RELOC_ARM_GOT32, BFD_RELOC_ARM_JUMP_SLOT, BFD_RELOC_ARM_COPY,
3618         BFD_RELOC_ARM_GLOB_DAT, BFD_RELOC_ARM_PLT32,
3619         BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC.
3620         * bfd-in2.h: Regenerate.
3621
3622         * elfarm-nabi.c (elf32_arm_howto_table): Set partial_inplace to
3623         'true' as REL relocs are now being used.  Add new PIC relocs:
3624         R_ARM_COPY, R_ARM_GLOB_DAT, R_ARM_JUMP_SLOT, R_ARM_RELATIVE,
3625         R_ARM_GOTOFF, R_ARM_GOTPC, R_ARM_GOT32, R_ARM_PLT32.
3626
3627         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Check byte order
3628         of targets.
3629         (elf32_arm_final_link_relocate): Change parameters so that entire
3630         reloc is passed.  Add support for PIC relocs.
3631         (elf32_arm_relocate_section): Pass entire reloc to
3632         elf32_arm_final_link_relocate.
3633         (elf32_arm_check_relocs): Handle new PIC relocs.
3634         (elf32_arm_adjust_dynamic_symbol): New function.
3635         (elf32_arm_size_dynamic_sections): New function.
3636         (elf32_arm_discard_copies): New function.
3637         (elf32_arm_finish_dynamic_symbol): New function.
3638         (elf32_arm_finish_dynamic_sections): New function.
3639         (ELF_MAXPAGE_SIZE): Define.
3640         (bfd_elf32_bfd_reloc_type_lookup): Define.
3641         (elf_backend_relocate_section): Define.
3642         (elf_backend_adjust_dynamic_symbol): Define.
3643         (elf_backend_create_dynamic_sections): Define.
3644         (elf_backend_finish_dynamic_symbol): Define.
3645         (elf_backend_finish_dynamic_sections): Define.
3646         (elf_backend_size_dynamic_sections): Define.
3647         (elf_backend_plt_readonly): Define.
3648         (elf_backend_want_got_plt): Define.
3649         (elf_backend_want_plt_sym): Define.
3650
3651 Wed Feb 17 12:02:26 1999  Stan Cox  <scox@cygnus.com>
3652
3653         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Make reginfo
3654         sections SEC_LINK_ONCE and SEC_LINK_DUPLICATES_SAME_SIZE.
3655         (_bfd_mips_elf_fake_sections): Likewise.
3656
3657 Wed Feb 17 12:07:23 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
3658
3659         * elfarm-oabi.c (bfd_elf32_arm_allocate_interworking_sections,
3660         bfd_elf32_arm_get_bfd_for_interworking,
3661         bfd_elf32_arm_process_before_allocation): Define to avoid clash
3662         with elfarm-nabi.c.
3663
3664         * elf32-arm.h: Don't declare elf32_arm_info_to_howto.
3665         (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
3666         elf32_arm_find_nearest_line): Make them static.
3667
3668 Tue Feb 16 22:44:37 1999  Ian Lance Taylor  <ian@cygnus.com>
3669
3670         * elflink.h (elf_merge_symbol): Add pflags parameter.  Change all
3671         callers.  Do not merge a definition from a shared object with a
3672         weak undefined symbol.
3673         (elf_link_add_object_symbols): Do not change the symbol type or
3674         size if the old symbol overrides the new one.
3675
3676 1999-02-08  Nick Clifton  <nickc@cygnus.com>
3677
3678         * config.bfd: Add support for strongarm target.
3679
3680 Mon Feb  8 11:18:14 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
3681
3682         * elf32-m68k.c (reloc_map): Use the correct types for the struct
3683         fields instead of unsigned char.
3684
3685 Fri Feb  5 00:22:36 1999  Ian Lance Taylor  <ian@cygnus.com>
3686
3687         * Makefile.am: Rebuild dependencies.
3688         * Makefile.in: Rebuild.
3689
3690 Thu Feb  4 22:30:13 1999  Ian Lance Taylor  <ian@cygnus.com>
3691
3692         * configure.in: Change AC_PREREQ to 2.13.  Remove AM_CYGWIN32.
3693         Change AM_EXEEXT to AC_EXEEXT and AM_PROG_INSTALL to
3694         AC_PROG_INSTALL.  Add comments to uses of AC_DEFINE.
3695         * acinclude.m4: Add comments to uses of AC_DEFINE.
3696         * acconfig.h: Remove.
3697         * configure: Rebuild with current autoconf/automake.
3698         * aclocal.m4: Likewise.
3699         * config.in: Likewise.
3700         * Makefile.in: Likewise.
3701
3702 1999-02-04  DJ Delorie  <dj@cygnus.com>
3703
3704         * libbfd.c (real_read): don't call fread for zero bytes.  This
3705         covers up a bug (or misuse of bfd) that's exposed by Solaris.
3706
3707 Thu Feb  4 12:38:10 1999  Stan Cox  <scox@cygnus.com>
3708
3709         * elf32-mips.c (mips_elf_relocate_section): Insure that the target
3710         of a jump is in the current 256 MB region.
3711
3712 Thu Feb  4 12:15:38 1999  Ian Lance Taylor  <ian@cygnus.com>
3713
3714         * format.c (bfd_check_format_matches): Change last patch to only
3715         take effect for the binary target.
3716
3717 Wed Feb  3 19:40:12 1999  Ian Lance Taylor  <ian@cygnus.com>
3718
3719         * elf32-i386.c (elf_i386_reloc_type_lookup): Add BFD_RELOC_CTOR.
3720
3721 Wed Feb  3 15:02:44 1999  Catherine Moore  <clm@cygnus.com>
3722
3723         * elf32-fr30.c (fr30_elf_check_relocs):  New routine.
3724
3725 Tue Feb  2 21:38:28 1999  Ian Lance Taylor  <ian@cygnus.com>
3726
3727         * format.c (bfd_check_format_matches): If the target was
3728         previously specified, don't check other targets when checking for
3729         an archive file.
3730
3731 Tue Feb  2 18:16:43 1999  Catherine Moore  <clm@cygnus.com>
3732
3733         * elf32-arm.h (elf32_arm_reloc_map):  Removed.
3734         (elf32_arm_reloc_type_lookup):  Removed
3735         * elfarm-nabi.c (elf32_arm_reloc_map):  New.
3736         (elf32_arm_reloc_type_lookup):  New.
3737         * elfarm-oabi.c (elf32_arm_reloc_map):  New.
3738         (elf32_arm_reloc_type_lookup):  New.
3739
3740 Mon Feb  1 19:49:21 1999  Catherine Moore  <clm@cygnus.com>
3741
3742         * elfarm-nabi.c:  Renamed from elf32-arm-newabi.c.
3743         * elfarm-oabi.c:  Renamed from elf32-arm-oldabi.c
3744         * Makefile.am:  Use new files.
3745         * Makefile.in:  Regenerate.
3746         * configure.in:  Use new files.
3747         * configure:  Regenerate.
3748
3749 1999-02-01  Nick Clifton  <nickc@cygnus.com>
3750
3751         * elf32-fr30.c (fr30_elf_gc_mark_hook): New function.
3752         (fr30_elf_gc_sweep_hook): New function.
3753         (elf_backend_can_gc_sections): Define.
3754
3755 Mon Feb  1 12:21:47 1999  Catherine Moore  <clm@cygnus.com>
3756
3757         * targets.c (bfd_target_vector):  Add bfd_elf32_littlearm_oabi_vec
3758         and bfd_elf32_bigarm_oabi_vec.
3759
3760 Mon Feb  1 11:46:31 1999  Catherine Moore  <clm@cygnus.com>
3761
3762         * Makefile.am (elf32-arm-oldabi.lo):  New.
3763         (elf32-arm-newabi.lo):  New.
3764         * Makefile.in:  Regenerate.
3765         * config.bfd (thumb-*-elf):  Remove definition of targ_underscore.
3766         (arm-*-elf):  Likewise.
3767         (arm-*-oabi):  New.
3768         (thumb-*-oabi):  New.
3769         * configure:  Regenerate.
3770         * configure.in (bfd_elf32_littlearm_oabi_vec):  New.
3771         (bfd_elf32_bigarm_oabi_vec):  New.
3772         * elf32-arm-newabi.c:  New.
3773         * elf32-arm-oldabi.c:  New.
3774         * elf32-arm.c:  Removed.
3775         * elf32-arm.h:  New.
3776
3777 Mon Feb  1 11:52:12 1999  Frank Ch. Eigler  <fche@cygnus.com>
3778
3779         * binary.c (binary_set_section_contents): Omit warnings for
3780         unloadable sections.
3781
3782 1999-01-31  Michael Meissner  <meissner@cygnus.com>
3783
3784         * config.bfd (powerpc{,le}-*-vxworks*): Add aliases to
3785         powerpc{,le}-*-eabi.
3786
3787 1999-01-29  Nick Clifton  <nickc@cygnus.com>
3788
3789         * dwarf2.c (read_unsigned_leb128): Remove unused variables.
3790         * dwarf2.c (read_signed_leb128): Remove unused variables.
3791
3792 Fri Jan 29 00:47:21 1999  H.J. Lu  <hjl@gnu.org>
3793
3794         * elf.c (assign_file_positions_for_segments): Only adjust
3795         p_align when needed.
3796
3797 Thu Jan 28 20:05:22 1999  Ian Lance Taylor  <ian@cygnus.com>
3798
3799         * binary.c (binary_set_section_contents): Don't return early for a
3800         non-loadable section, in case the first section is non-loadable.
3801         Don't set the low lma for a SEC_NEVER_LOAD section.  From Maciej
3802         W. Rozycki <macro@ds2.pg.gda.pl>.
3803
3804 1999-01-28  Nick Clifton  <nickc@cygnus.com>
3805
3806         * elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
3807         R_FR30_GNU_VTENTRY relocs.
3808
3809 Thu Jan 28 11:08:16 1999  Catherine Moore  <clm@cygnus.com>
3810
3811        * elflink.h (elf_link_output_sym):  Zero syms which are
3812        part of sections which have been excluded.
3813
3814 Wed Jan 27 13:35:35 1999  Stan Cox  <scox@cygnus.com>
3815
3816         * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed F_PIC
3817         to F_PIC_INT.
3818         * coffcode.h (coff_set_arch_mach_hook): Removed F_ARM_2a and
3819         F_ARM_3M labels.  Changed F_PIC to F_PIC_INT.
3820
3821 1999-01-27  Nick Clifton  <nickc@cygnus.com>
3822
3823         * elf32-fr30.c (fr30_elf_howto_table): Fix name of R_FR30_48
3824         relocation.
3825         (fr30_final_link_relocate): Use computed value as result of
3826         relocation.
3827
3828 1999-01-26  Frank Ch. Eigler  <fche@cygnus.com>
3829
3830         * binary.c (binary_set_section_contents): Emit warning for
3831         huge file offsets due to widely-dispersed section LMAs.
3832
3833 Mon Jan 18 03:35:35 1999  Ian Lance Taylor  <ian@cygnus.com>
3834
3835         * elf.c (assign_file_positions_for_segments): If not D_PAGED,
3836         align first section to largest section alignment, not first
3837         section alignment.
3838
3839 1999-01-04  Jason Molenda  (jsm@bugshack.cygnus.com)
3840
3841         * configure.in: Require autoconf 2.12.1 or higher.
3842
3843 Tue Dec 22 15:21:41 1998  Catherine Moore  <clm@cygnus.com>
3844
3845         * archures.c (bfd_mach_i386_i386_intel_syntax):  Define.
3846         * bfd-in2.h:  Likewise.
3847         * cpu-i386.c (bfd_i386_arch_intel_syntax):  New.
3848
3849 1998-12-16  Gavin Romig-Koch  <gavin@cygnus.com>
3850
3851         * archures.c,bfd-in2.h (bfd_mach_mips4111): New.
3852         * cpu-mips.c: Add support for and independent 4111.
3853         * elf32-mips.c (elf_mips_mach): E_MIPS_MACH_4111 -> bfd_mach_mips4111.
3854         (_bfd_mips_elf_final_write_processing):
3855         bfd_mach_mips4111 -> E_MIPS_ARCH_3 | E_MIPS_MACH_4111.
3856
3857 1998-12-15  Gavin Romig-Koch  <gavin@cygnus.com>
3858
3859         * elf32-mips.c (elf_mips_abi_name): New.
3860         (_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags.
3861
3862 1998-12-12  Gavin Romig-Koch  <gavin@cygnus.com>
3863
3864         * elf32-mips.c (_bfd_mips_elf_final_write_processing):
3865         Handle bfd_mach_mips4300.
3866
3867 1998-12-11  Ulrich Drepper  <drepper@cygnus.com>
3868
3869         * elf32-i386.c: Remove leaked development code from patch
3870         1998-12-10 by Richard Henderson.
3871
3872 1998-12-10  Richard Henderson  <rth@cygnus.com>
3873
3874         * elf32-i386.c (elf_i386_relocate_section): Don't fail relocations
3875         in debug sections for symbol defined externally.
3876
3877 Thu Dec 10 10:58:38 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
3878
3879         * targets.c (bfd_target_vector): Remove duplicate entry for
3880         tekhex_vec.
3881
3882 1998-12-09  Nick Clifton  <nickc@cygnus.com>
3883
3884         * elf32-fr30.c (fr30_elf_howto_table): Set src_mask fields to 0
3885         since we are using RELAs.
3886
3887 Tue Dec  8 22:15:48 1998  Ian Lance Taylor  <ian@cygnus.com>
3888
3889         SCO Open Server Release 5 core file support, from Jouke Numan
3890         <jnuman@hiscom.nl>:
3891         * sco5-core.c: New file.
3892         * configure.in (i[3456]86-*-sco3.2v5*): Use sco5-core.lo.
3893         (sco5-core.lo): Define SCO5_CORE in COREFLAG.
3894         * Makefile.am: Rebuild dependencies.
3895         (OPTIONAL_BACKENDS): Add sco5-core.lo.
3896         (OPTIONAL_BACKENDS_CFILES): Add sco5-core.c.
3897         * bfd.c (struct _bfd): Add sco5_core_data field to tdata.
3898         * targets.c (sco5_core_vec): Add to target list if SCO5_CORE.
3899         * bfd-in2.h, configure, Makefile.in: Rebuild.
3900
3901 Tue Dec  8 19:38:42 1998  Mark Klein  <mklein@dis.com>
3902
3903         * config.bfd (hppa*-*-mpeix*): New target.
3904         * configure.in: Add AC_HEADER_DIRENT.
3905         (hppa*-*-mpeix*): New target.
3906         * configure.host (hppa*-*-mpeix*): New host.
3907         * hpux-core.c: Check HOST_HPPAMPEIX.  Use HAVE_DIRENT_H and
3908         friends rather than just including <sys/dir.h>.
3909         * som.h (struct som_symbol): Add hppa_priv_level and apto
3910         tc_data.  Change all users.
3911         (struct somdata): Add comp_unit field.
3912         (obj_som_compilation_unit): Define.
3913         (bfd_som_attach_compilation_unix): Declare.
3914         * som.c: Check HOST_HPPAMPEIX.
3915         (struct som_misc_symbol_info): Add new field priv_level.
3916         (som_object_setup): Add current_offset parameter.  Change all
3917         callers.
3918         (setup_sections): Likewise.
3919         (som_object_p): For EXECLIBMAGIC, read the lst header.
3920         (som_write_symbol_strings): Add compilation_unit parameter.
3921         Change all callers.
3922         (som_finish_writing): Write out compilation_unit.
3923         (som_bfd_derive_misc_symbol_info): Set priv_level.
3924         (som_build_and_write_symbol_table): Set xleast field to 3.
3925         (som_slurp_symbol_table): Set symbol priv_level.
3926         (bfd_som_attach_compilation_unit): New function.
3927         (som_bfd_ar_write_symbol_stuff): Set xleast field to 3.  Set
3928         priv_level into symbol_value.
3929         * configure, config.in: Rebuild.
3930
3931 Tue Dec  8 16:21:35 1998  Ian Lance Taylor  <ian@cygnus.com>
3932
3933         * hpux-core.c (hpux_core_core_file_p): Change call to nonexistent
3934         warning function to call _bfd_error_handler instead.
3935
3936         * libbfd.c (COERCE32): Cast through unsigned long and long to
3937         avoid bug in old version of gcc.
3938
3939         * elf64-alpha.c (elf64_alpha_additional_program_headers): Remove.
3940         (elf_backend_additional_program_headers): Don't define.
3941
3942 1998-12-08  Nick Clifton  <nickc@cygnus.com>
3943
3944         * elf32-fr30.c (fr30_final_link_relocate): Fix PC relative
3945         relocations to include offset of 2 included in the insns, and the
3946         offset of the relocs within the section.
3947
3948 Wed Dec  2 15:03:59 1998  David Taylor  <taylor@texas.cygnus.com>
3949
3950         The following changes were made by David Taylor
3951         <taylor@texas.cygnus.com>, Edith Epstein
3952         <eepstein@sophia.cygnus.com>, Jim Blandy
3953         <jimb@zwingli.cygnus.com>, and Elena Zannoni
3954         <ezannoni@kwikemart.cygnus.com> as part of the project to merge in
3955         changes originally made by HP; HP did not create ChangeLog
3956         entries.
3957
3958         * aclocal.m4, configure, Makefile.in: Rebuilt using latest
3959         automake macro library.
3960
3961         * hpux-core.c (hpux_core_core_file_p): this function now
3962         understands HPUX 10.30 thread info. Yes, the thread stacks can be
3963         found in the corefile! Also, in hpux_core_core_file_p, if we
3964         encounter a section with an unknown type, don't punt.  Instead,
3965         just skip it.  Also, count the number of sections of known type
3966         that we encounter.  If we encounter at least one good one, then
3967         we'll declare that the file is a core file.  If we encounter any
3968         unknown ones but some known ones, then we'll issue a warning (but
3969         still declare it to be a core file). Also, correctly decide when a
3970         file is not a core.
3971         (PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined.
3972         (CORE_ANON_SHMEM): define if not defined.
3973         (hpux_core_struct): add members lwpid and user_tid.
3974         (core_kernel_thread_id, core_user_thread_id): new macros.
3975         (make_bfd_asection): use bfd_alloc to allocate room for a copy of
3976         the name before storing it in the bfd.
3977         (hpux_core_core_file_p): handle threads.
3978
3979         * libhppa.h (GET_FIELD): protect against redefinition.
3980         (HPPA_WIDE): define.
3981         (GET_FIELD): define.
3982         (GET_BIT): define.
3983         (MASK): define.
3984         (CATENATE): define.
3985         (ELEVEN): define.
3986         (sign_extend): redefine.
3987         (assemble_6): define.
3988         (assemble_12): rewrite.
3989         (assemble_16): define.
3990         (assemble_16a): define.
3991         (assemble_17): rewrite.
3992         (assemble_22): define.
3993
3994 1998-12-07  Nick Clifton  <nickc@cygnus.com>
3995
3996         * elf32-fr30.c (fr30_final_link_relocate): Using signed
3997         relocations for signed values.
3998
3999 Sun Dec  6 16:30:33 1998  Ian Lance Taylor  <ian@cygnus.com>
4000
4001         * mipsbsd.c (MY(set_arch_mach)): Make static.
4002         * aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use
4003         bfd_mach_mips* macros rather than simple numbers.
4004
4005         COFF weak symbol support, based on patches from Mark Elbrecht
4006         <snowball3@usa.net>:
4007         * coffcode.h (coff_slurp_symbol_table): Handle C_WEAKEXT.
4008         * coffgen.c (coff_renumber_symbols): Handle weak symbols.
4009         (coff_write_alien_symbol): Likewise.
4010         * cofflink.c (coff_link_check_ar_symbols): Likewise.
4011         (coff_link_add_symbols): Likewise.
4012         (_bfd_coff_link_input_bfd): Likewise.
4013         (_bfd_coff_write_global_sym): Likewise.
4014
4015         * elf.c (copy_private_bfd_data): Always initialize the
4016         includes_phdrs field.
4017
4018         * elflink.h (elf_fix_symbol_flags): Check for case where a non-ELF
4019         file defines a symbol first mentioned in an ELF file.
4020
4021         * bfd-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if
4022         possible, rather than only if BFD64.
4023         * elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT,
4024         not __GNUC__.
4025         * bfd-in2.h: Rebuild.
4026
4027         * srec.c (srec_set_section_contents): Correct test to avoid
4028         switching to 4 byte addresses after seeing a second section which
4029         requires 3 byte addresses.  From Joel Schantz
4030         <joel.schantz@argosys.boeing.com>.
4031
4032         * config.bfd (m68*-*-gnu*): New target.  From Aymeric Vincent
4033         <aymeric.vincent@emi.u-bordeaux.fr>.
4034
4035 1998-12-04  Jim Blandy  <jimb@zwingli.cygnus.com>
4036
4037         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Fix logic to
4038         decide whether the output file is -mrelocatable-lib,
4039         -mrelocatable, or neither.  (gdb.base/nodebug.exp)
4040
4041 1998-12-03  Nick Clifton  <nickc@cygnus.com>
4042
4043         * elf32-fr30.c: Add support for R_FR30_48 reloc.
4044         * reloc.c: Add BFD_RELOC_FR30_48 relocation.
4045         * bfd-in2.h: Regenerate.
4046         * libbfd.h: Regenerate
4047
4048 Wed Dec  2 00:58:37 1998  Ian Lance Taylor  <ian@cygnus.com>
4049
4050         * elflink.h (elf_adjust_dynamic_symbol): Warn on an attempt to
4051         link against a dynamic symbol with no type or size.
4052
4053 1998-12-01  Ulrich Drepper  <drepper@cygnus.com>
4054
4055         * elf32-i386.c (i386_check_relocs) [R_386_32]: Don't emit
4056         relocation for section which does not get loaded.
4057         (elf_i386_relocate_section) [R_386_32]: Likewise.
4058
4059 Tue Dec  1 11:33:33 1998  Jim Wilson  <wilson@cygnus.com>
4060
4061         * coff-h8300.c (h8300_bfd_link_add_symbols): Make reloc_size,
4062         reloc_count and i long instead of unsigned long.  Handle error
4063         return from bfd_canonicalize_reloc.
4064
4065 1998-12-01  Nick Clifton  <nickc@cygnus.com>
4066
4067         * elf32-v850.c (v850_elf_relocate_section): Detect the absence of
4068         a hash table.
4069
4070 Mon Nov 30 15:28:09 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4071
4072         * elf32-sh.c (elf/sh.h): Include.
4073         sh_reloc_type: Delete.  Changed all references to elf_sh_reloc_type.
4074         (sh_elf_howto_tab): Add HOWTO for R_SH_SWITCH8.
4075         (sh_reloc_map): Map BFD_RELOC_8_PCREL to R_SH_SWITCH8.
4076         (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
4077         * Makefile.in: Add dependency of elf32-sh.lo on $(INCDIR)/elf/sh.h.
4078
4079 Fri Nov 27 17:51:38 1998  Geoff Keating  <geoffk@ozemail.com.au>
4080
4081         * elflink.h (compute_bucket_count): Don't allow minsize==0, it
4082         causes division by zero later on.
4083
4084 Thu Nov 26 11:19:35 1998  Dave Brolley  <brolley@cygnus.com>
4085
4086         * elf32-fr30.c (fr30_elf_pc9_reloc,fr30_elf_pc12_reloc): Not
4087         needed.
4088
4089 1998-11-25  DJ Delorie  <dj@cygnus.com>
4090
4091         * coff-i386.c (i3coff_object_p): Remove hack.  Use new emulation
4092         hook now.
4093
4094 Tue Nov 24 10:25:27 1998  Nick Clifton  <nickc@cygnus.com>
4095
4096         * elf32-fr30.c (fr30_elf_relocate_section): Call
4097         fr30_final_link_relocate.
4098         (fr30_final_link_relocate): New function: Handle I20 and I32
4099         relocs.
4100         (fr30_elf_i32_reloc): New function: Handle I32 relocs.
4101         (fr30_elf_pc9_reloc): New function: Handle 9_PCREL relocs.
4102         (fr30_elf_pc12_reloc): New function: Handle 12_PCREL relocs.
4103
4104         * elf32-v850.c (v850_elf_relocate_section): Reset hi16s reloc
4105         chain to empty.
4106
4107         The following changes are based on a patch submitted by Gianluca
4108         Moro <glctr@abc.it>:
4109
4110         (v850_elf_perform_relocation): Only update a hi16s reloc if it has
4111         not already been updated.
4112         (find_remembered_hi16s_reloc): New parameter 'already_found'
4113         returns state of remembered hi16s reloc.
4114         (remember_hi16s_reloc): Set 'found' field to false.
4115         (hi16s_location): Add 'found' field.
4116
4117 1998-11-23  DJ Delorie  <dj@cygnus.com>
4118
4119         * coff-i386.c (bfd_pe_dll_not_recognized_hack): the linker wants
4120         to see .DLL files as unrecognized.
4121         (i3coff_object_p): Sorry, had to hack it to not recognize these
4122         files (pei-i386) on request.
4123
4124 1998-11-23  DJ Delorie  <dj@cygnus.com>
4125
4126         * opncls.c (bfd_make_readable): need more cleanup for symbols and
4127         relents.  Call bfd_check_format to reinitialize.
4128
4129 Fri Nov 20 14:21:36 1998  Nick Clifton  <nickc@cygnus.com>
4130
4131         * elf32-fr30.c (fr30_elf_relocate_section): Remove spurious
4132         warnings.
4133
4134 Thu Nov 19 14:42:15 1998  Geoffrey Noer  <noer@cygnus.com>
4135
4136         * aclocal.m4: regenerate
4137         * configure: regenerate
4138
4139 Tue Nov 17 20:23:35 1998  Richard Henderson  <rth@cygnus.com>
4140
4141         * elf-bfd.h (struct elf_link_hash_entry): Add vtable_entries_size.
4142         * elf.c (_bfd_elf_link_hash_newfunc): Clear it.
4143         * elflink.h (elf_gc_propagate_vtable_entries_used): Copy it, and
4144         respect it as an upper bound on what memory to reference.
4145         (elf_gc_smash_unused_vtentry_relocs): Likewise.
4146         (elf_gc_record_vtentry): Handle as-yet undefined vtables.  Set and
4147         update vtable_entries_size appropriately.
4148
4149 Tue Nov 17 15:28:31 1998  Nick Clifton  <nickc@cygnus.com>
4150
4151         * elf32-fr30.c (fr30_reloc_type_lookup): Used integers to hold
4152         reloc number.
4153
4154 Mon Nov 16 22:19:21 1998  DJ Delorie  <dj@cygnus.com>
4155
4156         * archive.c (bfd_ar_hdr_from_filesystem): support BFD_IN_MEMORY
4157         bfds; they have no "file" so we fake it.
4158         * bfd-in2.h: add bfd_make_writable and bfd_make_readable (regen)
4159         * libbfd.c (bfd_write): Allow writing to BFD_IN_MEMORY bfds by
4160         resizing the memory buffer.
4161         * opncls.c (bfd_make_writable): New function; lets you write a
4162         bfd_create'd bfd to an in-memory buffer.
4163         (bfd_make_readable): New function; lets you read back that buffer
4164         as if it were from bfd_openr.  Used to build generated archive
4165         members (winsup's ld's dlltool)
4166
4167 Mon Nov 16 19:15:19 1998  Dave Brolley  <brolley@cygnus.com>
4168
4169         * po/bfd.pot: Regenerated.
4170
4171 Mon Nov 16 10:57:06 1998  Nick Clifton  <nickc@cygnus.com>
4172
4173         * elf32-v850.c (hi16s_location): Replaced fixed size array with
4174         linked list.
4175
4176 Sun Nov 15 20:28:25 1998  Richard Henderson  <rth@cygnus.com>
4177
4178         * elf64-alpha.c (elf64_alpha_relax_section): Search for the proper
4179         element of the gotentry list for local symbols too.
4180         (elf64_alpha_relocate_section): Unify local and global handling.
4181         Assert that gotent->use_count > 0.
4182
4183 Sat Nov 14 15:16:01 1998  Ian Lance Taylor  <ian@cygnus.com>
4184
4185         * configure.in (vms_alpha_vec): Rename from evax_alpha_vec, and
4186         update for file name changes of July 2, 1998.
4187         (vms_vax_vec): New.
4188         * configure: Rebuild.
4189
4190 Thu Nov 12 19:19:54 1998  Dave Brolley  <brolley@cygnus.com>
4191
4192         * po/bfd.pot: Regenerated.
4193
4194 Tue Nov 10 16:17:06 1998  Geoffrey Noer  <noer@cygnus.com>
4195
4196         * acinclude.m4, config.bfd: detect cygwin* instead of cygwin32*.
4197         * aclocal.m4, configure: regenerate
4198
4199 Tue Nov 10 15:13:59 1998  Nick Clifton  <nickc@cygnus.com>
4200
4201         * elf.c (prep_headers): Add support for bfd_arch_fr30.
4202
4203 Tue Nov 10 13:37:36 1998  Felix Lee  <flee@cygnus.com>
4204
4205         * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE,
4206         BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): didn't define macro when value
4207         was cached.
4208         * aclocal.m4, configure: regenerated.
4209
4210 Tue Nov 10 14:31:01 1998  Catherine Moore  <clm@cygnus.com>
4211
4212         * elf32-d10v.c (reloc_type):  Add R_D10V_GNU_VTINHERIT and
4213         R_D10V_GNU_VTENTRY relocs.
4214         (elf_d10v_howto_table):  Likewise.
4215         (d10v_reloc_map d10v_reloc_map):  Likewise.
4216         (elf32_d10v_gc_mark_hook):  New.
4217         (elf32_d10v_gc_sweep_hook):  New.
4218         (elf32_d10v_check_relocs):  New.
4219         (elf32_d10v_relocate_section):  New.
4220         (elf_backend_relocate_section):  Define.
4221         (elf_backend_can_gc_sections):  Define.
4222
4223 Sat Nov  7 18:07:51 1998  Peter Schauer  <peter.schauer@regent.e-technik.tu-muenchen.de>
4224
4225         * Makefile.am (BFD32_BACKENDS): Move vms files here...
4226         (BFD64_BACKENDS): ...from here.
4227         (BFD32_BACKENDS_CFILES): Move vms files here...
4228         (BFD64_BACKENDS_CFILES): ...from here.
4229         * Makefile.in: Rebuild.
4230
4231 Wed Nov  4 15:58:48 1998  Nick Clifton  <nickc@cygnus.com>
4232
4233         * Makefile.am: Add FR30 target.
4234         * Makefile.in: Add FR30 target.
4235         * archures.c: Add support for FR30.
4236         * config.bfd: Add support for FR30.
4237         * configure.in: Add support for FR30.
4238         * reloc.c: Add support for FR30 relocations.
4239         * targets.c: Add support for FR30 relocations.
4240         * bfd-in2.h: Regenerate.
4241         * configure: Regenerate.
4242         * libbfd.h:  Regenerate.
4243         * cpu-fr30.c: New file.
4244         * elf32-fr30.c: New file.
4245
4246 Mon Nov  2 14:59:33 1998  Geoffrey Noer  <noer@cygnus.com>
4247
4248         * configure.in: detect cygwin* instead of cygwin32*
4249         * configure: regenerate
4250
4251 Sun Nov  1 19:32:28 1998  Jeffrey A Law  (law@cygnus.com)
4252
4253         * elf-m10300.c (mn10300_elf_relax_section): Do not use alloca,
4254         use bfd_malloc and free instead and check return value from bfd_malloc.
4255
4256 Sun Nov  1 16:20:35 1998  Ian Lance Taylor  <ian@cygnus.com>
4257
4258         * libbfd-in.h (_bfd_dwarf1_find_nearest_line): Declare.
4259         * libbfd.h: Rebuild.
4260
4261         * elf32-mips.c (mips_elf_dynsym_sec_names): Comment out.
4262         (SIZEOF_MIPS_DYNSYM_SECNAMES): Likewise.
4263         (MIPS_TEXT_DYNSYM_SECN): Likewise.
4264         (_bfd_mips_elf_fake_sections): Don't set sh_info field of a .hash
4265         section.
4266         (struct mips_elf_link_hash_table): Remove dynsym_sec_strindex
4267         field.
4268         (mips_elf_link_hash_table_create): Don't initialize
4269         dynsym_sec_strindex.
4270         (mips_elf_gc_mark_hook): Add default case to avoid warning.
4271         (mips_elf_size_dynamic_sections): Generate a section symbol for
4272         every output section.
4273         (mips_elf_finish_dynamic_sections): Count all sections for
4274         DT_MIPS_UNREFEXTNO.
4275         (mips_elf_finish_dynamic_sections): Use dynamic symbols for all
4276         output sections.
4277
4278 Sun Nov  1 12:46:53 1998  Geoff Keating  <geoffk@ozemail.com.au>
4279
4280         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Allocate two slots
4281         for later PLT entries in large PLTs.
4282         (ppc_elf_finish_dynamic_symbol): Allow for the extra slots.
4283
4284 Sat Oct 31 20:10:09 1998  Jeffrey A Law  (law@cygnus.com)
4285
4286         * elf32-ppc.c (ppc_elf_reload_section): Fix typo.
4287
4288 1998-10-26 15:58  Ulrich Drepper  <drepper@cygnus.com>
4289
4290         * elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value.
4291         * elflink.h (elf_collect_hash_codes): New function.  This function is
4292         called for each exported symbol and we compute the ELF hash value for
4293         it.
4294         (compute_bucket_value): New function.  It is called from
4295         size_dynamic_sections to determine the hash table size.  When we are
4296         optimizing a better, but slower, algorithm is used.
4297         (size_dynamic_sections): Call compute_bucket_value.
4298
4299         * elf.c (bfd_elf_hash): Optimize the hash function a bit.
4300
4301 Mon Oct 19 20:03:21 1998  Catherine Moore  <clm@cygnus.com>
4302
4303         * elf32-sh.c:  Add HOWTO entries for R_SH_GNU_VTINHERIT and
4304         R_SH_GNU_VTENTRY.
4305         (sh_elf_gc_mark_hook):  New.
4306         (sh_elf_gc_sweep_hook):  New.
4307         (sh_elf_check_relocs):  New.
4308         (elf_backend_can_gc_sections):  Define.
4309
4310 Mon Oct 19 16:57:05 1998  Felix Lee  <flee@cygnus.com>
4311
4312         * acinclude.m4: undo previous gettext change
4313         * aclocal.m4: rebuild with right version of aclocal.
4314
4315 Mon Oct 19 01:47:21 1998  Felix Lee  <flee@cygnus.com>
4316
4317         * acinclude.m4, aclocal.m4: move gettext-related fragments from
4318         aclocal.m4 to acinclude.m4, so they don't get lost.
4319
4320         * elfcore.h: rewrite for better corefile support.
4321         * elf.c (elfcore_*): new functions.
4322         * elf-bfd.h (elf_obj_tdata): new structure members.
4323         * acconfig.h, acinclude.m4, configure.in: add feature-tests for
4324         flavor of procfs.
4325         * aclocal.m4, config.in, configure, Makefile.in: regenerated.
4326
4327 Fri Oct 16 14:07:45 1998  Catherine Moore  <clm@cygnus.com>
4328
4329         * elf32-m32r.c:  Add HOWTO entries for R_M32R_GNU_VTINHERIT
4330         and R_M32R_GNU_VTENTRY.
4331         (elf_backend_can_gc_sections):  Define.
4332         (m32r_elf_check_relocs):  New.
4333         (m32r_elf_gc_mark_hook):  New.
4334         (m32r_elf_gc_sweep_hook):  New.
4335         (m32r_elf_relocate_section):  Handle VT relocs.
4336
4337 Mon Oct 12 14:18:40 1998  Nick Clifton  <nickc@cygnus.com>
4338
4339         * coff-arm.c (arm_relocate_section): Remove redundant test.
4340
4341         * bfd-in2.h (struct reloc_howto_struct): Improve comment to make
4342         cleat that the 'bitsize' field is the size of the bitfield AFTER
4343         relocation not before.
4344
4345         * elf32-m32r.c (R_M32R_18_PCREL): Fix size of bitfield.
4346
4347         * coff-mips.c (mips_relocate_hi): Cope with missing refhi or reflo
4348         relocs.
4349
4350 Tue Oct  6 09:20:44 1998  Catherine Moore  <clm@cygnus.com>
4351
4352         * elf32-sparc.c:  Add HOWTO entries for R_SPARC_GNU_VTINHERIT and
4353         R_SPARC_GNU_VTENTRY.
4354         (elf32_sparc_check_relocs):  Handle them.
4355         (elf32_sparc_reloc_type_lookup):  Likewise.
4356         (elf32_sparc_relocate_section):  Likewise.
4357         (elf32_sparc_gc_mark_hook):  New.
4358         (elf32_sparc_gc_sweep_hook):  New.
4359
4360 Mon Oct  5 14:55:30 1998  Jeffrey A Law  (law@cygnus.com)
4361
4362         * som.c (som_finish_writing): Perform some sanity checks when
4363         writing an executable or shared library.
4364
4365 Mon Oct  5 12:02:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
4366
4367         * dwarf1.c : New file.  Adds _bfd_dwarf1_find_nearest_line.
4368         * configure.in (elf): Add dwarf1.lo.
4369         * elf_bfd.h (elf_ob_tdata): Add dwarf1_find_line_info.
4370         * elf.c (_bfd_elf_find_nearest_line): Add call to
4371         _bfd_dwarf1_find_nearest_line.
4372         * elf32-mips.c (_bfd_mips_elf_find_nearest_line):
4373         Add call to _bfd_dwarf1_find_nearest_line.
4374         * configure: Rebuilt.
4375
4376 Mon Oct  5 10:06:22 1998  Catherine Moore  <clm@cygnus.com>
4377
4378         * elflink.h (elf_gc_sections):  Do not allow garbage
4379         collection if dynamic sections have been created.
4380
4381 Mon Oct  5 09:07:37 1998  Catherine Moore  <clm@cygnus.com>
4382
4383         * elf32-v850.c: Add HOWTO entries for R_V850_GNU_VTINHERIT and
4384         R_V850_GNU_VTENTRY.
4385         (v850_elf_check_relocs):  Handle VTINHERIT and VTENTRY relocs.
4386         (v850_elf_perform_relocation):  Likewise.
4387         (v850_elf_final_link_relocate):  Likewise.
4388         (v850_elf_relocate_section):  Likewise.
4389         (v850_elf_gc_sweep_hook):  New routine.
4390         (v850_elf_gc_mark_hook):  New routine.
4391         (elf_backend_can_gc_sections):  Define.
4392
4393 Mon Oct  5 09:04:25 1998  Catherine Moore  <clm@cygnus.com>
4394
4395         * elf32-m68k.c (elf_m68k_gc_sweep_hook):  Don't assume
4396         that dynobj exists.
4397
4398 Sun Oct  4 23:29:34 1998  David Edelsohn  <edelsohn@mhpcc.edu>
4399
4400         * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
4401         Declare size as bfd_size_type.
4402         (rs6000coff_get_section_contents): Declare count as bfd_size_type.
4403
4404 Sun Oct  4 20:38:29 1998  Jeffrey A Law  (law@cygnus.com)
4405
4406         * cpu-hppa.c (bfd_hppa20_arch): Define.  Link it into the bfd_hppa_arch
4407         structure.
4408         * som.c (CPU_PA_RISC2_0): Define.
4409         (_PA_RISC2_0_ID): Likewise.
4410         (som_finish_writing): Use CPU_PA_RISC2_0 for the system_id as needed.
4411
4412 Sun Oct  4 21:19:09 1998  Ian Lance Taylor  <ian@cygnus.com>
4413
4414         * elflink.h (elf_link_add_object_symbols): When a versioned symbol
4415         has a base which is already defined, only add the referenced
4416         symbol to the dynamic symbol table if it is defined or referenced
4417         by a regular file.
4418
4419         * elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs
4420         correctly.
4421
4422 1998-09-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4423
4424         * elflink.h (elf_link_add_object_symbols): Undo last change.
4425
4426 Wed Sep 23 16:09:31 1998  Richard Henderson  <rth@cygnus.com>
4427
4428         * elflink.h (elf_link_add_object_symbols): Don't record a dynamic
4429         symbol for the indirect alias to a versioned symbol.
4430
4431 Mon Sep 21 12:15:22 1998  Catherine Moore  <clm@cygnus.com>
4432
4433         * elf32-i386.c (elf32_i386_vtinherit_howto): New.
4434         (elf32_i386_vtentry_howto): New.
4435         (elf_i386_reloc_type_lookup):  Return elf32_i386_vtentry_howto
4436         or elf32_i386_vtinherit_howto  on lookup.
4437
4438 Sun Sep 20 00:48:07 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4439
4440         * elf32-m68k.c: Include "elf/m68k.h".  Remove definition of enum
4441         reloc_type.  Rename R_68K__max to R_68K_max.
4442         (howto_table): Use _bfd_elf_rel_vtable_reloc_fn for a VTENTRY
4443         reloc.
4444
4445 Sun Sep 20 00:09:25 1998  Chris Torek  <torek@bsdi.com>
4446
4447         * libbfd.c (bfd_getb32): Rewrite expression to get better code.
4448         (bfd_getl32, bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
4449
4450         * libbfd.c (bfd_log2): Cast to bfd_vma before shifting, not
4451         after.
4452
4453 Sat Sep 19 22:42:23 1998  Doug Rabson  <dfr@nlsystems.com>
4454
4455         * elflink.h (elf_link_add_object_symbols): Ensure that the warning
4456         message has a null byte terminator.
4457
4458 Fri Sep 18 14:35:29 1998  Nick Clifton  <nickc@cygnus.com>
4459
4460         * elf32-v850.c (v850_elf_perform_relocation): Ignore contents of
4461         word subject to R_V850_32 relocation.
4462
4463 Thu Sep 17 17:20:36 1998  Nick Clifton  <nickc@cygnus.com>
4464
4465         * dwarf2.c: Add comment describing problem computing line numbers
4466         for undefined symbols at link time.
4467
4468 Thu Sep 17 16:03:28 1998  Richard Henderson  <rth@cygnus.com>
4469
4470         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
4471         transform a defweak into a plt entry.
4472         (elf64_alpha_calc_dynrel_sizes): Allow room for secondary
4473         plt entry references to receive a RELATIVE reloc.
4474         (elf64_alpha_finish_dynamic_symbol): Fill them in.
4475         (elf64_alpha_relocate_section): Assert we don't overrun
4476         the allocated relocation space.
4477
4478 Wed Sep 16 18:03:13 1998  Nick Clifton  <nickc@cygnus.com>
4479
4480         * elf.c (swap_out_syms): Always treat section symbols as
4481         special, even if they are attached to a common section.
4482
4483 Wed Sep 16 10:34:13 1998  Nick Clifton  <nickc@cygnus.com>
4484
4485         * elf32-v850.c (v850_elf_symbol_processing): Move symbols in
4486         sections with v850 common section attributes into named v850
4487         common sections.
4488         (v850_elf_add_symbol_hook): Move symbols in sections with v850
4489         common section attributes into named v850 common sections.
4490
4491 Wed Sep 16 11:26:49 CDT 1998  Catherine Moore  <clm@cygnus.com>
4492
4493         * elf32-arm.c (elf32_arm_gc_mark_hook):  Remove print
4494         statement.
4495
4496 1998-09-15  Geoff Keating  <geoffk@ozemail.com.au>
4497
4498         * elf32-ppc.c (ppc_elf_relocate_section): Reverse output_offset
4499         part of Vladimir's change of 1998-08-19.  Make a R_PPC_SDAREL16
4500         reloc to the wrong section a warning, not an error.  .dynsbss
4501         is not an output section, so there is no need to check for it.
4502
4503 Tue Sep 15 12:40:05 1998  Catherine Moore  <clm@cygnus.com>
4504
4505        * elf-bfd.h:  Add argument to elf_backend_get_symbol_type.
4506
4507 Tue Sep 15 08:34:40 1998  Catherine Moore  <clm@cygnus.com>
4508
4509        * elf.c (swap_out_syms):  Pass type to elf_backend_get_symbol_type.
4510        * elf32-arm.c:  Add HOWTO entries for R_ARM_GNU_VTINHERIT and
4511        R_ARM_GNU_VTENTRY.
4512        (elf32_arm_gc_mark_hook): New.
4513        (elf32_arm_gc_sweep_hook): New.
4514        (elf32_arm_check_relocs): New.
4515        (elf32_arm_final_link_relocate):  Handle VTINHERIT and VTENTRY
4516        relocations.
4517        (elf32_arm_relocate_section): Handle VTINHERIT and VTENTRY
4518        relocations.
4519
4520 1998-09-10  Geoff Keating  <geoffk@ozemail.com.au>
4521
4522         * elf32-ppc.c (ppc_elf_relocate_section): If dynobj is NULL,
4523         assume there is no PLT or GOT.
4524
4525 Wed Sep  9 14:24:12 1998  Nick Clifton  <nickc@cygnus.com>
4526
4527         * elf32-arm.c (elf32_arm_find_nearest_line): New function:  just
4528         like _elf_bfd_find_nearest_line() except that STT_ARM_TFUNC is
4529         also accepted as a function symbol type.
4530
4531 Mon Sep  7 13:24:03 1998  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
4532
4533         * rs6000-core.c (_LONG_LONG):  Define for AIX 4.x only.
4534
4535 Sat Sep  5 20:40:18 1998  Ian Lance Taylor  <ian@cygnus.com>
4536
4537         * libbfd-in.h (_bfd_nolink_bfd_gc_sections): Correct definition to
4538         match definition of _bfd_gc_sections field.
4539         * libbfd.h: Rebuild.
4540
4541 Fri Sep  4 13:54:23 1998  David Miller  <davem@dm.cobaltmicro.com>
4542
4543         * elf32-sparc.c (elf32_sparc_relocate_section): Properly adjust
4544         the addend of a dynamic relocation referencing a section.
4545         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4546         (sparc64_elf_finish_dynamic_symbol): Fix the PLT relocation offset.
4547
4548 Thu Sep  3 17:28:50 1998  Richard Henderson  <rth@cygnus.com>
4549
4550         * elflink.h (bfd_elfNN_size_dynamic_sections): Verify that the
4551         bed has a size_dynamic_sections routine before trying to use it.
4552
4553 Mon Aug 31 14:49:22 1998  Richard Henderson  <rth@cygnus.com>
4554
4555         * elf32-mips.c (elf_mips_gnu_vtentry_howto): Use
4556         _bfd_elf_rel_vtable_reloc_fn.
4557
4558 Mon Aug 31 10:23:40 1998  Catherine Moore  <clm@cygnus.com>
4559
4560         * Makefile.am:  Add elf32-arm.c.
4561         * Makefile.in:  Rebuild.
4562         * elf-bfd.h:  Add elf_backend_get_symbol_type.
4563         * elf.c (swap_out_syms):  If defined, call
4564         elf_backend_get_symbol_type.
4565         * elf32-arm.c: Define elf_backend_get_symbol_type.
4566         (elf32_arm_get_symbol-type):  New routine.
4567         (record_thumb_to_arm_glue):  Change to use STT_ARM_TFUNC.
4568         (bfd_elf32_arm_process_before_allocation):  Change to
4569         check for STT_ARM_TFUNC.
4570         (elf32_arm_final_link_relocate):  Likewise.
4571         * elfxx-target.h:  Add elf_backend_get_symbol_type.
4572
4573 Fri Aug 28 19:44:07 1998  Richard Henderson  <rth@cygnus.com>
4574
4575         * archures.c (bfd_mach_alpha_ev[456]): New.
4576         * cpu-alpha.c: Rework to match these types.
4577         * bfd-in2.h: Rebuild.
4578
4579 Fri Aug 28 19:38:53 1998  Richard Henderson  <rth@cygnus.com>
4580
4581         * elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare.
4582         * elf.c (_bfd_elf_rel_vtable_reloc_fn): New.
4583
4584         * elf32-i386.c (elf_howto_table): Add vtable relocs.
4585         (elf_i386_reloc_type_lookup): Recognize them.
4586         (elf_i386_check_relocs): Pass them off to generic code.
4587         (elf_i386_relocate_section): Ignore them.
4588         (elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New.
4589         (elf_backend_can_gc_sections): True.
4590
4591 Thu Aug 20 15:03:45 1998  Nick Clifton  <nickc@cygnus.com>
4592
4593         * elf32-arm.c (elf32_thumb_to_arm_stub): Check sym_sec is not NULL
4594         before looking at owner field.
4595         (elf32_arm_to_thumb_stub): Ditto.
4596         (elf32_arm_relocate_section): Compute name before calling
4597         elf32_arm_final_link_relocate().
4598
4599 Thu Aug 20 11:30:17 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
4600
4601         * elf.c: comment and formatting cleanups.
4602         * elfcore.h: ditto.
4603
4604 Wed Aug 19 15:43:26 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
4605
4606         * elfcode.h (elf_object_p): Reject files of header type ET_CORE
4607         (core files are treated differently than object files).
4608         * elf-bfd.h (_bfd_elf_write_corefile_contents,
4609         bfd_elf_mkcorefile): declare.
4610         * elfxx-target.h (_bfd_elf_write_corefile_contents,
4611         bfd_elf_mkcorefile): add to bfd_target vector.
4612         * elfcore.h (elf_core_file_p): save the program header table,
4613         and set the bfd architecture from the elf file header.
4614         * elf.c (bfd_elf_mkcorefile): new function.
4615         (_bfd_elf_write_corefile_contents): new function.
4616         (assign_file_positions_for_segments): add cases for handling
4617         PT_NOTE segments.  (assign_file_positions_except_relocs):
4618         core files should be handled the same as exec files.
4619         (prep_headers): identify core files as type ET_CORE.
4620         (copy_private_bfd_data): identify the sections belonging to
4621         the PT_NOTE segment.
4622
4623         * elf32-sparc.c (elf32_sparc_final_write_processing):
4624         add break statement to default case.
4625
4626 1998-08-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
4627
4628         * elf32-ppc.c (ppc_elf_relocate_section): Check that output
4629         section (not input) will be in sections ".sbss", ".sbss2",
4630         ".sdata", and ".sdata" for R_PPC_SDAREL16, R_PPC_EMB_SDA2REL,
4631         R_PPC_EMB_SDA21, R_PPC_EMB_RELSDA.  In all these cases also ignore
4632         output_offset for correct evaluation of addend.
4633
4634 Tue Aug 18 11:48:12 1998  Catherine Moore  <clm@cygnus.com>
4635
4636         * elf32-arm.c: Add prefix bfd_ to elf32_arm_get_bfd_for_interworking,
4637         elf32_arm_allocate_interworking_sections and
4638         elf32_arm_process_before_allocation.
4639
4640 Tue Aug 18 11:46:00 1998  Nick Clifton  <nickc@cygnus.com>
4641
4642         * bfd-in.h: Ammend prototype for
4643         elf32_arm_process_before_allocation to remove surplus third
4644         argument.
4645
4646         * bfd-in2.h: Regenerate.
4647
4648 Sat Aug 15 20:55:08 1998  Richard Henderson  <rth@cygnus.com>
4649
4650         * elf64-alpha.c (elf64_alpha_relax_section): Handle indirect symbols.
4651
4652 Fri Aug 14 09:12:28 1998  Stan Cox  <scox@cygnus.com>
4653
4654         * aoutx.h (aout_link_input_section_ext): Use the relocation already
4655         calculated for RELOC_SPARC_REV32 case.
4656
4657 Thu Aug 13 14:02:02 1998  Catherine Moore  <clm@cygnus.com>
4658
4659        * bfd-in.h:  Add prototypes for elf32_arm_get_bfd_for_interworking,
4660        elf32_arm_allocate_interworking_sections and
4661        elf32_arm_process_before_allocation.
4662        * bfd-in2.h:  Regenerated.
4663        * elf32-arm.c Define elf32_arm_link_hash_table.
4664        (insert_thumb_branch): New routine.
4665        (find_thumb_glue): New routine.
4666        (find_arm_glue): New routine.
4667        (record_arm_to_thumb_glue): New routine.
4668        (record_thumb_to_arm_glue): New routine.
4669        (elf32_arm_link_hash_table_create): New routine.
4670        (elf32_arm_get_bfd_for_interworking): New routine.
4671        (elf32_arm_allocate_interworking_sections) New routine.
4672        (elf32_arm_process_before_allocation) New routine.
4673        (elf32_thumb_to_arm_stub): New routine.
4674        (elf32_arm_to_thumb_stub): New routine.
4675        (elf32_print_private_bfd_data): Fix typo.
4676        (elf32_arm_final_link_relocate):  Add argument sym_sec.
4677        Check for branches to thumb symbols in case R_ARM_PC24.
4678        Check for branches to arm symbols in case R_ARM_THM_PC22.
4679        (elf32_arm_relocate_section):  Pass symbol section to
4680        elf32_arm_final_link_relocate.
4681
4682 Wed Aug 12 19:00:39 1998  Geoff Keating  <geoffk@ozemail.com.au>
4683
4684         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT
4685         entries unless the symbol is defined in the executable; in
4686         particular, undefined weak symbols get a PLT entry.
4687
4688 Wed Aug 12 14:48:33 1998  Ian Lance Taylor  <ian@cygnus.com>
4689
4690         * libaout.h: Remove nested comment to avoid warning.
4691
4692 Wed Aug 12 08:10:11 1998 Catherine Moore  <clm@cygnus.com>
4693
4694        * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
4695        R_ARM_PC24 relocation.
4696
4697 Tue Aug 11 14:42:26 1998  Catherine Moore  <clm@cygnus.com>
4698
4699        * elf32-arm.c (elf32_arm_final_link_relocate):  Remove unused
4700        argument is_local.  Add argument sym_flags.  Check sym_flags
4701        in R_ARM_ABS32 case.  Include addend for R_ARM_THM_PC22 case.
4702        (elf32_arm_relocate_section):  Don't pass local sym and pass
4703        sym_flags to elf32_arm_final_link_relocate.
4704
4705 Mon Aug 10 20:38:39 1998  Richard Henderson  <rth@cygnus.com>
4706
4707         * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change
4708         to not count too few relocs for dynamicly linked executables.
4709
4710 Mon Aug 10 15:35:34 1998  Richard Henderson  <rth@cygnus.com>
4711
4712         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider
4713         symbols without a dynamic index dynamic.  Consider all weak
4714         symbols dynamic.
4715         (elf64_alpha_strip_section_from_output): Don't assume 1-1
4716         correspondance between input and output sections.
4717
4718 Mon Aug 10 15:31:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4719
4720         * elflink.h (elf_gc_common_finalize_got_offsets): For backends
4721         that use a .got.plt section start the got offset at zero.
4722
4723 Mon Aug 10 17:31:21 1998  Ian Lance Taylor  <ian@cygnus.com>
4724
4725         * ieee.c (ieee_write_processor): Correct the processor ID written
4726         out for bfd_arch_m68k, accommodating change of March 25.
4727
4728 Sun Aug  9 20:55:44 1998  Catherine Moore  <clm@cygnus.com>
4729
4730         * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
4731         R_ARM_THM_RPC22 relocations.
4732
4733 Sat Aug  8 15:15:30 1998  Richard Henderson  <rth@cygnus.com>
4734
4735         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
4736         are always dynamic.
4737         (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
4738         .got relocs in -Bsymbolic shared objects.
4739
4740 Wed Aug  5 15:48:08 1998  Nick Clifton  <nickc@cygnus.com>
4741
4742         * elf32-arm.c: Add private flags to ELF header.
4743         (elf32_arm_print_private_bfd_data): New Function.
4744         (elf32_arm_set_private_flags): New Function.
4745         (elf32_arm_copy_private_flags): New Function.
4746         (elf32_arm_merge_private_bfd_data): New Function.
4747
4748 Mon Aug  3 17:10:15 1998  Ian Lance Taylor  <ian@cygnus.com>
4749
4750         * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against
4751         a local symbol.
4752         (elf32_sparc_relocate_section): Likewise.
4753
4754 Sun Aug  2 03:19:23 1998  Richard Henderson  <rth@cygnus.com>
4755
4756         * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL.  Create the
4757         .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_.
4758         (ppc_elf_relocate_section): Pull sgot and splt search to the start
4759         of the function.  Recognize no .plt as static linking.
4760
4761 1998-08-01  Ulrich Drepper  <drepper@cygnus.com>
4762
4763         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass
4764         ".liblist" string through gettext.
4765
4766 Fri Jul 31 16:38:14 1998  Catherine Moore  <clm@cygnus.com>
4767
4768         * Makefile.am: Add support for elf32-arm.lo.
4769         * Makefile.in: Rebuild.
4770         * config.bfd (arm-*-elf):  Define targ_defvec and targ_selvecs.
4771         (thumb-*-elf): Define targ_defvec and targ_selvecs.
4772         * configure.in:  Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec.
4773         * configure: Regenerate.
4774         * elf.c: (prep_headers):  Support arch_type of EM_ARM.
4775         * targets.c:  Support new targets bfd_elf32_bigarm_vec and
4776         bfd_target bfd_elf32_littlearm_vec.
4777         * elf32-arm.c:  New file.
4778
4779 Tue Jun 28 19:05:28 1998  Stan Cox  <scox@cygnus.com>
4780
4781         * libaout.h (M_SPARCLITE_LE): New machine.
4782         * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE.
4783         * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE.
4784         (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le
4785         * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32.
4786         (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le
4787         (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support.
4788         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
4789         elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32
4790         * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to
4791         be BFD_RELOC_SPARC_REV32.
4792         * reloc.c: Ditto.
4793         * config.bfd (sparc86x-*-aout): New
4794
4795 Fri Jul 24 13:54:19 1998  Nick Clifton  <nickc@cygnus.com>
4796
4797         * linker.c (_bfd_generic_final_link): Allocate NULL symbol before
4798         actually mapping the output sections.
4799
4800 Fri Jul 24 11:24:29 1998  Jeffrey A Law  (law@cygnus.com)
4801
4802
4803         * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry.
4804         (mn10300_elf_reloc_map): Similarly.
4805         (mn10300_elf_final_link_relocate): Handle R_MN10300_24.
4806
4807 Fri Jul 24 12:36:04 1998  Ian Lance Taylor  <ian@cygnus.com>
4808
4809         * elf32-mips.c (elf_mips_howto_table): Add reloc types used on
4810         Irix 6.
4811         (bfd_elf32_bfd_reloc_type_lookup): Add default case.
4812         * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with
4813         elf_mips_reloc_type defined in elf/mips.h.
4814
4815 1998-07-24  Ulrich Drepper  <drepper@cygnus.com>
4816
4817         * elf64-mips.c: Remove reloc_type definition completely.  It's now
4818         in elf/mips.h.
4819
4820 Thu Jul 23 13:33:19 1998  Doug Evans  <devans@canuck.cygnus.com>
4821
4822         * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations
4823         as they are defined in elf/mips.h now.
4824
4825 Thu Jul 23 11:29:43 1998  Jeffrey A Law  (law@cygnus.com)
4826
4827
4828         * Re-add lost change:
4829         * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
4830         "movm_stack_size".
4831         (mn10300_elf_relax_section): Include stack space for register saves
4832         in the imm8 field of a "call" instruction.
4833         (compute_function_info): Determine how much stack is allocated by
4834         the movm instruction.  Fix typo.
4835         (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
4836
4837 Thu Jul 23 11:38:05 1998  Ian Lance Taylor  <ian@cygnus.com>
4838
4839         * elf32-sparc.c (elf_backend_got_header_size): Define as 4.
4840         * elf64-sparc.c (elf_backend_got_header_size): Define as 8.
4841
4842 1998-07-22  Ulrich Drepper  <drepper@cygnus.com>
4843
4844         * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type.
4845
4846 Wed Jul 22 16:27:18 1998  Nick Clifton  <nickc@cygnus.com>
4847
4848         * elf32-hppa.h: Let ELF header define the enum containing the
4849         external reloc numbers.
4850         * elf32-i386.h: Likewise.
4851
4852 1998-07-22 14:57  Ulrich Drepper  <drepper@cygnus.com>
4853
4854         * elf-m10300.c: Let ELF header now define the macros to get the enum.
4855         * elf32-mips.c: Likewise.
4856         * elf32-ppc.c: Likewise.
4857
4858 Wed Jul 22 13:53:52 1998  Nick Clifton  <nickc@cygnus.com>
4859
4860         * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in
4861         bfd_coff_set_symbol_class(), in order to avoid K&R compatability
4862         prblems.
4863         * bfd-in.h: Regenerate.
4864         * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class'
4865         parameter to 'unsigned int' to avoid K&R compatability problems.
4866
4867 Wed Jul 22 16:43:24 1998  Ian Lance Taylor  <ian@cygnus.com>
4868
4869         * ieee.c (ieee_find_nearest_line): Change filename_ptr and
4870         functionname_ptr to be const.  Change line_ptr to be unsigned.
4871
4872         * coffcode.h (coff_link_output_has_begun): Simplify handling when
4873         macro is not defined.  Change second parameter from bfd_link_info
4874         to coff_final_link_info.  Add prototype.
4875         (coff_final_link_postscript): Simplify handling when macro is not
4876         defined.  Add prototype.
4877
4878 1998-07-22 13:08  Ulrich Drepper  <drepper@cygnus.com>
4879
4880         * elf-mn10300.c: Before include system specific ELF header define
4881         START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
4882         * elf32-mips.c: Likewise.
4883         * elf32-ppc.c: Likewise.
4884
4885 Wed Jul 22 13:46:51 1998  Ian Lance Taylor  <ian@cygnus.com>
4886
4887         * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
4888         temporary patch over to elf64-mips.c as well.
4889
4890 1998-07-21  Ulrich Drepper  <drepper@cygnus.com>
4891
4892         * elf32-mips.c (reloc_type): Temporarily disable definition of
4893         standard relocation since they are now defined in elf/mips.h.
4894
4895 Tue Jul 21 09:47:00 1998  Catherine Moore  <clm@cygnus.com>
4896
4897         * elf-m10200.c (mn10200_elf_final_link_relocate):
4898         Modify range test for case R_MN10200_8.
4899
4900         * elf-m10300.c (mn10300_elf_final_link_relocate):
4901         Modify range test for case R_MN10300_8.
4902
4903 Mon Jul 20 18:50:54 1998  Richard Henderson  <rth@cygnus.com>
4904
4905         * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size.
4906         * elf32-i386.c (elf_backend_got_header_size): Define.
4907         (elf_backend_plt_header_size): Define.
4908         * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise.
4909         * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise.
4910         * elfxx-target.h: Provide a default of zero.
4911         * elflink.c (_bfd_elf_create_got_section): Use got_header_size.
4912         * elflink.h (elf_gc_common_finalize_got_offsets): Likewise.
4913
4914         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT
4915         entry from an executable, even if the plt refcount goes to 0.
4916
4917 Mon Jul 20 12:47:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4918
4919         * aoutx.h (NAME(aout,find_nearest_line)): Also remember the
4920         directory name at the line number.
4921
4922         * elf.c (_bfd_elf_find_nearest_line): Also consider symbols
4923         with an unspecified type.
4924
4925 Wed Jul 15 11:20:01 1998  Ian Lance Taylor  <ian@cygnus.com>
4926
4927         * sunos.c: Add undef of valid to avoid problem on SunOS.
4928
4929 Tue Jul 14 15:30:59 1998  Richard Henderson  <rth@cygnus.com>
4930
4931         * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize.
4932
4933 Tue Jul 14 11:22:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4934
4935         * elf32-m68k.c (elf_m68k_check_relocs): Also reference count
4936         R_68K_PCxx and R_68K_xx relocations.  Make sure that
4937         ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference.
4938         (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and
4939         R_68K_xx relocations.
4940         (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol
4941         that has no plt entry.
4942         (elf_m68k_relocate_section): Ignore the plt offset in a static
4943         link.
4944         * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for
4945         an ignored symbol.
4946         (elf_gc_common_finalize_got_offsets): Set the got offsets also in
4947         a static link.
4948
4949         * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc
4950         types.
4951         (howto_table, reloc_map): Add entries for them.
4952         (elf_m68k_check_relocs): Handle them.  Implement reference
4953         counting for got and plt entries.
4954         (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions.
4955         (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt
4956         symbols.
4957         (rtype_to_howto_rel, elf_info_to_howto_rel): Delete.
4958         (elf_m68k_relocate_section): Handle the new reloc types.
4959         (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook,
4960         elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define.
4961         * elflink.h (elf_link_add_object_symbols): When creating an
4962         indirect reference for symbol versioning also copy the plt
4963         offset.
4964         (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT
4965         flag also reset the plt offset.
4966         (elf_link_assign_sym_version): Likewise.
4967         (elf_gc_common_finalize_got_offsets): Increment the got offset by
4968         the size of the entry in bytes.
4969         (elf_gc_allocate_got_offsets): Likewise.
4970
4971 Tue Jul 14 11:18:14 1998  Ian Lance Taylor  <ian@cygnus.com>
4972
4973         * elflink.h (elf_gc_sections): Return true rather than falling off
4974         the bottom.
4975
4976         * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not
4977         xmalloc.
4978
4979 Mon Jul 13 11:06:31 1998  Nick Clifton  <nickc@cygnus.com>
4980
4981         * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a
4982         comment describing when it should be enabled.
4983         Changed definition of USER_LABEL_PREFIX to "", to fall into line
4984         with GCC sources.
4985
4986 Mon Jul 13 13:06:54 1998  Ian Lance Taylor  <ian@cygnus.com>
4987
4988         * ieee.c (ieee_slurp_external_symbols): Handle call optimization
4989         information ATN records.
4990
4991 Fri Jul 10 16:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
4992
4993         * ieee.c (ieee_slurp_external_symbols): Select an appropriate
4994         section for an absolute symbol in a fully linked file.  Based on
4995         patch from Christian Holland <CHolland@de.lucent.com>.
4996
4997 Wed Jul  8 11:29:56 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4998
4999         * coff-m88k.c (m88k_special_reloc): Don't lose the information
5000         that a symbol is undefined.
5001
5002 Tue Jul  7 21:47:02 1998  Jeffrey A Law  (law@cygnus.com)
5003
5004         * som.c (som_bfd_gc_sections): Define.
5005
5006 Mon Jul  6 11:35:50 1998  Nick Clifton  <nickc@cygnus.com>
5007
5008         * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about
5009         overflows in ARM_26D patches, since they have already been
5010         implmented.  Patch submitted by Dr. R.J. Black <rjb@dcs.gla.ac.uk>
5011
5012 Sat Jul  4 12:25:36 1998  Ian Lance Taylor  <ian@cygnus.com>
5013
5014         * coffcode.h (coff_write_object_contents): If we have any long
5015         section names, call coff_write_symbols even if there are no
5016         symbols.
5017
5018 Fri Jul  3 13:11:35 1998  Ian Lance Taylor  <ian@cygnus.com>
5019
5020         * elf.c (copy_private_bfd_data): Only set phdr_included once for a
5021         PT_LOAD segment, rather than only setting it once for the entire
5022         file.
5023
5024         * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
5025         rather than ignoring every phdr with a p_paddr of 0, ignore all
5026         the phdrs if they all have a p_paddr of 0.
5027
5028         * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr
5029         section was discarded from the link.
5030
5031 Fri Jul  3 14:39:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5032
5033         * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
5034
5035 Fri Jul  3 14:35:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5036
5037         * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
5038         floating point operations.
5039
5040 Thu Jul  2 18:37:25 1998  Ian Lance Taylor  <ian@cygnus.com>
5041
5042         * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global
5043         function symbols.
5044
5045 Thu Jul  2 14:59:42 1998  Klaus Kaempf  <kkaempf@rmi.de>
5046
5047         Merge of vax/vms (read-only) support
5048         * configure.com: Support Vax target.
5049         * makefile.vms: Support Vax target.
5050         * vms.h: Renamed from evax.h, merged vax/vms (read-only) support.
5051         * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only)
5052         support.
5053         * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only)
5054         support.
5055         * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only)
5056         support.
5057         * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only)
5058         support.
5059         * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only)
5060         support.
5061         * libbfd.c (real_read): Use unbuffered read on VMS/Vax.
5062         * targets.c (bfd_target_ovax_flavour): New flavour.
5063         (vms_alpha_vec): Renamed from evax_alpha_vec.
5064         (vms_vax_vec): New.
5065         (target_vector): Update accordingly.
5066         * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not
5067         evax_alpha_vec.
5068         (vax*-*-*vms*): New target.
5069         * Makefile.am: Update for renamed files.  Rebuild dependencies.
5070         * bfd-in2.h: Rebuild.
5071         * configure.in, Makefile.in, aclocal.m4: Rebuild.
5072
5073 Thu Jul  2 13:31:55 1998  Ian Lance Taylor  <ian@cygnus.com>
5074
5075         Based on patch from Matt Semersky <matts@scd.hp.com>:
5076         * linker.c (_bfd_generic_final_link): Force a trailing NULL
5077         pointer on abfd->outsymbols.
5078         (generic_add_output_symbol): Handle NULL sym parameter.
5079
5080 Wed Jul  1 17:05:53 1998  Nick Clifton  <nickc@cygnus.com>
5081
5082         * elf.c (copy_private_bfd_data): Add support for changing VMA or
5083         LMA of sections.
5084
5085 Wed Jul  1 16:58:50 1998  Ian Lance Taylor  <ian@cygnus.com>
5086
5087         * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons
5088         when handling 32 bit immediate relocs.
5089         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
5090
5091 Tue Jun 30 09:55:03 1998  Jeffrey A Law  (law@cygnus.com)
5092
5093         * section.c (STD_SECTION): Account for recently added gc_mark
5094         field in struct asection.
5095
5096         * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
5097         (bfd_elf32_bfd_merge_private_bfd_data): Define.
5098
5099 Thu Jun 25 18:31:41 1998  Richard Henderson  <rth@cygnus.com>
5100
5101         ELF Section-level Garbage Collection:
5102         * bfd.c (bfd_gc_sections): New.
5103         * aout-adobe.c: Hook to default implementation.
5104         * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise.
5105         * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise.
5106         * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise.
5107         * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise.
5108         * tekhex.c, versados.c: Likewise.
5109         * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New.
5110         * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections.
5111
5112         * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New.
5113         (bfd_generic_gc_sections): New.
5114         * section.c (SEC_KEEP): New.
5115         (asection): Add gc_mark member.
5116
5117         * elfcode.h (elf_gc*): New name remappings.
5118         * elflink.h (elf_link_input_bfd): Don't set contents on stabs
5119         sections to be excluded.
5120         (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New.
5121         (elf_gc_propogate_vtable_entries_used): New.
5122         (elf_gc_smash_unused_vtentry_relocs): New.
5123         (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New.
5124         (elf_gc_common_finalize_got_offsets): New.
5125         (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New.
5126         * elfxx-target.h: Add and default gc hooks.
5127
5128         * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset
5129         for unions.
5130         (struct elf_obj_tdata): Likewise for local_got_offsets.
5131         * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses.
5132         * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise.
5133         * elf64-sparc.c, elflink.h: Likewise.
5134
5135         * elf-bfd.h (struct elf_link_hash_entry): Add vtable members.
5136         (ELF_LINK_HASH_MARK): Define.
5137         (struct elf_backend_data): Add GC hooks.
5138         * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members.
5139
5140         * elf-m10300.c (mn10300_elf_check_relocs): New.
5141         (mn10300_elf_gc_mark_hook): New.
5142         (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New.
5143         (elf_mn10300_howto, mn10300_reloc_map): Handle them.
5144         (mn10300_elf_final_link_relocate): Likewise.
5145         (mn10300_elf_relocate_section): Likewise.
5146         (elf_backend_can_gc_sections): Define.
5147         * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New.
5148         (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New.
5149         (bfd_elf32_bfd_reloc_type_lookup): Handle them.
5150         (mips_info_to_howto_rel): Likewise.
5151         (mips_elf_relocate_section): Likewise.
5152         (mips_elf_check_relocs): Likewise.
5153         (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New.
5154         (elf_backend_can_gc_sections): Define.
5155         * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New.
5156         (ppc_elf_howto_raw): Handle them.
5157         (ppc_elf_reloc_type_lookup): Likewise.
5158         (ppc_elf_relocate_section): Likewise.
5159         (ppc_elf_check_relocs): Reference count .got and .plt entires.
5160         Handle new vtable relocs.
5161         (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries.
5162         (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New.
5163         (elf_backend_can_gc_sections): Define.
5164
5165 Fri Jun 26 10:48:23 1998  Jeffrey A Law  (law@cygnus.com)
5166
5167         * archures.c (bfd_mach_mn10300): Define.
5168         * elf-m10300.c: Include elf/mn10300.h
5169         (elf_mn10300_mach): New function.
5170         (_bfd_mn10300_elf_final_write_processing): Likewise.
5171         (_bfd_mn10300_elf_object_p): Likewise.
5172         (elf_backendfinal_write_processing): Define.
5173         (elf_backend_object_p): Likewise.
5174
5175 Thu Jun 25 18:31:08 1998  Nick Clifton  <nickc@cygnus.com>
5176
5177         * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S
5178         relocation.
5179
5180 Wed Jun 24 17:17:57 1998  Ian Lance Taylor  <ian@cygnus.com>
5181
5182         * elflink.h (elf_bfd_final_link): Loop over input_bfds using the
5183         link_next field, not the next field.
5184
5185 Sun Jun 21 19:38:39 1998  Ian Lance Taylor  <ian@cygnus.com>
5186
5187         * elf.c (map_sections_to_segments): Check the section address
5188         against the phdr size both with and without a modulo of
5189         maxpagesize.
5190
5191 Fri Jun 19 17:08:18 1998  Ian Lance Taylor  <ian@cygnus.com>
5192
5193         * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a
5194         linker created empty input section if the output section has the
5195         same name.
5196
5197         * elflink.h (elf_link_output_extsym): Print an error message if
5198         _bfd_elf_section_from_bfd_section fails.
5199
5200         * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on
5201         failure.
5202
5203 Tue Jun 16 11:55:55 1998  Ian Lance Taylor  <ian@cygnus.com>
5204
5205         * elf.c (copy_private_bfd_data): Improve handling of Solaris
5206         native linker output.  Avoid putting an empty section in more than
5207         one segment.
5208
5209 Fri Jun 12 13:30:17 1998  Tom Tromey  <tromey@cygnus.com>
5210
5211         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
5212         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
5213
5214 Fri Jun 12 13:34:02 1998  Doug Evans  <devans@canuck.cygnus.com>
5215
5216         * elf.c (swap_out_syms): New arg relocatable_p.
5217         Don't add section VMA to symbols for relocatable output.
5218         (_bfd_elf_compute_section_file_positions): Update call to
5219         swap_out_syms.
5220
5221 Mon Jun  8 15:20:57 1998  Nick Clifton  <nickc@cygnus.com>
5222
5223         * elf32-v850.c (v850_elf_perform_relocation): Make comparisons
5224         against 'addend' be signed rather than unsigned.
5225
5226 Sat Jun  6 00:31:21 1998  Nick Clifton  <nickc@cygnus.com>
5227
5228         * elf32-m32r.c: Add prototyps for static functions.
5229
5230         * coff-arm.c: Add prototypes for static functions.
5231
5232 Fri Jun  5 17:21:51 1998  Nick Clifton  <nickc@cygnus.com>
5233
5234         * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the
5235         LMA is used to order sections in a segment.
5236
5237         * elf32-v850.c: Add prototypes for static functions.
5238         Change type of addend parameter to bfd_vma in various functions.
5239
5240 Fri Jun  5 18:09:58 1998  Ian Lance Taylor  <ian@cygnus.com>
5241
5242         * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
5243         complain_overflow_signed instead of complain_overflow_bitfield.
5244
5245 Fri Jun  5 15:11:11 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5246
5247         * elf.c (elf_map_symbols): Don't add section VMA to symbol value
5248         when comparing against 0.
5249
5250 Wed Jun  3 17:52:49 1998  Ian Lance Taylor  <ian@cygnus.com>
5251
5252         * Makefile.am (config.status): New target.
5253         * Makefile.in: Rebuild.
5254
5255 Wed Jun  3 12:18:24 1998  Stan Cox  <scox@equinox.cygnus.com>
5256
5257         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
5258         error if previous object endianness doesn't match current object.
5259
5260 Tue Jun  2 17:50:59 1998  Nick Clifton  <nickc@cygnus.com>
5261
5262         * elf32-v850.c (v850_elf_print_private_bfd_data): Call
5263         _bfd_elf_print_private)bfd_data ().
5264
5265 Tue Jun  2 15:29:35 1998  Ian Lance Taylor  <ian@cygnus.com>
5266
5267         * elflink.h (elf_merge_symbol): Don't always set type_change_ok
5268         and size_change_ok.
5269         (elf_link_add_object_symbols): Set type_change_ok and
5270         size_change_ok before calling elf_merge_symbol.
5271
5272         * elf32-mips.c (mips_elf_relocate_section): If we issue an
5273         undefined symbol error, don't also issue an overflow error.
5274
5275 Tue Jun  2 13:51:00 1998  Geoff Keating  <geoffk@ozemail.com.au>
5276
5277         * elf32-ppc.c (ppc_elf_relocate_section): The target of an
5278         R_PPC_LOCAL24PC relocation should be local; if not, print an error
5279         message instead of crashing.
5280
5281 Mon Jun  1 18:23:12 1998  Yuli Barcohen  <yuli.barcohen@telrad.co.il>
5282
5283         * archures.c (bfd_mach_cpu32): Define.
5284         (bfd_default_scan): Add case for 68060.  Fix 68332 case to use
5285         bfd_mach_cpu32.
5286         * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
5287         * ieee.c: Include <ctype.h>.
5288         (ieee_object_p): Parse out process ID string to make it more
5289         likely to be acceptable for bfd_scan_arch.
5290         * bfd-in2.h: Rebuild.
5291
5292 Mon Jun  1 11:12:02 1998  Nick Clifton  <nickc@cygnus.com>
5293
5294         * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
5295         _bfd_elf_print_private_bfd_data() so that the program header will
5296         be displayed.
5297
5298 Mon Jun  1 12:14:28 1998  Ian Lance Taylor  <ian@cygnus.com>
5299
5300         * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
5301         0x68.  Reindent.  Add some comments.
5302
5303 Fri May 29 09:58:08 1998  Nick Clifton  <nickc@cygnus.com>
5304
5305         * elf.c (copy_private_bfd_data): Adjust physical address of
5306         segment in output BFD to contain LMAs of its sections.
5307
5308 Tue May 26 19:37:47 1998  Stan Cox  <scox@equinox.cygnus.com>
5309
5310         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
5311         elf32_sparc_relocate_section): Added R_SPARC_32LE for little
5312         endian data 32 bit relocations.
5313         (elf32_sparc_merge_private_bfd_data): Check if linking little
5314         endian objects with big endian objects.
5315         (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
5316         (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
5317         * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
5318         * reloc.c: Same.
5319         * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
5320         * archures.c (bfd_mach_sparc_sparclite_le): New.
5321         * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
5322
5323 Thu May 21 16:59:28 1998  Nick Clifton  <nickc@cygnus.com>
5324
5325         * peicode.h (add_data_entry): Fix precedence of operators in if ()
5326         statement.
5327
5328 Tue May 19 18:41:19 1998  Ian Lance Taylor  <ian@cygnus.com>
5329
5330         * bfd-in.h: Move over patch to bfd-in2.h.
5331
5332         * reloc.c (bfd_check_overflow): Add casts before shifts which may
5333         not fit in 32 bits.
5334         (_bfd_relocate_contents): Likewise.
5335
5336 Mon May 18 14:44:15 1998  Nick Clifton  <nickc@cygnus.com>
5337
5338         * peicode.h (add_data_entry): If the section has no private data
5339         then do not create a Data Dictionary entry for it.
5340
5341 Mon May 18 00:09:28 1998  Richard Henderson  <rth@cygnus.com>
5342
5343         * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
5344         (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
5345         elf64_alpha_size_got_sections): Rewrite, handling multiple got
5346         subsections during relaxation more correctly.
5347
5348 Thu May 14 14:22:58 1998  Nick Clifton  <nickc@cygnus.com>
5349
5350         * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
5351         Add extra argument to bfd_arm_process_before_allocation ().
5352         * bfd-in.h: Reflect changes made in bfd-in2.h.
5353         * coffgen.c (bfd_coff_set_symbol_class): New function.  Set the
5354         coff class of a BFD symbol.
5355         * coff-arm.c: Add support for interworking between Thumb code and
5356         non-interworking aware ARM code.
5357
5358 Sun May 10 22:33:59 1998  Jeffrey A Law  (law@cygnus.com)
5359
5360         * po/Make-in (install-info): New target.
5361
5362 Thu May  7 17:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
5363
5364         * filemode.c: Remove; not used.
5365
5366         If sysdep.h includes a header file, don't include it again:
5367         * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
5368         <errno.h>.
5369         * aoutx.h: Don't include <string.h>.  Use "sysdep.h" rather than
5370         <sysdep.h>.
5371         * archive.c: Don't include <string.h> or <errno.h>.
5372         * evax-alpha.c; Don't include <stdio.h>.
5373         * evax-egsd.c: Likewise.
5374         * evax-etir.c: Likewise.
5375         * evax-misc.c: Likewise.
5376         * evax-emh.c: Likewise.  Also, don't include <sys/types.h>.
5377         * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
5378         <errno.h>.
5379         * hpux-core.c: Likewise.
5380         * netbsd-core.c: Likewise.
5381         * som.c: Likewise.
5382         * libbfd.c: Don't include <sys/types.h>.
5383         * nlmcode.h: Don't include <string.h>.
5384         * osf-core.c: Don't include <string.h> or <stdio.h>.
5385         * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
5386         <errno.h>, or <unistd.h>.
5387         * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
5388
5389 Thu May  7 13:12:50 1998  Klaus Kaempf  <kkaempf@progis.de>
5390
5391         * configure.com: If the version number can not be found in
5392         configure.in, set it to "unknown" rather than "2.8.1".
5393
5394 Wed May  6 09:46:05 1998  Gavin Koch  <gavin@cygnus.com>
5395
5396         * elf32-mips.c (elf_mips_mach): New.
5397         (_bfd_mips_elf_object_p): Use elf_mips_mach.
5398         (_bfd_mips_elf_final_write_processing): Use the names
5399         of machines, rather than the numbers.  Set both the ARCH
5400         and MACH in e_flags.  Handle a few more specific machines.
5401         (_bfd_mips_elf_merge_private_bfd_data): Merge both
5402         EF_MIPS_ARCH and EF_MIPS_MACH.
5403
5404 Tue May  5 21:01:53 1998  Richard Henderson  <rth@cygnus.com>
5405
5406         * syms.c (bfd_is_local_label): Revert last change.
5407         * srec.c (srec_write_symbols): Discard debugging symbols.
5408
5409 Tue May  5 23:36:06 1998  Ian Lance Taylor  <ian@cygnus.com>
5410
5411         * som.c: Include <ctype.h>.
5412         * som.h: Don't include sysdep.h.
5413
5414 Tue May  5 18:29:24 1998  Tom Tromey  <tromey@cygnus.com>
5415
5416         * libbfd.h: Rebuilt.
5417         * libbfd-in.h: Removed gettext includes and defines.
5418         * sysdep.h: Moved gettext-related includes and defines here.
5419
5420 Tue May  5 16:47:54 1998  Richard Henderson  <rth@cygnus.com>
5421
5422         * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
5423         an ad-hoc test.  Kill bogus #if 0 code.
5424         * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
5425
5426 Mon May  4 16:10:33 1998  Ian Lance Taylor  <ian@cygnus.com>
5427
5428         * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
5429         when generating a normal executable for a symbol defined in a
5430         regular file.  When copying a reloc into the output file, adjust
5431         the addend for a PC relative reloc against a global symbol.
5432
5433 Mon May  4 10:08:18 1998  Tom Tromey  <tromey@cygnus.com>
5434
5435         * libbfd.h: Rebuilt.
5436         * libbfd-in.h (_): Define as dgettext.
5437
5438 Mon May  4 11:02:23 1998  Ian Lance Taylor  <ian@cygnus.com>
5439
5440         * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
5441         not signed.
5442         * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
5443         when declaring parameter types.
5444         (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
5445
5446 Wed Apr 29 15:35:03 1998  Ian Lance Taylor  <ian@cygnus.com>
5447
5448         * config.bfd: If we include any ELF targets in targ_defvec and/or
5449         targ_selvecs, then add the generic ELF targets to targ_selvecs.
5450         * elf32-gen.c (dummy): New static const variable.
5451         (elf_generic_info_to_howto): New static function.
5452         (elf_generic_info_to_howto_rel): New static function.
5453         (elf_info_to_howto): Define as elf_generic_info_to_howto.
5454         (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
5455         * elf64-gen.c: Same changes as elf32-gen.c.
5456         * elfcode.h (elf_object_p): For the generic target, ignore a
5457         failure of bfd_default_set_arch_mach.  Fix indentation a bit.
5458
5459 Tue Apr 28 20:05:52 1998  Ian Lance Taylor  <ian@cygnus.com>
5460
5461         * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
5462         * configure: Rebuild.
5463
5464 Tue Apr 28 12:16:57 1998  Jason Molenda  (crash@bugshack.cygnus.com)
5465
5466         * config.bfd:  Update OSR5/Unixware patterns.
5467
5468 Mon Apr 27 18:02:24 1998  Richard Henderson  <rth@cygnus.com>
5469
5470         * elf.c (assign_file_positions_for_segments): Allow for holes
5471         between sections added by a link script.
5472
5473 Mon Apr 27 11:49:55 1998  Ian Lance Taylor  <ian@cygnus.com>
5474
5475         * configure.in: Change version number to 2.9.4
5476         * configure: Rebuild.
5477
5478         Based on patch from H.J. Lu <hjl@gnu.org>:
5479         * elf.c (bfd_elf_get_bfd_needed_list): New function.
5480         * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
5481         * bfd-in2.h: Rebuild.
5482
5483 Sat Apr 25 20:07:53 1998  Richard Henderson  <rth@cygnus.com>
5484
5485         * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
5486         Change all users.
5487
5488 Sat Apr 25 18:29:07 1998  Richard Henderson  <rth@cygnus.com>
5489
5490         * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
5491         (elf64_alpha_relax_section): Fill them in.
5492         (elf64_alpha_relax_opt_call): Implement more than a stub.
5493         (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
5494         alignment on .scommon.
5495         (elf64_alpha_merge_gots): Merge use counts as well.
5496
5497 Sat Apr 25 14:07:29 1998  Richard Henderson  <rth@cygnus.com>
5498
5499         * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
5500         for calculating a local symbol's address.
5501         (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
5502         Set the .got's cooked size as well as the raw size.
5503
5504 Fri Apr 24 09:16:00 1998  Nick Clifton  <nickc@cygnus.com>
5505
5506         * elf32-v850.c (v850_elf_print_private_bfd_data): Add
5507         internationalisation of printed information.
5508
5509         * coff-arm.c (coff_arm_print_private_bfd_data): Add
5510         internationalisation of printed information.
5511
5512 Fri Apr 24 12:09:18 1998  Ian Lance Taylor  <ian@cygnus.com>
5513
5514         * syms.c (struct indexentry): Change directory_name, file_name,
5515         and function_name fields to char *.
5516         (struct stab_find_info): Change cached_file_name field to char *.
5517
5518 Thu Apr 23 08:13:04 1998  Nick Clifton  <nickc@cygnus.com>
5519
5520         * peicode.h (dir_names): Add missing N_() macros to dir_names array.
5521
5522 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
5523
5524         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
5525
5526 Wed Apr 22 17:48:48 1998  Ian Lance Taylor  <ian@cygnus.com>
5527
5528         * Makefile.am (install-data-local): Make $(includedir).
5529         * Makefile.in: Rebuild.
5530
5531 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
5532
5533         * libbfd-in.h: Use `gettext' and not `dgettext' for now.
5534
5535 Wed Apr 22 12:53:40 1998  Ian Lance Taylor  <ian@cygnus.com>
5536
5537         * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
5538         * Makefile.in: Rebuild.
5539
5540         * bfd-in2.h: Rebuild for Nick's changes.
5541
5542 Tue Apr 21 23:11:51 1998  Richard Henderson  <rth@cygnus.com>
5543
5544         * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
5545         change wrt length == max_namelen.
5546
5547 Tue Apr 21 21:19:36 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
5548
5549         * Many files: Added gettext invocations around user-visible
5550         strings.
5551         * libbfd-in.h: Added gettext includes and defines.
5552         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
5553         HAVE_LC_MESSAGES): Define.
5554         * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
5555         po/Makefile.
5556         * Makefile.am (SUBDIRS): Added po.
5557         (POTFILES): New macro.
5558         (po/POTFILES.in): New target.
5559         (SOURCE_HFILES): New macro.
5560         (HFILES): Use it.
5561         * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
5562
5563 Tue Apr 21 13:38:18 1998 Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
5564
5565         * elfcore.h (bfd_prstatus):  Copy core_prstatus from the first
5566         NT_PRSTATUS note section encountered, it contains the status of
5567         the currently executing thread when the core file was written.
5568
5569 Tue Apr 21 10:00:12 1998  Nick Clifton  <nickc@cygnus.com>
5570
5571         * libcoff.h: Add extra parameter to
5572         bfd_coff_link_output_has_begun overrideable function.
5573         * cofflink.c: Pass extra parameter to
5574         bfd_coff_link_output_has_begun function.
5575         * bfd-in.h: Add prototypes for exported ARM interworking
5576         functions.
5577         * peicode.h: ARM specific code reorganised to conform to BFD
5578         coding conventions.
5579         * coffcode.h: ARM specific code reorganised to conform to BFD
5580         coding conventions.
5581         * coff-arm.c: Code reorganised to conform to the BFD coding
5582         conventions.  Global variables have been moved into an ARM
5583         specific hash table structure and a new function:
5584         bfd_arm_get_bfd_for_interworking() has been created which is
5585         called from the linker scripts.
5586
5587 Tue Apr 21 00:11:51 1998  Richard Henderson  <rth@cygnus.com>
5588
5589         * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
5590
5591         * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
5592         elf64_alpha_relax_find_reloc_ofs.  Changed all callers.
5593         (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
5594         (elf64_alpha_size_got_sections): Don't merge .got sections twice.
5595
5596 Sat Apr 18 01:21:04 1998  Stan Cox  <scox@cygnus.com>
5597
5598         * config.bfd: Added sparc86x support.
5599
5600 Fri Apr 17 22:29:04 1998  Ian Lance Taylor  <ian@cygnus.com>
5601
5602         * elf32-mips.c (mips_elf_relocate_section): Do not complain about
5603         an out of range pc-relative jump/call to an undefined weak symbol.
5604
5605 Thu Apr 16 13:49:00 1998  Richard Henderson  <rth@cygnus.com>
5606
5607         * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
5608         comparisons signed.
5609
5610 Thu Apr 16 11:43:33 1998  Ian Lance Taylor  <ian@cygnus.com>
5611
5612         * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
5613         an error other than bfd_error_system_call, set the error to
5614         bfd_error_wrong_format.
5615
5616         * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
5617         bfd_elf32_powerpcle_vec.
5618
5619         * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
5620         program segments are zero, don't set p_paddr_valid.
5621
5622 Wed Apr 15 22:15:16 1998  Richard Henderson  <rth@cygnus.com>
5623
5624         * elf64-alpha.c: Initial implementation of relaxation --
5625         (struct alpha_elf_link_hash_entry): Add use_count member.
5626         (elf64_alpha_check_relocs): Initialize and increment it.
5627         (elf64_alpha_can_merge_gots): Check it when considering merging.
5628         (elf64_alpha_merge_gots): Drop entries with zero use.
5629         (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
5630         (elf64_alpha_always_size_sections): Split out got sizing ...
5631         (elf64_alpha_size_got_sections): ... here.  New function.
5632         (elf64_alpha_relax_find_reloc_ofs): New function.
5633         (elf64_alpha_relax_with_lituse): Likewise.
5634         (elf64_alpha_relax_without_lituse): Likewise.
5635         (elf64_alpha_relax_opt_call): Likewise.
5636         (elf64_alpha_relax_section): Likewise.
5637         (elf64_alpha_add_symbol_hook): Likewise.
5638         (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
5639         (elf64_alpha_relocate_section): Likewise.
5640         (bfd_elf64_bfd_relax_section): Define.
5641         (elf_backend_add_symbol_hook): Likewise.
5642
5643 Wed Apr 15 16:08:46 1998  Richard Henderson  <rth@cygnus.com>
5644
5645         * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
5646         * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
5647         (ELF_MACHINE_ALT1): New.  Set to EM_OLD_SPARC64.
5648
5649 Wed Apr 15 11:34:33 1998  Ian Lance Taylor  <ian@cygnus.com>
5650
5651         * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
5652         * configure: Rebuild.
5653
5654 Mon Apr 13 16:46:27 1998  Ian Lance Taylor  <ian@cygnus.com>
5655
5656         * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
5657         (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
5658         * configure.in: Define and substitute WIN32LDFLAGS and
5659         WIN32LIBADD.
5660         * aclocal.m4: Rebuild with new libtool.
5661         * configure, Makefile.in: Rebuild.
5662
5663 Fri Apr 10 13:44:27 1998  Ian Lance Taylor  <ian@cygnus.com>
5664
5665         * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
5666         before any other symbols in the same section.
5667
5668 Wed Apr  8 14:50:23 1998  Michael Meissner  <meissner@cygnus.com>
5669
5670         * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
5671         systems.
5672
5673 Tue Apr  7 16:25:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
5674
5675         * dwarf2.c (comp_unit): Move it earlier in the source. Add
5676         addr_size.
5677         (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
5678         Use addr_size for address size, rather than sizeof(bfd_vma).
5679         (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
5680         Fix call to read_address.
5681         (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
5682         Scrap other unneeded arguments.  Fix call to read_address.
5683         (scan_unit_for_functions): Fix call to read_attribute.
5684         (parse_comp_unit): We now handle more values for addr_size.
5685         Set addr_size in unit.  Fix call to read_attribute and
5686         decode_line_info.
5687
5688 Tue Apr  7 15:44:47 1998  Gavin Romig-Koch <gavin@cygnus.com>
5689
5690         * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
5691
5692 Tue Apr  7 12:35:18 1998  Ian Lance Taylor  <ian@cygnus.com>
5693
5694         * archures.c (bfd_default_scan): Add m68k cases back to default
5695         switch, reverting patch of March 25, since IEEE support depends
5696         upon them.
5697
5698 Mon Apr  6 14:06:40 1998  Ian Lance Taylor  <ian@cygnus.com>
5699
5700         * Makefile.am (diststuff): New target.
5701         * Makefile.in: Rebuild.
5702
5703 Sun Apr  5 16:21:44 1998  Jeffrey A Law  (law@cygnus.com)
5704
5705         * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
5706         som_offset when we have an extended name table.
5707
5708 Sun Apr  5 16:04:39 1998  H.J. Lu  <hjl@gnu.org>
5709
5710         * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
5711         trying to copy it.
5712         * Makefile.in: Rebuild.
5713
5714 Fri Apr  3 11:09:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5715
5716         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
5717         symbols when creating a shared library.
5718         (elf_m68k_adjust_dynindx): New function, used by above code.
5719         (elf_m68k_finish_dynamic_sections): Initialize the section
5720         symbols.
5721         (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
5722
5723 Wed Apr  1 16:04:02 1998  Nick Clifton  <nickc@cygnus.com>
5724
5725         * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
5726         value 11.
5727
5728 Wed Apr  1 13:36:58 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5729
5730         * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
5731         assertion.
5732
5733 Tue Mar 31 00:12:12 1998  Jeffrey A Law  (law@cygnus.com)
5734
5735         * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
5736         absolute symbols.
5737
5738 Mon Mar 30 12:46:15 1998  Ian Lance Taylor  <ian@cygnus.com>
5739
5740         * configure.in: Set version to 2.9.1.
5741         * configure: Rebuild.
5742
5743         * Branched binutils 2.9.
5744
5745 Mon Mar 30 12:20:50 1998  Brent Baccala  <baccala@freesoft.org>
5746
5747         * syms.c (ENABLE_CACHING): Define.
5748         (struct indexentry): Define.
5749         (struct stab_cache): Remove.
5750         (cmpindexentry): New static function.
5751         (struct stab_find_info): Add new fields: indextable,
5752         indextablesize, cached_indexentry, cached_offset, cached_stab, and
5753         cached_file_name.  Remove fields: file_cache, function_cache, and
5754         line_cache.
5755         (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
5756         index table and search it.
5757
5758 Mon Mar 30 10:39:34 1998  Ian Lance Taylor  <ian@cygnus.com>
5759
5760         * elf.c (_bfd_elf_copy_private_section_data): Call
5761         copy_private_bfd_data once we've seen the last SEC_ALLOC section.
5762
5763         * cpu-mips.c: Remove trailing comma at end of enumeration list.
5764
5765 Sat Mar 28 16:33:02 1998  Ian Lance Taylor  <ian@cygnus.com>
5766
5767         * coff-arm.c: Define all globally visible variables and functions
5768         only when COFF_WITH_PE is not defined.
5769         * configure.in (armpe_little_vec, armpe_big_vec): Add
5770         coff-arm.lo.
5771         * configure: Rebuild.
5772
5773 Fri Mar 27 16:06:02 1998  Ian Lance Taylor  <ian@cygnus.com>
5774
5775         Fix some gcc -Wall warnings:
5776         * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
5777         * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
5778         * archures.c (bfd_default_scan): Likewise.
5779         * bfd.c (bfd_scan_vma): Likewise.
5780         * binary.c (mangle_name): Likewise
5781         * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
5782         * coff-sh.c (sh_relocate_section): Likewise.
5783         * coff-stgo32.c (create_go32_stub): Likewise.
5784         * coffcode.h (coff_slurp_line_table): Likewise.
5785         * ecoff.c (_bfd_ecoff_write_armap): Likewise.
5786         * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
5787         (assign_file_positions_for_segments): Likewise.
5788         * elf32-mips.c (mips_elf_relocate_section): Likewise.
5789         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
5790         * oasys.c (oasys_write_sections): Likewise.
5791         * ppcboot.c (ppcboot_object_p): Likewise.
5792         (mangle_name): Likewise.
5793         * riscix.c (riscix_fix_pcrel_26): Likewise.
5794         * srec.c (srec_scan): Likewise.
5795         * stabs.c (_bfd_write_section_stabs): Likewise.
5796         * sunos.c (sunos_add_dynamic_symbols): Likewise.
5797         * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
5798         switch.  Declare parameters for function pointers.
5799         * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
5800         warning.
5801         * elf.c (elf_sort_sections): Likewise.
5802         * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
5803         Add default cases to switches.
5804         (coff_arm_relocate_section): Remove unused local variables.
5805         Always set rstat.
5806         (coff_arm_bfd_set_private_flags): Change flag variable to type
5807         flagword.
5808         * coff-mips.c (mips_relocate_section): Initialize use_lo.
5809         * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
5810         (dump_toc): Change cat to const, and initialize it.
5811         * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
5812         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
5813         (sh_elf_relocate_section): Initialize r_symndx.
5814         * coffcode.h (coff_compute_section_file_positions): Only declare
5815         old_sofar if ALIGN_SECTIONS_IN_FILE.
5816         (coff_write_object_contents): Initialize csym.
5817         * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
5818         * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
5819         switch.
5820         * dwarf2.c: Include libiberty.h.
5821         (read_2_signed_bytes, read_4_signed_bytes): Comment out.
5822         (decode_line_info): Remove unused local variables.
5823         * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
5824         (m32r_elf_relocate_section): Likewise.
5825         * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
5826         (v850_elf_reloc): Likewise.
5827         * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
5828         (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
5829         * elf.c (assign_file_positions_for_segments): Always set adjust.
5830         * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr.  Fully
5831         parenthesize expression.
5832         * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
5833         (m32r_elf_object_p): Return a value.
5834         (m32r_elf_print_private_bfd_data): Change fprintf format string.
5835         * elf32-mips.c (mips_elf_final_link): Initialize last.
5836         (mips_elf_finish_dynamic_sections): Initialize last and dindx.
5837         * elf32-v850.c (v850_elf_object_p): Return a value.
5838         (v850_elf_print_private_bfd_data): Change fprintf format string.
5839         * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
5840         unsigned long.
5841         * elflink.h (elf_link_add_object_symbols): Change vernum to
5842         unsigned int, and initialize it.  Change fprintf format string.
5843         (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
5844         when setting or comparing to soname_indx.
5845         (elf_create_pointer_linker_section): Change num_symbols to
5846         unsigned int.
5847         * libcoff-in.h (coff_data_type): Change flags to flagword.
5848         * peicode.h (pe_print_idata): Initialize idx.  Change j to
5849         bfd_size_type.  Initialize hint_member.  Remove useless test to
5850         time_stamp.
5851         (pe_print_edata): Change num_functions and num_names in struct
5852         EDT_type to unsigned long.  Remove cast.  Change fprintf format
5853         string.
5854         * ppcboot.c (ppcboot_object_p): Change i to size_t.
5855         * reloc.c (bfd_get_reloc_size): Change return type to unsigned
5856         int.
5857         * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
5858         int *.  Update uses.  Change j to long.
5859         * bfd-in2.h, libcoff.h: Rebuild.
5860
5861 Fri Mar 27 10:10:46 1998  Catherine Moore <clm@cygnus.com>
5862
5863         * elf32-v850.c Remove definition of USE_REL.
5864         (v850_elf_info_to_howto_rela): New function.
5865         (v850_elf_perform_relocation):  Renamed from
5866         v850_elf_store_addend_in_insn.  Removed replace argument.
5867         (v850_elf_reloc): store the relocation in the addend field instead
5868         of the insn.
5869         (v850_elf_final_link_relocate):  Now calls
5870         v850_elf_perform_relocation.
5871         (v850_elf_relocate_section):  Remove code to generate REL
5872         relocations.
5873
5874 Thu Mar 26 13:32:17 1998  Ian Lance Taylor  <ian@cygnus.com>
5875
5876         * coffcode.h (coff_new_section_hook): Set the type and storage
5877         class in the native symbol information allocated for a new section
5878         symbol.
5879
5880 Thu Mar 26 10:13:41 1998  Nick Clifton  <nickc@cygnus.com>
5881
5882         * peicode.h: Chain together calls to
5883         coff_bfd_copy_private_bfd_data and
5884         coff_bfd_print_private_bfd_data.
5885
5886         * coff-arm.c: Add prototypes for
5887         coff_arm_bfd_print_private_bfd_data and
5888         coff_arm_bfd_copy_private_bfd_data.
5889
5890 Wed Mar 25 15:45:55 1998  Nick Clifton  <nickc@cygnus.com>
5891
5892         * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
5893         build.
5894
5895         * peicode.h: Call arm-coff private data functions after handling
5896         pe private data.
5897
5898         * coff-arm.c: Turn statics into globals so that they can be shared
5899         both pe and pei backends.
5900
5901 Wed Mar 25 15:19:38 1998  Ian Lance Taylor  <ian@cygnus.com>
5902
5903         * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
5904         plain numbers.
5905         (sunos_write_object_contents): Likewise.
5906         * aoutx.h (NAME(aout,machine_type)): Likewise.
5907         * coffcode.h (coff_set_arch_mach_hook): Likewise.
5908
5909 Wed Mar 25 13:59:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5910
5911         * archures.c (bfd_mach_m68*): Add definitions for various m68k
5912         variants.
5913         (bfd_default_scan): Remove m68k special cases.
5914         * bfd-in2.h: Rebuild.
5915         * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
5916         than plain numbers.
5917         * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
5918         * cpu-m68k.c (arch_info_struct): Likewise.  Add entry for
5919         m68k:68000.
5920         (bfd_m68k_arch): Set mach field to zero to signal no explicit
5921         selection, change printable_name to just "m68k" and make that the
5922         default instead of m68k:68020.
5923
5924         * aout-tic30.c (NAME): Define this to avoid multiple definitions
5925         from aoutx.h.
5926         (MY_get_section_contents): Define as aout_32_get_section_contents
5927         rather than NAME(aout,get_section_contents).
5928
5929         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
5930
5931         * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
5932         and call bfd_default_set_arch_mach to do the real work.
5933
5934 Wed Mar 25 10:41:35 1998  Richard Henderson  <rth@cygnus.com>
5935
5936         * bout.c (BALX): Include return register g14 as part of the insn.
5937         (BALX_MASK): New.
5938         (calljx_callback): Use it.
5939
5940 Wed Mar 25 11:19:28 1998  Ian Lance Taylor  <ian@cygnus.com>
5941
5942         * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
5943         * libbfd.h: Rebuild.
5944
5945         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
5946         byte_count to unsigned int.
5947         (mn10300_elf_relax_section): Initialize internal_relocs.  Remove
5948         unused local variables.
5949
5950         * evax-alpha.c (evax_close_and_cleanup): Remove unused local
5951         variables er and er1.
5952
5953         * cpu-v850.c: Include <ctype.h>.
5954         (scan): Case isdigit argument to unsigned char.
5955
5956         From Yan Meroth <YAN.MEROTH@st.com>:
5957         * ihex.c (ihex_scan): Add extbase variable so that getting an
5958         extended linear address record does not ignore any previous
5959         extended address.
5960         (ihex_write_object_contents): When writing out an extended linear
5961         address record, zero out any previous extended address.
5962
5963 Tue Mar 24 16:09:43 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5964
5965         * ieee.c (do_one): Check section before dereferencing it.
5966         (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
5967         (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
5968
5969 Mon Mar 23 18:51:47 1998  Joel Sherrill  <joel@OARcorp.com>
5970
5971         * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
5972
5973 Mon Mar 23 14:23:36 1998  Nick Clifton  <nickc@cygnus.com>
5974
5975         * coff-arm.c: Add interworking functions to pe backends.
5976
5977 Fri Mar 20 18:47:20 1998  Ian Lance Taylor  <ian@cygnus.com>
5978
5979         * configure.in: Use AM_DISABLE_SHARED.
5980         * aclocal.m4, configure: Rebuild with libtool 1.2.
5981
5982 Fri Mar 20 11:25:41 1998  Nick Clifton  <nickc@cygnus.com>
5983
5984         * coff-arm.c (coff_arm_relocate_section): Better error messages
5985         when interowrking conflucts occur.  Courtesy of Jonathan Walton
5986         and Tony Thompson.
5987         (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
5988         relocations.  Patch courtesy of Jonathan Walton and Tony
5989         Thompson.
5990
5991 Fri Mar 20 02:26:43 1998  Richard Henderson  <rth@cygnus.com>
5992
5993         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
5994         part of Feb 22 change controling when to override the existing
5995         symbol with the .plt entry.
5996
5997 Wed Mar 18 09:26:25 1998  Nick Clifton  <nickc@cygnus.com>
5998
5999         * config.bfd (targ_cpu): Add thumb-pe target.
6000
6001         * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
6002         functions in PE build.
6003
6004 Sun Mar  8 23:37:26 1998  Stan Cox  <scox@equinox.cygnus.com>
6005
6006         * config.bfd (sparclite-*-elf*): Added.
6007
6008 Mon Feb 23 19:31:19 1998  Ian Lance Taylor  <ian@cygnus.com>
6009
6010         * configure.in: Add elf.lo to elf shell variable.
6011         * Makefile.am (BFD_LIBS): Remove elf.lo.
6012         (BFD_LIBS_CFILES): Remove elf.c.
6013         (BFD32_BACKENDS): Add elf.lo.
6014         (BFD32_BACKENDS_CFILES): Add elf.c.
6015         * configure, Makefile.in: Rebuild.
6016
6017 1998-02-23 15:53  Richard Henderson  <rth@cygnus.com>
6018
6019         * elf32-i386.c (elf_i386_relocate_section): A pc-relative
6020         relocation against a now-local symbol should not have a dynamic
6021         relocation.
6022
6023 Mon Feb 23 16:17:08 1998  Ian Lance Taylor  <ian@cygnus.com>
6024
6025         * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
6026         COFF filehdr flags.
6027         (pe_print_private_bfd_data): Print PE flags.  From Mikey
6028         <jeffdb@netzone.com>.
6029
6030 Sun Feb 22 20:39:00 1998  Richard Henderson  <rth@cygnus.com>
6031
6032         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
6033         a plt entry when we can determine that we authoritatively define
6034         the symbol.
6035
6036 Sun Feb 22 20:33:05 1998  Richard Henderson  <rth@cygnus.com>
6037
6038         * configure.in (COREFILE selection): Remove sparc-*-linux*.  They
6039         don't actually use trad-core, but a SunOS-style core file handled
6040         by gdb directly.
6041         * hosts/sparclinux.h: Remove.
6042
6043 Wed Feb 18 15:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
6044
6045         * peicode.h (pe_print_idata): If there is no .idata section, look
6046         for the import tables in some other section.  Make the initial
6047         label line up better with the data.  Print the import address
6048         table even if there is no import name table.  If the import
6049         address table holds actual addresses, print them.
6050
6051 Tue Feb 17 12:58:34 1998  Ian Lance Taylor  <ian@cygnus.com>
6052
6053         * libbfd.c (bfd_seek): If fseek fails, save errno around call to
6054         bfd_tell.  If errno is EINVAL, set bfd_error_file_truncated, not
6055         bfd_error_system_call.
6056
6057 Fri Feb 13 13:11:33 1998  Ian Lance Taylor  <ian@cygnus.com>
6058
6059         * Makefile.am (AUTOMAKE_OPTIONS): Define.
6060         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
6061
6062         From H.J. Lu <hjl@gnu.org>:
6063         * Makefile.am (libbfd_la_LDFLAGS): Define.
6064         * Makefile.in: Rebuild.
6065
6066 Thu Feb 12 17:31:11 1998  Ian Lance Taylor  <ian@cygnus.com>
6067
6068         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
6069         * netbsd.h (MACHTYPE_OK): Define.
6070         (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
6071         calling N_SET_MACHTYPE, rather than having a switch.
6072         * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
6073         and M_ALPHA_NETBSD.
6074         * i386netbsd.c (MACHTYPE_OK): Don't define.
6075         (DEFAULT_MID): Define.
6076         * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
6077         (MACHTYPE_OK): Don't define.
6078         (DEFAULT_MID): Define.
6079         * m68knetbsd.c: (MACHTYPE_OK): Don't define.
6080         (DEFAULT_MID): Define.
6081         * ns32knetbsd.c (MACHTYPE_OK): Don't define.
6082         (DEFAULT_MID): Define.
6083         * sparcnetbsd.c (MACHTYPE_OK): Don't define.
6084         (DEFAULT_MID): Define.
6085
6086         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
6087         * vaxnetbsd.c: New file.
6088         * netbsd-core.c: Clean up.  Remove unused macros.  Use netbsd
6089         rather than netbsd_core.
6090         * targets.c (vaxnetbsd_vec): Declare.
6091         (bfd_target_vector): Add vaxnetbsd_vec.  If NETBSD_CORE is
6092         defined, add netbsd_core_vec.
6093         * configure.in: Set COREFILE for alpha*-*-netbsd* and
6094         powerpc-*-netbsd* to netbsd-core.lo.  If COREFILE is
6095         netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
6096         * config.bfd (alpha*-*-netbsd*): New target.
6097         * Makefile.am: Rebuild dependencies.
6098         (BFD32_BACKENDS): Add vaxnetbsd.lo.
6099         (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
6100         * configure, Makefile.in: Rebuild.
6101
6102         * configure.host: Remove the old shared library build stuff.  We
6103         now use libtool instead.
6104
6105 Wed Feb 11 17:13:09 1998  Richard Henderson  <rth@cygnus.com>
6106
6107         * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
6108
6109 Tue Feb 10 19:23:28 1998  H.J. Lu  <hjl@gnu.org>
6110
6111         * configure.in: Take stab-syms.lo out of sparclinux_vec list.
6112         * configure: Rebuild.
6113
6114 Tue Feb 10 15:16:38 1998  Nick Clifton  <nickc@cygnus.com>
6115         * elf32-v850.c (remember_hi16s_reloc): New function.
6116         (find_remembered_hi16s_reloc): New function.
6117         (v850_elf_store_addend_in_insn): Use the above new functions to
6118         match up HI6S relocs with LO16 relocs.
6119
6120 Tue Feb 10 15:01:39 1998  Ian Lance Taylor  <ian@cygnus.com>
6121
6122         * configure.in: Change -linux* to -linux-gnu*.
6123         * config.bfd, configure.host: Likewise.
6124         * configure: Rebuild.
6125
6126 Mon Feb  9 19:40:59 1998  Nick Clifton  <nickc@cygnus.com>
6127
6128         * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
6129         LO16/HI16S bug and improve comments about what is going on.
6130
6131 Sat Feb  7 15:27:03 1998  Ian Lance Taylor  <ian@cygnus.com>
6132
6133         * configure, aclocal.m4: Rebuild with new libtool.
6134
6135 Fri Feb  6 14:48:20 1998  Nick Clifton  <nickc@cygnus.com>
6136
6137         * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
6138         when merging v850 code into v850e/v850ea code.  Do not initialise
6139         output flags if the input is the default architecture.
6140
6141 Fri Feb  6 11:50:22 1998  Jeffrey A Law  (law@cygnus.com)
6142
6143         * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
6144         get the size from bfd_arch_bits_per_address instead of directly
6145         from the isa.
6146
6147 Thu Feb  5 14:21:34 1998  Michael Meissner  <meissner@cygnus.com>
6148
6149         * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
6150         to wrap, just return all 1's bits instead.
6151         * libbfd.h: Regenerate.
6152
6153 Thu Feb  5 11:51:05 1998  Ian Lance Taylor  <ian@cygnus.com>
6154
6155         * coff-i386.c (coff_pe_i386_relocate_section): New static function
6156         if COFF_WITH_PE.
6157         (coff_relocate_section): If COFF_WITH_PE, define as
6158         coff_pe_i386_relocate_section.
6159         * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
6160         skip empty sections, to match coff_write_object_contents.
6161
6162         * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
6163         rather than swapping out r_offset twice.  From Luke Deller
6164         <luked@cse.unsw.edu.au>.
6165
6166 Wed Feb  4 19:11:28 1998  Ian Lance Taylor  <ian@cygnus.com>
6167
6168         * configure.in: Set libtool_enable_shared rather than
6169         libtool_shared.  Remove diversion hack.
6170         * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
6171         with new libtool.
6172
6173 Wed Feb  4 16:10:21 1998  Brent Baccala  <baccala@freesoft.org>
6174
6175         * syms.c (struct stab_cache): Define.
6176         (struct stab_find_info): Remove cached_offset, cached_stab,
6177         cached_str, and cached_stroff fields.  Add file_cache,
6178         function_cache, and line_cache fields.
6179         (_bfd_stab_section_find_nearest_line): Use extensive caching to
6180         speed up searches.
6181
6182 Wed Feb  4 13:34:22 1998  Ian Lance Taylor  <ian@cygnus.com>
6183
6184         * peicode.h (pe_print_idata): Check for import of ordinal rather
6185         than name.
6186         (pe_print_edata): If there is no .edata section, look for the
6187         export data in some other section.
6188
6189 Mon Feb  2 20:05:42 1998  Jason Molenda  (crash@bugshack.cygnus.com)
6190
6191         * configure.in: Change version to 2.8.4.
6192         * configure: Regenerated.
6193
6194 Mon Feb  2 17:39:39 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
6195
6196         Add tms320c30 support:
6197         * cpu-tic30.c: New file.
6198         * aout-tic30.c: New file.
6199         * coff-tic30.c: New file.
6200         * archures.c (bfd_arch_tic30): Define.
6201         (bfd_tic30_arch): Declare.
6202         (bfd_archures_list): Add bfd_tic30_arch.
6203         * targets.c (bfd_target_vector): Add tic30_aout_vec and
6204         tic30_coff_vec.
6205         * reloc.c (BFD_RELOC_TIC30_LDP): Define.
6206         * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
6207         (coff_set_flags): Likewise.
6208         * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
6209         * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
6210         * Makefile.am: Rebuild dependencies.
6211         (ALL_MACHINES): Add cpu-tic30.lo.
6212         (ALL_MACHINES_CFILES): Add cpu-tic30.c.
6213         (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
6214         (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
6215         * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
6216
6217 Mon Feb  2 12:25:12 1998  Nick Clifton  <nickc@cygnus.com>
6218
6219         * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
6220         to lag behind LO16 reloc by a couple of instructions.
6221
6222 Mon Feb  2 14:09:46 1998  Ian Lance Taylor  <ian@cygnus.com>
6223
6224         * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
6225         make to reexamine the file timestamp.
6226         ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
6227
6228         * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
6229         0x100000.
6230
6231 Fri Jan 30 19:07:07 1998  Geoff Keating  <geoffk@ozemail.com.au>
6232
6233         * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
6234         to create .dynsbss and .rela.sbss sections.
6235         (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
6236         copied from dynamic objects into .sbss.
6237         (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
6238         use it.  Correct typo of .rela.sdata2.
6239         (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
6240         put the data, which may now be in .sbss.
6241         (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
6242         (elf_backend_create_dynamic_sections): Define as
6243         ppc_elf_create_dynamic_sections.
6244
6245         * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
6246         against _GLOBAL_OFFSET_TABLE_.
6247         (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
6248         shared libraries which refer to local symbols.  Make sure that the
6249         test for allocating space for a reloc in a shared object is the
6250         same as the test for emitting a reloc.
6251
6252 Thu Jan 29 15:55:35 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
6253
6254         * config.bfd (i[3456]-*-mingw32*): New target.
6255         * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
6256         * aclocal.m4, configure: Rebuild.
6257
6258 Wed Jan 28 13:41:26 1998  Ian Lance Taylor  <ian@cygnus.com>
6259
6260         * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
6261         have a bfd_object.
6262
6263 Tue Jan 27 21:43:55 1998  Richard Henderson  <rth@cygnus.com>
6264
6265         Sparc v9 ABI compliant PLT:
6266         * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
6267         (plt_templates, sparc64_elf_build_plt_entry): Delete.
6268         (LARGE_PLT_THRESHOLD): New define.
6269         (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
6270         (sparc64_elf_build_plt): New function.
6271         (sparc64_elf_plt_entry_offset): Likewise.
6272         (sparc64_elf_plt_ptr_offset): Likewise.
6273         (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
6274         contain the index for convenience.  Skip the initial entries
6275         in .rela.plt.
6276         (sparc64_elf_size_dynamic_sections): Zero the allocated contents
6277         memory for the benefit of .rela.plt.
6278         (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
6279         (sparc64_elf_finish_dynamic_symbol): Kill template stuff.  Use
6280         sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
6281         (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
6282         Call sparc64_elf_build_plt.
6283         (elf_backend_want_got_plt): No.
6284         (elf_backend_plt_readonly): No.
6285         (elf_backend_plt_alignment): 8.
6286
6287         * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
6288         * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
6289         * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
6290         to be called.
6291
6292 Tue Jan 27 21:45:15 1998  Jeffrey A Law  (law@cygnus.com)
6293
6294         * archures.c (bfd_mach_mips*): Add definitions for various MIPS
6295         processors.
6296         * cpu-mips.c (arch_info_struct): Add mips variants.
6297         * bfd-in2.h: Rebuilt.
6298
6299 Tue Jan 27 15:06:04 1998  Nick Clifton  <nickc@cygnus.com>
6300
6301         * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
6302         t2a3_b_insn.
6303
6304 Tue Jan 27 12:47:27 1998  Robert Lipe  <robertl@dgii.com>
6305
6306         * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
6307         (i[3456]86sco3.2v5*coff): New target.
6308
6309 Mon Jan 26 15:41:30 1998  Ian Lance Taylor  <ian@cygnus.com>
6310
6311         * bfd-in2.h: Rebuild with changes to chew--tab expansion.
6312
6313 Thu Jan 22 21:26:48 1998  Richard Henderson  <rth@cygnus.com>
6314
6315         * bfd.c (bfd_get_error_handler): Add orthogonal function.
6316         * bfd-in2.h: Regenerate.
6317
6318 Thu Jan 22 21:13:39 1998  Richard Henderson  <rth@cygnus.com>
6319
6320         * tekhex.c (tekhex_write_object_contents): Check for no symbols.
6321
6322 Wed Jan 21 21:19:03 1998  Ian Lance Taylor  <ian@cygnus.com>
6323
6324         * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
6325         adjust addend for an output common symbol (from Jimmy Blair
6326         <jimmyb@wrs.com>).  If COFF_WITH_PE, adjust addend for PC relative
6327         defined symbol to counteract adjustment made in generic relocation
6328         code.
6329
6330         * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
6331
6332 Wed Jan 21 21:16:06 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6333
6334         * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
6335         (GET_SCNDHR_NLNNO): Likewise.
6336
6337 Mon Jan 19 12:49:52 1998  Ian Lance Taylor  <ian@cygnus.com>
6338
6339         * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
6340
6341 Wed Jan 14 17:23:27 1998  Nick Clifton  <nickc@cygnus.com>
6342
6343         * elf32-m32r.c: Add macros to handle NOP insertion.
6344
6345 Wed Jan 14 16:15:22 1998  Richard Henderson  <rth@cygnus.com>
6346
6347         * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
6348         (xcoff_mark): Likewise.
6349         (xcoff_build_ldsyms): Mark absolute symbols.
6350
6351 Wed Jan 14 16:03:11 1998  Richard Henderson  <rth@cygnus.com>
6352
6353         * bout.c (b_out_write_object_contents): Sort symbols before output
6354         to keep {CALL,BAL}NAME symbols adjacent.
6355         (b_out_symbol_cmp): New function.
6356
6357 For older changes see ChangeLog-9697
6358 \f
6359 Local Variables:
6360 mode: change-log
6361 left-margin: 8
6362 fill-column: 74
6363 version-control: never
6364 End: