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