* configure.in: Check for fdopen.
[platform/upstream/binutils.git] / bfd / ChangeLog
1 Tue Jul 22 15:09:12 1997  Ian Lance Taylor  <ian@cygnus.com>
2
3         * configure.in: Check for fdopen.
4         * configure, config.in: Rebuild.
5         * opncls.c (bfd_fdopenr): Check HAVE_FDOPEN rather than VMS or
6         __GO32__.  Reindent a bit.
7
8 Sun Jul 20 20:05:20 1997  Ian Lance Taylor  <ian@cygnus.com>
9
10         * sunos.c (sunos_create_dynamic_sections): Set SEC_LINKER_CREATED
11         flag for newly created sections.
12         (sunos_add_dynamic_symbols): Don't discard newly created sections
13         if shared library is dynobj.
14
15 Mon Jul 14 15:33:55 1997  Ian Lance Taylor  <ian@cygnus.com>
16
17         * elf.c (map_sections_to_segments): When checking whether
18         including a section in a segment would force us to skip a page,
19         align the address of the next segment to avoid wraparound
20         problems.
21
22 start-sanitize-tic80
23 Tue Jul  8 12:11:29 1997  Fred Fish  <fnf@cygnus.com>
24
25         * coffcode.h (coff_write_object_contents): Initialize
26         target id field to TIC80_TARGET_ID.
27         * coffswap.h (coff_swap_filehdr_out): Swap out target id field
28         if used.
29         (coff_swap_filehdr_in): Swap in target id field if used.
30
31 end-sanitize-tic80
32 Mon Jul  7 16:41:20 1997  Ian Lance Taylor  <ian@cygnus.com>
33
34         * coff-i386.c (coff_i386_is_local_label_name): New static function
35         if TARGET_UNDERSCORE.
36         (coff_bfd_is_local_label_name): Define if TARGET_UNDERSCORE.
37         (i386coff_vec): Add SEC_CODE and SEC_DATA to section_flags.
38
39 Mon Jun 30 14:29:26 1997  Ian Lance Taylor  <ian@cygnus.com>
40
41         * elf32-m68k.c (howto_table): Use complain_overflow_bitfield, not
42         complain_overflow_signed, for 32 bit PC relative relocations.
43
44 Thu Jun 26 01:26:31 1997  Ian Lance Taylor  <ian@cygnus.com>
45
46         * elflink.h (elf_link_add_object_symbols): When a version
47         indirection symbol is overridden, make the original symbol point
48         at the real overriding symbol.
49
50         * elf.c (bfd_elf_string_from_elf_section): Check for an invalid
51         string index.
52
53         * elflink.h (elf_link_output_extsym): Use the right section for a
54         common symbol.
55         * elf32-mips.c (mips_elf_link_output_symbol_hook): If a common
56         symbol was in .scommon, mark it as SHN_MIPS_SCOMMON.
57
58 Wed Jun 25 12:43:10 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
59
60         * elflink.h (elf_merge_symbols): Resolve indirect and warning
61         symbols before checking for new symbols.
62
63         * elfcore.h (elf_corefile_note): Move out of HAVE_SYS_PROCFS_H.
64
65 Tue Jun 24 11:20:43 1997  Ian Lance Taylor  <ian@cygnus.com>
66
67         * coffgen.c (coff_object_p): Read the f_opthdr bytes from the
68         file, not aoutsz bytes (they are different in XCOFF .o files).
69
70         * xcofflink.c (xcoff_link_add_symbols): Permit symbols to be
71         redefined by objects included from archives.
72
73 Mon Jun 23 18:03:27 1997  Ian Lance Taylor  <ian@cygnus.com>
74
75         * elflink.h (elf_merge_symbol): In the case of a new defined
76         symbol overriding an old defined symbol, return the hash table
77         entry which we modify, even if it is the target of an
78         indirection.
79         (elf_link_add_object_symbols): If the real name of the symbol gets
80         overridden, convert the versioned symbol into an indirect symbol
81         to the real symbol.
82
83         * elflink.h (elf_merge_symbol): New static function, broken out of
84         elf_link_add_object_symbols.
85         (elf_link_add_object_symbols): Call it.
86
87 Sun Jun 22 19:40:57 1997  Ian Lance Taylor  <ian@cygnus.com>
88
89         * coff-i386.c (i3coff_object_p): If COFF_IMAGE_WITH_PE, hack to
90         handle case where COFF filehdr does not immediately follow PE
91         header.
92         * coffgen.c (coff_object_p): Remove useless seek to current
93         location.
94
95 Wed Jun 18 19:03:38 1997  Ian Lance Taylor  <ian@cygnus.com>
96
97         * linker.c (link_action): Change COMMON_ROW/indr to from CREF to
98         REFC.
99
100 Tue Jun 17 11:55:02 1997  Ian Lance Taylor  <ian@cygnus.com>
101
102         * cofflink.c (_bfd_coff_link_input_bfd): If stripping debugging
103         symbols, skip N_ABS symbols with debugging storage classes.
104
105 Mon Jun 16 18:56:27 1997  Geoff Keating  <geoffk@ozemail.com.au>
106
107         * elf32-ppc.c (ppc_elf_relocate_section): Don't emit R_PPC_REL*
108         relocs in shared libraries which refer to local symbols.  Cope
109         with addend when processing a GOT relocation.
110
111         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Only create symbols
112         for sections that the linker didn't create.
113         (ppc_elf_finish_dynamic_sections): Only try to write out a section
114         symbol if it was created in ppc_elf_size_dynamic_sections.
115         (ppc_elf_relocate_section): Complain if we have to generate a reloc
116         relative to a section for which we didn't output a symbol.
117
118         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Clean up.  PLT
119         relocs are 'rela' relocs, like everything else.  .rela.plt is not
120         a read-only section, so we don't have to special-case it.
121
122         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Entries in the
123         .rela.bss section are (of course) 'rela' relocs not 'rel' relocs.
124
125         * elf32-ppc.c (ppc_elf_check_relocs): Initialise srelgot.
126         (ppc_elf_relocate_section): @got offsets are 4 from start of the
127         actual .got section.
128         * elflink.c (_bfd_elf_create_got_section): The three reserved
129         words start from the symbol '_GLOBAL_OFFSET_TABLE_'.
130
131         * elf32-ppc.c (ppc_elf_size_dynamic_sections): '.rela' is 5
132         characters, not 4.
133
134         * elf32-ppc.c (ppc_elf_check_relocs): Use
135         _bfd_elf_create_got_section to create the GOT rather than
136         ppc_elf_create_linker_section. Create the '.rela.got' section
137         ourselves.
138         (ppc_elf_finish_dynamic_symbol): Set up GOT relocations when a
139         symbol has a GOT entry.
140         (ppc_elf_relocate_section): Record when a symbol is used through
141         the GOT, and allocate space in the GOT for each such symbol.
142         (ppc_elf_adjust_dynamic_symbol): Delete unused .got.plt stuff.
143         (ppc_elf_create_linker_section): Delete unused LINKER_SECTION_GOT
144         stuff.
145
146         * elf32-ppc.c (ppc_elf_howto_raw): GOT16_HA relocs should be
147         treated in a similar way to ADDR16_HA relocs.
148         (ppc_elf_relocate_section): PLTREL24 relocs do not get copied into
149         shared objects; the linker must deal with them.
150         (ppc_elf_create_linker_section): Stop setting
151         _GLOBAL_OFFSET_TABLE_ to the wrong value; delete unused
152         LINKER_SECTION_PLT stuff.
153         (ppc_elf_check_relocs): Delete unused LINKER_SECTION_PLT stuff.
154         (ppc_elf_finish_dynamic_sections): Use BFD calls to get GOT
155         section, not ELF-specific calls.
156         (elf_backend_plt_not_loaded): Set to 1.
157         (elf_backend_got_symbol_offset): Set to 4.
158         * elf-bfd.h (elf_backend_data): Add 'plt_not_loaded' member
159         for when ld.so fills in the PLT; and 'got_symbol_offset' member.
160         * elflink.c (_bfd_elf_create_dynamic_sections): Apply
161         plt_not_loaded member.
162         (_bfd_elf_create_got_section): Apply got_symbol_offset.
163         * elfxx-target.h (elf_backend_plt_not_loaded): Set default to
164         'loaded'.
165         (elf_backend_G_O_T_offset): Set default to 0.
166         (elfNN_bed): Set added fields.
167
168         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Was setting
169         DT_RELENT in shared objects; should be DT_RELAENT.
170
171         * elf32-ppc.c (ppc_elf_relocate_section): Propagate
172         R_PPC_ADDR16_HA relocs to shared objects. Cope with case where
173         such a reloc (in a non-shared object) refers to a symbol that's
174         not defined.
175
176 Mon Jun 16 14:42:14 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
177
178         * elfcode.h (put_signed_word): Define.
179         (get_signed_word): Define.
180         (elf_swap_reloca_in): Use get_signed_word for the r_addend field.
181         (elf_swap_reloca_out): Use put_signed_word for the r_addend
182         field.
183         * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Use
184         bfd_get_signed_32 to set the r_addend field.
185         * elf64-mips.c (mips_elf64_swap_reloca_in): Use
186         bfd_h_get_signed_64 to set the r_addend field.
187
188 Mon Jun 16 12:31:29 1997  Ian Lance Taylor  <ian@cygnus.com>
189
190         * elf32-i386.c (elf_i386_relocate_section): When generating a
191         shared library, do the relocation if the input section is not
192         allocated in memory.
193
194         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Call
195         elf_link_assign_sym_version before elf_adjust_dynamic_symbol.
196         (elf_fix_symbol_flags): New static function, broken out of
197         elf_adjust_dynamic_symbol.
198         (elf_adjust_dynamic_symbol): Call elf_fix_symbol_flags.
199         (elf_link_assign_sym_version): Likewise.  Permit a symbol to be
200         forced local even if NEEDS_PLT is set.  When forcing a symbol to
201         be local, clear NEEDS_PLT.
202         (elf_link_output_extsym): Remove unused local bed.
203
204 Wed Jun 11 22:44:20 1997  Jeffrey A Law  (law@cygnus.com)
205
206         * elf32-mn10300.c (elf32_mn10300_link_hash_entry): New structure
207         for derived elf linker hash table entries.  References to
208         elf_link_hash_entry changed appropriately.
209         (elf32_mn10300_link_hash_table): New structure for derived elf
210         linker hash table.
211         (elf32_mn10300_hash_table): Define.
212         (elf32_mn10300_link_hash_traverse): Likewise.
213         (elf32_mn10300_link_hash_newfunc): New function.
214         (elf32_mn10300_link_hash_table_create): Likewise.
215         (elf32_mn10300_finish_hash_table_entry): Likewise.
216         (mn10300_elf_relax_section): Handle "call" -> "calls", removal
217         of prologue code, and call:32->call:16 relaxing.
218         (compute_function_info: New function.
219         (bfd_elf32_bfd_ilink_hash_table_create): Define.
220
221 Wed Jun 11 00:00:07 1997  Ian Lance Taylor  <ian@cygnus.com>
222
223         * elflink.h (elf_link_output_extsym): Call finish_dynamic_symbol
224         for a symbol which is being forced to be local.
225         * elf32-i386.c (elf_i386_relocate_section): Write out the
226         relocation value for a GOT reloc for a symbol which is turning
227         into a local symbol.
228         (elf_i386_finish_dynamic_symbol): If a symbol is turning into a
229         local symbol, write out a RELATIVE reloc rather than a GLOB_DAT
230         reloc.
231         * elf32-m68k.c, elf32-sparc.c: Corresponding changes.
232
233         * elf32-i386.c (elf_i386_relocate_section): Get the relocation
234         value if the symbol is turning into a local symbol.
235         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
236         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
237
238 1997-06-10 22:58  Ulrich Drepper  <drepper@cygnus.com>
239
240         * elflink.h (elf_link_add_object_symbols): Also read verneed
241         information by calling `_bfd_elf_slurp_version_tables'.
242         (elf_link_add_object_symbols): For undefined symbols look for
243         version information in the verneed records.
244         (elf_link_add_object_symbols): Use soname of shared object
245         for verneed record if it is available.
246
247 Tue Jun 10 11:13:03 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
248
249         * cpu-arm.c: Add prototypes for compatible and scan.
250         * cofflink.c: Add prototype for mark_relocs.
251
252         * archive.c (bfd_special_undocumented_glue): Change filename to
253         const pointer.  Add prototype.
254
255 Mon Jun  9 12:34:21 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
256
257         * elflink.h (elf_link_add_object_symbols): Ignore relocations of
258         sections that will be discarded.
259
260 1997-06-06 22:58  Ulrich Drepper  <drepper@cygnus.com>
261
262         * elflink.h (elf_link_find_version_dependencies): When searching
263         for known version symbol skip non-matching verdef records, not
264         matching records.
265
266 Thu Jun  5 15:52:45 1997  Ian Lance Taylor  <ian@cygnus.com>
267
268         * cofflink.c (_bfd_coff_generic_relocate_section): Write a long,
269         not a bfd_vma, to the base file, to match how dlltool reads it.
270
271 Tue Jun  3 16:57:45 1997  Nick Clifton  <nickc@cygnus.com>
272
273         * reloc.c: Add thumb relocations.
274
275         * bfd-in2.h: Add Thumb relocations.
276
277         * libbfd.h: Add Thumb relocations.
278
279 Mon Jun  2 10:41:52 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
280
281         * cpu-m68k.c (arch_info_struct): Fix 68060 cpu name.
282
283 Fri May 30 12:46:27 1997  Ian Lance Taylor  <ian@cygnus.com>
284
285         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Set dynindx
286         for a section even if it is not loaded.
287
288         * cofflink.c (coff_link_add_symbols): If PE file, don't subtract
289         section VMA.
290         (_bfd_coff_link_input_bfd): Separate section VMA handling for
291         input and output files.
292         (_bfd_coff_generic_relocate_section): Check whether input file,
293         not output file, is a PE file.
294
295 Wed May 28 15:48:43 1997  Nick Clifton  <nickc@cygnus.com>
296
297         * coff-arm.c: (coff_arm_bfd_set_private_flags): Make static.
298
299 Wed May 28 16:16:04 1997  Ian Lance Taylor  <ian@cygnus.com>
300
301         * coff-i386.c (coff_i386_reloc): Don't just exit if we see an
302         R_IMAGEBASE reloc.
303
304 Wed May 28 09:48:43 1997  Nick Clifton  <nickc@cygnus.com>
305
306         * cpu-arm.c (compatible): Add test for supersets of ARM
307         architectures.
308
309 Tue May 27 19:42:03 1997  Bob Manson  <manson@charmed.cygnus.com>
310
311         * cofflink.c (_bfd_coff_final_link): Initialize global_to_static
312         member.
313
314 Tue May 27 14:34:08 1997  Nick Clifton  <nickc@cygnus.com>
315
316         * coff-arm.c (coff_arm_bfd_set_private_flags): Make global.  It is
317         called directly by gas/config/tc-arm.c.
318
319 Tue May 27 15:58:53 1997  Richard Henderson  <rth@tamu.edu>
320
321         * elf64-alpha.c (PLT_ENTRY_*): Use a new thread-safe format.
322         (elf64_alpha_finish_dynamic_symbol): Fill it in properly.
323
324 Mon May 26 14:05:13 1997  Ian Lance Taylor  <ian@cygnus.com>
325
326         * coff-ppc.c (coff_ppc_relocate_section): If PE file, don't add
327         section VMA.
328
329 Mon May 26 10:57:48 1997  Fred Fish  <fnf@cygnus.com>
330
331         * peicode.h (coff_bfd_print_private_bfd_data): #undef before #define.
332         (coff_bfd_copy_private_bfd_data): Ditto.
333         * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Make static.
334         (coff_arm_bfd_print_private_bfd_data): Ditto.
335         (coff_arm_bfd_set_private_flags): Ditto.
336         (coff_arm_bfd_copy_private_bfd_data): Ditto.
337
338 Fri May 23 15:14:58 1997  Fred Fish  <fnf@cygnus.com>
339
340         * libcoff-in.h (struct coff_final_link_info): Add boolean
341         global_to_static member for support of task linking.
342         (_bfd_coff_write_task_globals): Add prototype.
343         * libcoff.h: Regenerate.
344         * coffcode.h (coff_write_object_contents): Use #ifdef to
345         check RS6000COFF_C, to be consistent with all other uses
346         in this file.
347         * cofflink.c (_bfd_coff_final_link): If doing task linking,
348         call _bfd_coff_write_task_globals.
349         (_bfd_coff_link_input_bfd): If doing task linking, convert
350         global functions to static.
351         (_bfd_coff_write_global_sym): If doing task linking, convert
352         global variables to static.
353         (_bfd_coff_write_task_globals): New function.
354 start-sanitize-tic80
355         * coff-tic80.c (TIC80COFF): Define this instead of just TIC80.
356         (C_AUTOARG): #undef since it clashes with C_UEXT.
357         (C_LASTENT): #undef since it clashes with C_STATLAB.
358         * coffcode.h (coff_write_object_contents): Use TIC80COFF
359         rather than TIC80.
360         (coff_slurp_symbol_table): Use C_SYSTEM.  Hide C_AUTOARG use
361         when TIC80COFF defined (clashes with C_UEXT).  Explicitly
362         recognize C_UEXT, C_STATLAB, and C_EXTLAB as unsupported.
363 end-sanitize-tic80
364
365 start-sanitize-tic80
366 Fri May 23 12:38:24 1997  Ian Lance Taylor  <ian@cygnus.com>
367
368         * coff-tic80.c (tic80_howto_table): Change overflow check for most
369         PP relocations to complain_overflow_dont.
370
371 Thu May 22 20:22:14 1997  Ian Lance Taylor  <ian@cygnus.com>
372
373         * coff-tic80.c (tic80_howto_table): Add PP relocations.  Change
374         name of R_RELLONG to "RELLONG".  Set rightshift and complain for
375         M_PPCR.
376         (ppbase_reloc, glob15_reloc): New static functions.
377         (glob16_reloc, local16_reloc): New static functions.
378         (rtype2howto): Handle all relocation types.
379         (coff_tic80_relocate_section): New static function.
380         (coff_relocate_section): Define to coff_tic80_relocate_section.
381         * Makefile.in (coff-tic80.o): Depends upon include/coff/tic80.h.
382
383 end-sanitize-tic80
384 Wed May 21 17:15:50 1997  Ian Lance Taylor  <ian@cygnus.com>
385
386         * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE or
387         COFF_IMAGE_WITH_PE, don't subtract the section VMA from the symbol
388         value.
389         * coffgen.c (fixup_symbol_value): Add abfd parameter.  Change all
390         callers.  If PE file, don't add section VMA.
391         (coff_write_alien_symbol): If PE file, don't add section VMA.
392         * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
393         (_bfd_coff_write_global_sym): Likewise.
394         (_bfd_coff_generic_relocate_section): Likewise.
395
396         * peicode.h: Add & 0xffffffff when using ImageBase in case bfd_vma
397         is 64 bits.
398
399 Wed May 21 09:58:10 1997  Nick Clifton  <nickc@cygnus.com>
400
401         * cofflink.c (mark_relocs): Add new function to mark symbols which
402         are used by relocations.
403         (_bfd_coff_link_input_bfd): Add call to mark_relocs() and code to
404         suppress the skipping of symbols that have thus been marked.
405
406 Tue May 20 18:45:26 1997  Ian Lance Taylor  <ian@cygnus.com>
407
408         * coff-sh.c (sh_merge_private_data): New static function.
409         (coff_bfd_merge_private_bfd_data): Define.
410
411 start-sanitize-tic80
412 Mon May 19 14:46:00 1997  Mark Alexander  <marka@cygnus.com>
413
414         * coff-tic80.c: Remove unnecessary #ifdefs.
415         * config.bfd: Set targ_underscore to yes for tic80.
416
417 Mon May 19 14:26:36 1997  Mark Alexander  <marka@cygnus.com>
418
419         * coff-tic80.c (NAMES_HAVE_UNDERSCORE): Define (fixes problem
420         with unresolved external symbols in GDB).
421
422 end-sanitize-tic80
423 Fri May 16 10:23:03 1997  Jeffrey A Law  (law@cygnus.com)
424
425         * elf-m10300.c (elf32_mn10300_relax_section): Read in all
426         the symbols associated with each BFD.
427         (mn10300_elf_relax_delete_bytes): Don't adjust the same symbol
428         more than once.
429         * elf-m10200.c: Likewise.
430         * elf32-m32r.c: Likewise.
431         * elf32-sh.c: Likewise.
432
433 Fri May 16 12:10:52 1997  Ian Lance Taylor  <ian@cygnus.com>
434
435         * elflink.h (elf_link_add_object_symbols): Don't decrease the
436         alignment of a common symbol.  If two symbols that look like
437         common symbols are found in two shared libraries, and the size is
438         different, use the larger size, and warn if --warn-common.  If a
439         common symbol overrides a definition in a shared library, set the
440         size to the larger size, and warn if --warn-common.
441
442 Thu May 15 14:31:28 1997  Nick Clifton  <nickc@cygnus.com>
443
444         * cpu-arm.c (compatible):  Allow default machine to be polymorphed
445         into any other machine type.
446
447         * coffcode.h (coff_set_flags):  Initialise flags variable to 0.
448
449         * coff-arm.c (coff_arm_bfd_merge_private_bfd_data):  When merging
450         data into an unitialised destination set its machine type as well.
451
452 Thu May 15 16:40:20 1997  Ian Lance Taylor  <ian@cygnus.com>
453
454         * elflink.h (elf_link_add_object_symbols): Force ELF symbol size
455         to common symbol size.  Consistently treat uninitialized symbols
456         in shared objects as common symbols.
457
458 Fri May  9 10:15:27 1997  Nick Clifton  <nickc@cygnus.com>
459
460         * archures.c (constants):  Added new constants to identify the
461         type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a,
462         bfd_mach_arm_3, bfd_mach_arm_3M, bfd_mach_arm_4 and bfd_mach_arm_4T.
463
464         * bfd-in2.h (constants):   Added new constants to identify
465         the type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a,
466         bfd_mach_arm_3, bfd_mach_arm_3M, bfd_mach_arm_4 and
467         bfd_mach_arm_4T.  This file is auto-magically generated from the
468         archures.c file.  This update is just to save work.
469
470         * coff-arm.c (coff_arm_bfd_merge_private_bfd_data,
471         coff_arm_bfd_print_private_bfd_data,
472         coff_arm_bfd_set_private_flags,
473         coff_arm_bfd_copy_private_bfd_data): Added these new functions.
474         (global): Macro redefinitions set up to use these new functions.
475
476         * coffcode.h (coff_mkobject_hook): Added call to
477         coff_arm_bfd_set_private_flags().
478         (coff_set_arch_mach_hook): Added code to set machine type based on
479         bits stored in internal flags.
480         (coff_set_flags): Added code to set the new bits in the flags
481         field based on the machine number.
482         (function definition macros): Made all function definition macros
483         conditional so that they can be overridden by target specific
484         files.
485
486         * cpu-arm.c (compatible): Added this function.  (arch_info_struct):
487         Structure extended to include new types, one each for ARMv2,
488         ARMv2a, ARMv3, ARMv3M, ARMv4 and ARMv4T.
489
490         * libcoff-in.h (struct coff_tdata):  Added flags field.
491
492 Fri May  9 17:40:02 1997  Ian Lance Taylor  <ian@cygnus.com>
493
494         * config.bfd (i[3456]86-*-gnu*): Don't include Mach support.
495
496         * config.bfd: Change #if 0 around uses of host_aout_vec to #if
497         HAVE_host_aout_vec.
498
499 Mon May  5 13:57:32 1997  Mike Meissner  <meissner@cygnus.com>
500
501         * coffgen.c (coff_find_nearest_line): If there are no syments,
502         just return false.
503
504 Mon May  5 18:18:45 1997  Philip Blundell  <pjb27@cam.ac.uk>
505
506         * config.bfd: cope with '*-*-linux-gnuaout' targets.
507
508 Thu May  1 11:31:12 1997  Ian Lance Taylor  <ian@cygnus.com>
509
510         * targmatch.sed: Add explicit \n characters to work around bug in
511         HP/UX 10.20 sed program.
512
513 Wed Apr 30 12:27:03 1997  Ian Lance Taylor  <ian@cygnus.com>
514
515         * elf.c (copy_private_bfd_data): Cast csecs to avoid sign
516         extension problems.
517
518 Tue Apr 22 12:06:08 1997  Ian Lance Taylor  <ian@cygnus.com>
519
520         * Makefile.in (do_maintainer_clean): Don't remove bfd-in2.h.
521
522 Mon Apr 21 11:21:31 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
523
524         * elf32-m68k.c: Follow the last changes in elf32-i386.c:
525         (struct elf_m68k_pcrel_relocs_copied, struct
526         elf_m68k_link_hash_entry, struct elf_m68k_link_hash_table,
527         elf_m68k_link_hash_traverse, elf_m68k_hash_table,
528         elf_m68k_link_hash_newfunc, elf_m68k_link_hash_table_create,
529         elf_m68k_discard_copies, bfd_elf32_bfd_link_hash_table_create):
530         New definitions.
531         (elf_m68k_check_relocs): If linking with -Bsymbolic, don't copy
532         PC relative relocs for a global symbol defined in a regular
533         object, and count the number of PC relative relocs copied for any
534         global symbol.
535         (elf_m68k_size_dynamic_sections): If linking with -Bsymbolic,
536         traverse with elf_m68k_discard_copies.
537
538 Sat Apr 19 22:50:14 1997  Ian Lance Taylor  <ian@cygnus.com>
539
540         * elf32-i386.c (elf_i386_check_relocs): Only count PC relative
541         relocs.  From Jamie Lokier <jamie@rebellion.co.uk>.
542
543         * coffcode.h (coff_compute_section_file_positions): Force the
544         potential last byte in the file to be written out when
545         COFF_IMAGE_WITH_PE.
546
547 Thu Apr 17 13:46:56 1997  Per Fogelstrom  <pefo@openbsd.org>
548
549         * configure.host (mips*-*-openbsd*): New host.
550
551 Thu Apr 17 11:10:54 1997  Ian Lance Taylor  <ian@cygnus.com>
552
553         * elflink.h (elf_link_add_object_symbols): Only subtract the
554         section VMA from the symbol value if this is a fully linked file.
555
556         * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Define.
557         (struct elf_i386_link_hash_entry): Define.
558         (struct elf_i386_link_hash_table): Define.
559         (elf_i386_link_hash_traverse): Define.
560         (elf_i386_hash_table): Define.
561         (elf_i386_link_hash_newfunc): New static function.
562         (elf_i386_link_hash_table_create): New static function.
563         (elf_i386_check_relocs): If linking with -Bsymbolic, don't copy
564         PC relative relocs for a global symbol defined in a regular
565         object, and count the number of PC relative relocs copied for any
566         global symbol.
567         (elf_i386_size_dynamic_sections): If linking with -Bsymbolic,
568         traverse with elf_i386_discard_copies.
569         (elf_i386_discard_copies): New static function.
570         (bfd_elf32_bfd_link_hash_table_create): Define.
571
572         From Gordon W. Ross <gwr@mc.com>:
573         * aoutf1.h (MY_entry_is_text_address): Define if not defined.
574         (sunos4_aout_backend): Use MY_entry_is_text_address.
575
576 start-sanitize-d30v
577 Wed Apr 16 12:43:32 1997  Martin Hunt  <hunt@cygnus.com>
578
579         * elf32-d30v.c (elf_d30v_howto_table): Changed size of
580         R_D30V_32_NORMAL to 2 (4 bytes).
581
582 end-sanitize-d30v
583 Wed Apr 16 14:02:29 1997  Ian Lance Taylor  <ian@cygnus.com>
584
585         From Gordon W. Ross <gwr@mc.com>:
586         * netbsd.h (N_SHARED_LIB): Define.
587         (SEGMENT_SIZE): Don't define.
588         * m68knetbsd.c (SEGMENT_SIZE): Don't define (revert change of
589         April 11).
590         * sparcnetbsd.c (TARGET_PAGE_SIZE): Define as 0x2000.
591         (SEGMENT_SIZE): Don't define.
592
593         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Set .rela.bss size
594         to sizeof Rela structure, not sizeof Rel structure.  From Gary
595         Thomas <g.thomas@opengroup.org>.
596
597 Tue Apr 15 11:50:37 1997  Ian Lance Taylor  <ian@cygnus.com>
598
599         * aout-target.h (MY(callback)): If entry_is_text_address, adjust
600         whenever entry is larger than text address, but only by whole
601         pages.  From Gordon W. Ross <gwr@mc.com>.
602
603         * Makefile.in (install): Depend upon installdirs.  Use
604         mkinstalldirs to build $(oldincludedir).
605         (installdirs): New target.
606
607         * elflink.h (elf_link_add_object_symbols): Don't call check_relocs
608         if this is a debugging section which we are stripping.
609
610 Mon Apr 14 12:39:30 1997  Richard Henderson  <rth@tamu.edu>
611
612         * elf64-alpha.c (elf64_alpha_object_p): Allocate the
613         alpha-specific target data struct.
614
615 Mon Apr 14 11:45:46 1997  Ian Lance Taylor  <ian@cygnus.com>
616
617         From Thomas Graichen <graichen@rzpd.de>:
618         * Makefile.in: Always use $(SHELL) when running move-if-change.
619         * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
620         * configure: Rebuild.
621
622 Fri Apr 11 15:43:24 1997  Ian Lance Taylor  <ian@cygnus.com>
623
624         * elfcode.h (elf_slurp_symbol_table): Only subtract the section
625         VMA if this is an executable file or a shared object.
626
627         * targets.c (netbsd_core_vec): Declare.  From Gordon W. Ross
628         <gwr@mc.com>.
629
630         * libaout.h (struct aout_backend_data): Add entry_is_text_address
631         field.
632         * aout-target.h (SEGMENT_SIZE): Define to TARGET_PAGE_SIZE at the
633         start of the file.  Remove uses later on which switch using
634         ifdef.
635         (MY(callback)): Handle entry_is_text_address.
636         (MY_entry_is_text_address): Define if not defined.
637         (MY(backend_data)): Initialize new field.
638         * aoutf1.h (sunos4_aout_backend): Likewise.
639         * i386aout.c (MY(backend_data)): Likewise.
640         * i386mach3.c (MY(backend_data)): Likewise.
641         * mipsbsd.c (MY(backend_data)): Likewise.
642         * sparclynx.c (sparclynx_aout_backend): Likewise.
643         * netbsd.h (SEGMENT_SIZE): Define if not defined.
644         (MY_entry_is_text_address): Define.
645         * m68knetbsd.c (SEGMENT_SIZE): Define as 0x20000.
646
647         * xcofflink.c (bfd_xcoff_import_symbol): Handle importing a symbol
648         whose name starts with `.'.
649
650 Fri Apr 11 11:57:15 1997  Niklas Hallqvist  <niklas@appli.se>
651
652         * config.bfd: (i[3456]86-*-openbsd*, m68*-*-openbsd*,
653         mips*el*-*-openbsd*, mips*-*-openbsd*, ns32k-*-openbsd*,
654         powerpc-*-*bsd*, sparc-*-openbsd*): New targets.
655         * configure.in (i[3456]86-*-openbsd*, mips*-*-openbsd*,
656         m68*-*-openbsd*, ns32k-*-openbsd*, powerpc-*-*bsd*,
657         sparc-*-openbsd*): New targets.
658         * configure: Rebuild.
659
660 Tue Apr  8 18:09:29 1997  Jamie Lokier  <jamie@rebellion.co.uk>
661
662         * stabs.c (struct stab_section_info): New field
663         `cumulative_skips'.
664         (_bfd_link_section_stabs): Fill the above array.
665         (_bfd_stab_section_offset): Use `cumulative_skips' to
666         speed up offset calculation.
667
668 Tue Apr  8 00:01:31 1997  Jeffrey A Law  (law@cygnus.com)
669
670         * elf-mn10300.c (mn10300_elf_relax_section): Don't forget the
671         addend for non pc-relative relocations.
672
673         * elf-m10300.c (bfd_elf32_mn10300_reloc): Remove prototype
674         for non-existent function.
675
676         * elf-m10300.c (mn10300_elf_relax_section): New function.
677         (mn10300_elf_relax_delete_bytes): Likewise.
678         (mn10300_elf_symbol_address_p): Likewise.
679         (mn10300_elf_get_relocated_section_contents): Likewise.
680         (bfd_elf32_bfd_relax_section): Define.
681         (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
682
683 Mon Apr  7 16:47:09 1997  Ian Lance Taylor  <ian@cygnus.com>
684
685         * configure.host: Set SHLIB_LIBS.
686         * configure.in: Substitute SHLIB_LIBS.
687         * configure: Rebuild.
688         * Makefile.in (SHLIB_LIBS): New variable.
689         ($(SHLIB)): Use $(SHLIB_LIBS).
690
691 Mon Apr  7 10:53:52 1997  Michael Snyder  <msnyder@cleaver.cygnus.com>
692
693         * bfd-in.h bfd-in2.h: add bfd_section_lma macro to correspond
694         with bfd_section_vma.
695
696 Fri Apr  4 11:37:15 1997  Ian Lance Taylor  <ian@cygnus.com>
697
698         * configure.in: Update file names for bfd_elf32_mn10[23]00_vec.
699         Correct CPU file names for mn10[23]00.
700         * configure: Rebuild.
701
702         * bfd.c (bfd_record_phdr): Cast count to size_t before
703         subtraction.
704
705         * coff-ppc.c (dump_toc): Add cast to avoid warning from SunOS cc.
706         * coff-rs6000.c (xcoff_read_ar_hdr): Likewise.
707         (xcoff_write_archive_contents): LIkewise.
708         * elf32-mips.c (_bfd_mips_elf_set_section_contents): Likewise.
709         (mips_elf_create_procedure_table): Likewise.
710         * peicode.h (pe_print_idata): Likewise.
711         (pe_print_edata, pe_print_pdata, pe_print_reloc): Likewise.
712         * xcofflink.c (xcoff_get_section_contents): Likewise.
713         (_bfd_xcoff_canonicalize_dynamic_symtab): Likewise.
714         (xcoff_link_add_symbols): Likewise.
715         (xcoff_link_add_symbols): Likewise.
716
717         * ppcboot.c (ppcboot_set_arch_mach): Make static.
718         (ppcboot_bfd_print_private_bfd_data): Likewise.
719
720         * elf32-mips.c (elf_mips_ctor64_howto): Set complain_on_overflow
721         to complain_overflow_signed.
722
723 Thu Apr  3 11:51:54 1997  Ian Lance Taylor  <ian@cygnus.com>
724
725         * VERSION: Set to 2.8.1.
726
727         * Branched binutils 2.8.
728
729         * elf32-ppc.c (ppc_elf_check_relocs):  Don't check SEC_ALLOC when
730         deciding whether to copy a reloc into a shared object.
731         (ppc_elf_relocate_section): Likewise.  Relocate R_PPC_RELATIVE
732         relocs in unallocated sections.
733         * elf32-sparc.c (elf32_sparc_relocate_section): Relocate
734         R_SPARC_RELATIVE relocs in unallocated sections.
735
736 Wed Apr  2 16:19:41 1997  Mike Meissner  <meissner@cygnus.com>
737
738         * elf32-ppc.c (ppc_elf_check_relocs): Undo March 26 change and
739         always create got section so that the _GLOBAL_OFFSET_TABLE_ label
740         is always created.
741
742 Wed Apr  2 10:49:07 1997  Ian Lance Taylor  <ian@cygnus.com>
743
744         * elflink.h (elf_link_add_object_symbols): Let a common symbol
745         override an uninitialized symbol from a shared library with a
746         smaller size.
747
748         * elf-m10200.c: Rename from elf32-mn10200.c.
749         * elf-m10300.c: Rename from elf32-mn10300.c.
750         * cpu-m10200.c: Rename from cpu-mn10200.c
751         * cpu-m10300.c: Rename from cpu-mn10300.c
752         * Makefile.in: Update accordingly.
753
754         * elf32-mips.c (elf_mips_ctor64_howto): New static variable.
755         (elf_mips_isa): Move to earlier in file.
756         (mips_reloc_map): Remove BFD_RELOC_CTOR entry.
757         (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR
758         specially.
759
760         * elf32-mips.c (mips16_jump_reloc): Print a warning rather than
761         calling abort.
762
763 Tue Apr  1 16:18:05 1997  Klaus Kaempf  <kkaempf@progis.de>
764
765         * configure.com: New file.
766         * config.h-vms: Remove file.
767         * makefile.vms: Update for new configure scheme.
768
769 Mon Mar 31 23:28:39 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
770
771         * libcoff-in.h (ppc_allocate_toc_section): Declare.
772         (ppc_process_before_allocation): Declare.
773         * libcoff.h: Rebuild.
774
775         * coffcode.h (coff_mkobject_hook): Declare if not a macro.
776
777 Mon Mar 31 16:29:50 1997  Joel Sherrill  <joel@oarcorp.com>
778
779         * config.bfd (hppa*-*-rtems*): New target, like hppa-*-*elf*.
780
781 Mon Mar 31 16:11:35 1997  Ian Lance Taylor  <ian@cygnus.com>
782
783         * coff-a29k.c (coff_a29k_relocate_section): Don't use symndx as a
784         symbol index for a R_IHCONST reloc.
785
786 Mon Mar 31 15:40:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
787
788         * targmatch.sed: Do not use \(\) recursively.
789
790 Fri Mar 28 14:44:08 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
791
792         * m68klinux.c (MACHTYPE_OK): Define.
793         * i386linux.c (MACHTYPE_OK): Define.
794
795 Fri Mar 28 11:56:15 1997  Ian Lance Taylor  <ian@cygnus.com>
796
797         From David S. Miller <davem@caip.rutgers.edu> and H.J. Lu
798         <hjl@gnu.ai.mit.edu>:
799         * sparclinux.c: New file.
800         * bfd-in.h (bfd_sparclinux_size_dynamic_sections): Declare.
801         * bfd-in2.h: Rebuild.
802         * config.bfd (sparc-*-linuxaout*, sparc-*-linux*): New targets.
803         * configure.in (sparclinux_vec): Add to list of vectors.
804         * configure: Rebuild.
805         * targets.c (sparclinux_vec): Declare.
806         (bfd_target_vector): Add sparclinux_vec.
807         * Makefile.in: Rebuild dependencies.
808         (BFD32_BACKENDS): Add sparclinux.o.
809         (BFD32_BACKENDS_CFILES): Add sparclinux.c.
810
811         * coff-mips.c (mips_ecoff_backend_data): Initialize new
812         bfd_coff_backend_data field.
813         * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
814
815         * config.bfd: Add bfd_elf64_{big,little}mips_vec to targ_selvecs
816         for mips*el*-*-linux* and mips*-*-linux*.  From H.J. Lu
817         <hjl@lucon.org> and Ralf Baechle <ralf@gnu.ai.mit.edu>.
818
819         * bfd.c: Include "libiberty.h".
820         (strerror): Don't declare.
821         (bfd_errmsg): Call xstrerror rather than strerror.
822
823 Thu Mar 27 12:55:42 1997  Ian Lance Taylor  <ian@cygnus.com>
824
825         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Generate a COPY
826         reloc even if the symbol is in the .bss section.
827         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
828         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
829         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
830
831         * coffcode.h (bfd_coff_backend_data): Add new field
832         _bfd_coff_default_section_alignment_power.
833         (bfd_coff_default_section_alignment_power): Define.
834         (bfd_coff_std_swap_table): Initialize new field.
835         * libcoff.h: Rebuild.
836         * cofflink.c (coff_link_add_symbols): Limit alignment of a common
837         symbol to the default section alignment.
838
839         * COPYING: Update FSF address.
840
841 start-sanitize-d30v
842 Thu Mar 27 00:45:57 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
843
844         * elf32-d30v.c (elf_d30v_howto_table): Fix a typo in the
845         21-bit absolute that made it act as a relative.
846
847 end-sanitize-d30v
848 Wed Mar 26 14:50:20 1997  Ian Lance Taylor  <ian@cygnus.com>
849
850         * elflink.c (_bfd_elf_create_linker_section): Don't set
851         bss_section and rel_section from existing sections.
852
853         * elf32-ppc.c (ppc_elf_check_relocs): Only create the got section
854         if it is needed.
855
856 Tue Mar 25 22:26:56 1997  Stu Grossman  (grossman@critters.cygnus.com)
857
858         * aoutx.h (some_aout_object_p):  Change executable test to fix
859         problems with embedded a.out systems.
860
861 Tue Mar 25 14:35:37 1997  Ian Lance Taylor  <ian@cygnus.com>
862
863         * stabs.c (_bfd_stab_section_offset): New function.
864         * libbfd-in.h (_bfd_stab_section_offset): Declare.
865         * libbfd.h: Rebuild.
866         * elf32-i386.c (elf_i386_relocate_section): Adjust the offset of a
867         stab reloc.
868         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
869         * elf32-mips.c (mips_elf_relocate_section): Likewise.
870         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
871         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
872         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
873
874         * stabs.c (_bfd_link_section_stabs): Copy over the first header
875         symbol.  Check for memory allocation failure of *psinfo.
876         (_bfd_write_section_stabs): Add psinfo parameter.  Change all
877         callers.  Set the value of the header symbol.
878         * libbfd-in.h (_bfd_write_section_stabs): Update declaration.
879         * libbfd.h: Rebuild.
880
881 start-sanitize-tic80
882 Mon Mar 24 20:07:29 1997  Fred Fish  <fnf@cygnus.com>
883
884         * coff-tic80.c (tic80_howto_table): Add R_ABS entry.
885         (rtype2howto): Handle R_ABS reloc type.  Also abort on unhandled
886         reloc types, rather than silently failing to generate an output file.
887
888 end-sanitize-tic80
889 Mon Mar 24 13:41:00 1997  Ian Lance Taylor  <ian@cygnus.com>
890
891         * targmatch.sed: Use the hold space to put the #ifdef around the
892         the string constant.
893         * targets.c (UNSUPPORTED_TARGET): Don't define.
894         (find_target): Don't check for UNSUPPORTED_TARGET.
895         (bfd_set_default_target): Don't try to optimize by checking for
896         default.
897
898         * Makefile.in: Rebuild dependencies.
899         (ALL_MACHINES_CFILES): Add cpu-m32r.c.
900         (BFD32_BACKENDS_CFILES): Add elf32-m32r.c.
901         (elf32-m32r.o): Remove explicit target.
902
903         * config.bfd: Don't set targ_underscore for i[3456]86-*-gnu* or
904         i[3456]86-*-linux*.
905
906         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Don't
907         count section symbols for sections that were created by the
908         linker, or are not allocatable or not loadable.
909         (elf32_sparc_finish_dynamic_sections): Output output section
910         symbols for section for which we made space for them.
911
912 Fri Mar 21 13:08:26 1997  Ian Lance Taylor  <ian@cygnus.com>
913
914         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): If there is
915         no .rela.plt section, don't output a DT_PLTGOT dynamic entry.
916
917 Fri Mar 21 12:36:46 1997  Doug Evans  <dje@canuck.cygnus.com>
918
919         * elf32-m32r.c (m32r_elf_howto_table): Use special function for LO16.
920         (m32r_hi16_list): New static local.
921         (m32r_elf_hi16_reloc): Don't perform reloc, just queue it up.
922         (m32r_elf_do_hi16_reloc): Delete.
923         (m32r_elf_relocate_hi16): New function.
924         (m32r_elf_lo16_reloc): New function.
925         (m32r_elf_relocate_section): For HI16 relocs, scan for corresponding
926         LO16 reloc.
927
928         Mon Mar 10 16:03:31 1997  Doug Evans  <dje@seba.cygnus.com>
929
930         * elf32-m32r.c (m32r_elf_create_linker_section): Delete.
931         (m32r_elf_add_symbol_hook): Rewrite _SDA_BASE_ support.
932         (m32r_elf_final_sda_base): New function.
933         (m32r_elf_relocate_section): Rewrite sdata support.
934         (m32r_elf_finish_dynamic_sections): Delete.
935
936 Thu Mar 20 12:39:02 1997  Ian Lance Taylor  <ian@cygnus.com>
937
938         Based on patches from Philippe De Muyter <phdm@info.ucl.ac.be>.
939         * coff-svm68k.c: New file.  Just defines some macros and includes
940         coff-m68k.c.
941         * coff-m68k.c: Add functions to handle common addends, moved in
942         from cf-m68klynx.c.  Control them using COFF_COMMON_ADDEND macro.
943         Control whether relocs are visible using STATIC_RELOCS.
944         * cf-m68klynx.c: Simplify greatly: just define macros to control
945         coff-m68k.c.
946         * coff-aux.c: Likewise.  Just leave add_one_symbol routine.
947         * targets. (m68ksysvcoff_vec): Declare.
948         (bfd_target_vector): Add m68ksysvcoff_vec.
949         * config.bfd (m68*-motorola-sysv*): New target.
950         * configure.in (m68ksysvcoff_vec): New vector.
951         * configure: Rebuild.
952         * Makefile.in: Rebuild dependencies.
953         (BFD32_BACKENDS): Add coff-svm68k.o.
954         (BFD32_BACKENDS_CFILES): Add coff-svm68k.c.
955
956         * binary.c (binary_set_section_contents): Don't get misled if the
957         first section is not loadable.  From Matthew L. Martin
958         <mlm@xedia.com>.
959
960         * elflink.h (elf_bfd_final_link): Set the value of a section
961         symbol to the section address unless doing a relocateable link.
962
963 Tue Mar 18 23:03:17 1997  Richard Henderson  <rth@tamu.edu>
964
965         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't create
966         .plt entry if we've taken the function's address.
967         (elf64_alpha_merge_gots): Merge collected flags info as well.
968
969 Tue Mar 18 22:40:09 1997  H.J. Lu  <hjl@lucon.org>
970
971         * Many files: Add function prototypes.
972         * cpu-m68k.c (bfd_default_scan_num_mach): Don't declare.
973         * ecofflink.c: Include "libcoff.h" and "libecoff.h".
974         * elf32-ppc.c (ppc_elf_fake_sections): Make static.
975         * opncls.c (bfd_openstreamr): Change stream parameter to PTR.
976         * peicode.h: Change several void * parameters to PTR.
977         * srec.c (srec_get_symbol_info): Make static.
978         * syms.c (bfd_symbol_is_absolute): Remove.
979         * Makefile.in: Rebuild dependencies.
980
981 Tue Mar 18 12:58:08 1997  Ian Lance Taylor  <ian@cygnus.com>
982
983         * elf32-m32r.c (m32r_elf_is_local_label_name): Remove.
984         (bfd_elf32_bfd_is_local_label): Don't define.
985
986         * xcofflink.c (_bfd_xcoff_bfd_final_link): Call bfd_malloc rather
987         than malloc.
988
989 Mon Mar 17 11:32:53 1997  Ian Lance Taylor  <ian@cygnus.com>
990
991         * bfd-in.h: Don't include obstack.h.
992         (struct bfd_hash_table): Change memory field to PTR.
993         * bfd.c (struct _bfd): Change memory field to PTR.
994         * bfd-in2.h: Rebuild.
995         * libbfd-in.h (bfd_release): Declare as function, don't define as
996         macro.
997         * libbfd.h: Rebuild.
998         * opncls.c: Include "objalloc.h" rather than "obstack.h".  Use
999         objalloc routines rather than obstack routines.
1000         (obstack_chunk_alloc, obstack_chunk_free): Don't define.
1001         (getpagesize): Don't define.
1002         (_bfd_new_bfd): Don't set _bfd_chunksize.
1003         (bfd_openr): Free new bfd and objalloc on failure.
1004         (bfd_fdopenr, bfd_openstreamr, bfd_openw): Likewise.
1005         (bfd_alloc_size): Remove.
1006         (bfd_release): New function.
1007         * hash.c: Include "objalloc.h" rather than "obstack.h".  Use
1008         objalloc routines rather than obstack routines.
1009         (obstack_chunk_alloc, obstack_chunk_free): Don't define.
1010         * ecofflink.c: Include "objalloc.h" rather than "obstack.h".  Use
1011         objalloc routines rather than obstack routines.
1012         (obstack_chunk_alloc, obstack_chunk_free): Don't define.
1013         (struct accumulate): Change memory to struct objalloc *.
1014         * liboasys.h (oasys_data_type): Remove oasys_obstack field.
1015         * dep-in.sed: Don't remove obstack.h from dependency list.
1016         * Makefile.in: Rebuild dependencies.
1017         (BFD_H_DEPS): Remove obstack.h.
1018         (install): Don't install obstack.h.
1019         * Many files: Don't include "obstack.h".
1020         * VERSION: Bump.
1021
1022         * opncls.c (bfd_alloc_grow, bfd_alloc_finish): Remove.
1023         * libbfd-in.h (bfd_alloc_grow, bfd_alloc_finish): Don't declare.
1024         * libbfd.h: Rebuild.
1025         * ieee.c (ieee_archive_p): Rewrite to not use bfd_alloc_grow.
1026         * sunos.c (sunos_add_dynamic_symbols): Likewise.
1027         * srec.c (srec_scan): Rewrite to not use obstack_1grow.
1028
1029         * opncls.c (bfd_alloc): Rename from bfd_alloc_by_size_t.  Remove
1030         old version of bfd_alloc.
1031         * libbfd-in.h (bfd_alloc_by_size_t): Don't declare.
1032         * libbfd.h: Rebuild.
1033         * Several files: Call bfd_alloc rather than bfd_alloc_by_size_t.
1034
1035 Sat Mar 15 15:24:18 1997  Ian Lance Taylor  <ian@cygnus.com>
1036
1037         * elf32-mips.c (mips_elf_is_local_label_name): Accept the generic
1038         ELF local label syntax as well.
1039
1040 Sat Mar 15 10:16:42 1997  Fred Fish  <fnf@cygnus.com>
1041
1042         * config.bfd (powerpc-*-beos*): New target.
1043         * configure.in (powerpc-*-beos*): Add case that explicitly
1044         does not set COREFILE for now.  A future BeOS version is
1045         expected to support core files.
1046         * configure: Regenerate with autoconf.
1047
1048 Fri Mar 14 16:43:22 1997  Ian Lance Taylor  <ian@cygnus.com>
1049
1050         * elf32-mips.c (mips_elf_check_relocs): Give an error if CALL16 is
1051         seen with a local symbol, rather than crashing.
1052
1053         * elfcode.h (elf_slurp_symbol_table): Don't try to read the
1054         version symbols if there aren't any.
1055
1056 start-sanitize-tic80
1057 Thu Mar 13 16:38:30 1997  Fred Fish  <fnf@cygnus.com>
1058
1059         * coff-tic80.c (coff_rtype_to_howto): Define
1060         (coff_tic80_rtype_to_howto): Clone generic coff version and
1061         add code to handle the funky TI "internal relocations".
1062
1063 end-sanitize-tic80
1064 Thu Mar 13 14:08:53 1997  Ian Lance Taylor  <ian@cygnus.com>
1065
1066         * elflink.h (elf_link_add_object_symbols): Don't warn about type
1067         or size changes because of a weak symbol.
1068
1069         * cisco-core.c (SIGEMT): Define if not defined.
1070
1071 Wed Mar 12 21:36:05 1997  Ian Lance Taylor  <ian@cygnus.com>
1072
1073         * elflink.h (elf_link_add_object_symbols): Use extsymoff when
1074         setting ever.  Sanity check the version number.  Sort out copying
1075         flags and other information when adding an indirect symbol.
1076         (NAME(bfd_elf,size_dynamic_sections)): Preserve any dynamic
1077         symbols added by the backend.  Clear the entire contents of the
1078         versym section.
1079         (elf_export_symbol): Ignore indirect symbols.
1080         (elf_link_output_extsym): Accept a section without an owner in an
1081         assert.
1082         * elfcode.h (elf_slurp_symbol_table): Add a sanity check on the
1083         version count.  Correct the allocation of x_versymp.
1084
1085         * elf32-mips.c (mips_elf_add_symbol_hook): Don't set the owner of
1086         the magic sections used for SHN_MIPS_TEXT and SHN_MIPS_DATA.
1087         Don't return bfd_und_section_ptr when info->shared.
1088         (mips_elf_final_link): Set the alignment of .rtproc to 4, not 12.
1089         (mips_elf_create_dynamic_sections): Correct type: ^= for &=.
1090         (mips_elf_check_relocs): Resolve an indirect symbol in
1091         sym_hashes.
1092         (mips_elf_finish_dynamic_symbol): Don't change SHN_ABS into
1093         SHN_MIPS_TEXT or SHN_MIPS_DATA.
1094
1095         * elf.c (bfd_elf_print_symbol): Tweak version output slightly.
1096
1097 Tue Mar 11 01:38:36 1997  Ian Lance Taylor  <ian@cygnus.com>
1098
1099         From Eric Youngdale <eric@andante.jic.com>:
1100         * elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define.
1101         * elf.c (bfd_elf_print_symbol): Correct errors in last change.
1102         * elflink.h (elf_link_add_object_symbols): Handle cases in which a
1103         versioned symbol appears in both a regular and a shared object.
1104         (elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when
1105         appropriate.  Improve error message.
1106         (struct elf_outext_info): Rename from elf_finfo_failed.  Change
1107         all uses.  Add localsyms field.
1108         (elf_bfd_final_link): When generating a shared library, call
1109         elf_link_output_extsym to output all local symbols.
1110         (elf_link_output_extsym): Handle symbols which were forced to
1111         become local.
1112
1113 Sun Mar  9 23:08:49 1997  Ian Lance Taylor  <ian@cygnus.com>
1114
1115         From Eric Youngdale <eric@andante.jic.com>:
1116         * elf-bfd.h (elf_symbol_type): Add version field.
1117         * elfcode.h (elf_slurp_symbol_table): Set version field.
1118         * elflink.h (elf_link_add_object_symbols): When creating an
1119         indirect symbol for a default version symbol, set DEF_DYNAMIC if
1120         appropriate.  Set up an indirection from the nondefault version of
1121         the symbol as well.
1122         (NAME(bfd_elf,size_dynamic_sections)): Call
1123         elf_link_assign_sym_version before checking whether there are any
1124         versions.  Always record the version name as a dynamic symbol.
1125         Initialize counters.
1126         (elf_link_assign_sym_version): After finding a version, see if a
1127         symbol should be forced to local scope.  Create a new version
1128         definition if appropriate.
1129         (elf_link_output_extsym): Correct indirect symbol handling.
1130         * elf.c (bfd_elf_print_symbol): Print version information.
1131         (bfd_section_from_shdr): Turn version sections into BFD sections.
1132         (elf_fake_sections): Only copy cverdefs and cverrefs into sh_info
1133         if sh_info is not already set.
1134         (_bfd_elf_copy_private_section_data): Copy sh_info for version
1135         sections.
1136         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Tell
1137         _bfd_stringtab_add to copy the name into permanent memory if
1138         appropriate.
1139
1140 Fri Mar  7 11:55:31 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1141
1142         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Fully parenthesize.
1143
1144 Fri Mar  7 10:37:30 1997  Ian Lance Taylor  <ian@cygnus.com>
1145
1146         * coffcode.h (bfd_coff_backend_data): Change
1147         _bfd_coff_compute_section_file_positions to return a boolean
1148         value.  Change all callers.
1149         (coff_compute_section_file_positions): Change return type to
1150         boolean.  If the size of the last section changed, then output a
1151         zero byte at the end of the file.
1152         * libcoff.h: Rebuild.
1153
1154         * xcofflink.c (_bfd_xcoff_bfd_final_link): Always allocate space
1155         for at least 6 output symbols.
1156         (xcoff_write_global_symbol): When emitting TOC entry relocs, also
1157         emit a TC csect to represent the space they take up.  For an XO
1158         symbol, just emit a reference, not a csect.
1159
1160         * Makefile.in ($(SHLINK)): Just use ln -s, not ln -sf, since
1161         Solaris doesn't like the combined options, and the -f is
1162         unnecessary.
1163         (stamp-tshlink, install): Likewise.
1164
1165         * elf32-mips.c (mips_elf_relocate_section): Correct R_MIPS16_26
1166         handling when little endian.
1167
1168 Thu Mar  6 13:51:51 1997  Jeffrey A Law  (law@cygnus.com)
1169
1170         * elf32-mn10300.c (mn10300_elf_final_link_relocate): New function.
1171         (mn10300_elf_relocate_section): Likewise.
1172         (elf_backend_relocate_section): Define.
1173
1174         * elf32-mn10300.c (reloc_type): Remove PCREL{8,16,32}_{1,2}BYTE
1175         relocs.  Replace them with generic PCREL_{8,16,32} relocs.
1176         (elf32_mn10300_howto_table): Likewise.
1177         (elf32_mn10300_reloc_map): Likewise.
1178         (bfd_elf32_mn10300_reloc): Delete unused function.
1179
1180 Thu Mar  6 12:19:59 1997  Fred Fish  <fnf@cygnus.com>
1181
1182 start-sanitize-tic80
1183         * coff-tic80.c (rtype2howto): If passed a relocation type we don't
1184         understand, just set the howto field to NULL, and the caller will
1185         print an appropriate error message.
1186 end-sanitize-tic80
1187         * coffcode.h (coff_slurp_reloc_table): Pull duplicate declarations and
1188         code fragment out of both legs of #ifdef RELOC_PROCESSING ... #endif
1189         block.  Use NULL for initializations of "ptr" rather than bare 0.
1190         * coff-h8300.c: Fix typo in comment.
1191         * coff-h8500.c: Ditto.
1192         * coff-w65.c: Ditto
1193         * coff-z8k.c: Ditto.
1194
1195 Wed Mar  5 13:59:09 1997  Doug Evans  <dje@seba.cygnus.com>
1196
1197         * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc): Fix overflow calc.
1198         (m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
1199         m32r_elf_get_relocated_section_contents): First pass at relax support.
1200
1201 Mon Mar  3 13:27:09 1997  Ulrich Drepper  <drepper@rtl.cygnus.com>
1202
1203         * elflink.h (elf_link_add_object_symbols): Use correct sh_size
1204         entry for reading verdef records.
1205         Use correct braces for computing increments of extverdaux and
1206         exteverdef record pointers.
1207
1208 start-sanitize-tic80
1209 Sun Mar  2 22:47:54 1997  Fred Fish  <fnf@cygnus.com>
1210
1211         * coff-tic80.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set this to 2
1212         instead of 4.
1213
1214 end-sanitize-tic80
1215 Sun Mar  2 16:25:35 1997  Ian Lance Taylor  <ian@cygnus.com>
1216
1217         * elflink.h (elf_link_find_version_dependencies): Check that
1218         DEF_REGULAR is not set as well as checking that DEF_DYNAMIC is
1219         set.
1220
1221 start-sanitize-tic80
1222 Fri Feb 28 16:52:40 1997  Fred Fish  <fnf@cygnus.com>
1223
1224         * coffcode.h (coff_set_flags): Add case for TIC80_ARCH_MAGIC.
1225
1226 end-sanitize-tic80
1227 Fri Feb 28 15:06:45 1997  Ian Lance Taylor  <ian@cygnus.com>
1228
1229         * targets.c (bfd_default_vector): Make non-const.
1230         (find_target): New static function, broken out of
1231         bfd_find_target.
1232         (bfd_set_default_target): New function.
1233         (bfd_find_target): Call find_target.  When defaulting, use
1234         bfd_default_vector[0] if it is not NULL.
1235         * libbfd-in.h (bfd_default_vector): Adjust declaration.
1236         * bfd-in2.h, libbfd.h: Rebuild.
1237
1238         * syms.c (bfd_is_local_label): Return false if the symbol has no
1239         name.
1240         * coff-i960.c (coff_i960_is_local_label_name): New function.
1241         (coff_bfd_is_local_label_name): Define.
1242         * coff-m68k.c (m68k_coff_is_local_label_name): New function.
1243         (coff_bfd_is_local_label_name): Define.
1244         * coff-rs6000.c (xcoff_is_local_label_name): New function.
1245         (coff_bfd_is_local_label_name): Define.
1246         * elf.c (_bfd_elf_is_local_label_name): Treat symbols beginning
1247         with .. or _.L_ as local.
1248         * elf32-i386.c (elf_i386_is_local_label_name): New function.
1249         (bfd_elf32_bfd_is_local_label_name): Define.
1250         * evax-alpha.c (evax_bfd_is_local_label_name): Treat symbols
1251         beginning with $ as local.
1252
1253 Thu Feb 27 18:36:23 1997  Ian Lance Taylor  <ian@cygnus.com>
1254
1255         * aoutx.h (aout_link_write_symbols): Use bfd_is_local_label_name
1256         rather than comparing against info->lprefix.
1257         * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
1258         * elflink.h (elf_link_input_bfd): Likewise.
1259         * linker.c (_bfd_generic_link_output_symbols): Likewise.
1260         * xcofflink.c (xcoff_link_input_bfd): Likewise.
1261
1262         * elfxx-target.h (bfd_elfNN_bfd_is_local_label_name): Define as
1263         _bfd_elf_is_local_label_name if not already defined.
1264         * elf.c (_bfd_elf_is_local_label_name): New function.
1265         * elf-bfd.h (_bfd_elf_is_local_label_name): Declare.
1266
1267         * coff-m88k.c (coff_bfd_is_local_label_name): Define.
1268         (m88k_is_local_label_name): New static function.
1269
1270         * coffcode.h (coff_bfd_is_local_label_name): Define as
1271         _bfd_coff_is_local_label_name if not already defined.
1272         * coffgen.c (_bfd_coff_is_local_label_name): New function.
1273         * libcoff-in.h (_bfd_coff_is_local_label_name): Declare.
1274         * libcoff.h: Rebuild.
1275
1276         * targets.c (BFD_JUMP_TABLE_SYMBOLS): Change _bfd_is_local_label
1277         to _bfd_is_local_label_name.
1278         (bfd_target): Likewise.
1279         * syms.c (bfd_is_local_label): Define as function, not macro.
1280         (bfd_is_local_name): Define.
1281         * libbfd.c (bfd_generic_is_local_label_name): Rename from
1282         bfd_generic_is_local_label, and take a string rather than a
1283         symbol.
1284         * libbfd-in.h (_bfd_nosymbols_bfd_is_local_label): Don't define.
1285         (_bfd_nosymbols_bfd_is_local_label_name): Define.
1286         (bfd_generic_is_local_label): Don't declare.
1287         (bfd_generic_is_local_label_name): Declare.
1288         * bfd-in2.h, libbfd.h: Rebuild.
1289         * All backends: Change local_label to local_label_name.
1290
1291         * elf32-mips.c (struct mips_got_info): Add assigned_gotno field.
1292         (mips_elf_relocate_got_local): Change return type to boolean.
1293         Don't assume that the first zero entry is unassigned; instead, use
1294         assigned_gotno.
1295         (mips_elf_relocate_section): Check return value of
1296         mips_elf_relocate_got_local.
1297         (mips_elf_create_got_section): Initialize assigned_gotno field.
1298
1299 start-sanitize-d30v
1300 Wed Feb 26 15:19:51 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
1301
1302         * elf32-d30v.c (bfd_elf_d30v_reloc): Add code to do 32-bit
1303         relocations.
1304
1305 end-sanitize-d30v
1306 Wed Feb 26 13:33:03 1997  Ian Lance Taylor  <ian@cygnus.com>
1307
1308         * elflink.h (elf_link_input_bfd): Don't skip symbols from sections
1309         that have no contents merely because linker_mark is not set.
1310
1311 Tue Feb 25 18:51:35 1997  Stan Shebs  <shebs@andros.cygnus.com>
1312
1313         * config.bfd (mips*-*-lnews*): New target.
1314         * coff-mips.c (mips_relocate_section): Make assert compare
1315         content byteorder instead of header byteorder.
1316         (ecoff_biglittle_vec): New BFD, big-endian headers, little-endian
1317         data.
1318         * targets.c (bfd_target_vector): Add ecoff_biglittle_vec.
1319         * configure.in (ecoff_biglittle_vec): Add case.
1320         * configure: Update.
1321
1322 Tue Feb 25 00:32:49 1997  Ian Lance Taylor  <ian@cygnus.com>
1323
1324         * elf.c (elf_fake_sections): Use SHT_NOTE for any section whose
1325         name begins with ".note".
1326         (map_sections_to_segments): Add a PT_NOTE segment for any loadable
1327         section whose name begins with ".note".
1328         (get_program_header_size): Corresponding change.
1329
1330         * elf32-mips.c (mips_elf_relocate_section): Check for misaligned
1331         jal and for jal overflow.
1332
1333 Mon Feb 24 17:53:14 1997  Ian Lance Taylor  <ian@cygnus.com>
1334
1335         From Eric Youngdale <eric@andante.jic.com>:
1336         * elflink.h (elf_link_add_archive_symbols): If a default symbol is
1337         not found, try looking it up again without the version name.
1338         (elf_link_add_object_symbols): Always link against the dynamic
1339         symbol table of a dynamic object.  When linking against a dynamic
1340         object, include version strings in symbol names, and set up
1341         version information.  Add indirect symbols for default versions.
1342         (elf_link_create_dynamic_sections): Add special version sections.
1343         (struct elf_assign_sym_version_info): Define.
1344         (struct elf_find_verdep_info): Define.
1345         (NAME(bfd_elf,size_dynamic_sections)): Add verdefs parameter.  Set
1346         up version sections.
1347         (elf_adjust_dynamic_symbol): Ignore indirect symbols.
1348         (elf_link_find_version_dependencies): New static function.
1349         (elf_link_assign_sym_version): New static function.
1350         (elf_link_renumber_dynsyms): New static function.
1351         (struct elf_final_link_info): Add symver_sec field.
1352         (elf_bfd_final_link): Initialize finfo.symver_sec.  Don't count
1353         local symbols of a dynamic object.  Handle DT_VER* constants.
1354         (elf_link_output_extsym): Simplify BFD_ASSERT checking for a
1355         dynamic object.  Skip indirect symbols from ELF objects.  Remove
1356         the version name before choosing a hash bucket.  Write out the
1357         version information if appropriate.
1358         (elf_link_input_bfd): Check for DYNAMIC, not ET_DYN.
1359         * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
1360         (bfd_elf64_size_dynamic_sections): Likewise.
1361         * bfd-in2.h: Rebuild.
1362         * elf-bfd.h (struct elf_link_hash_entry): Add verinfo field.
1363         Change elf_link_hash_flags to unsigned short.
1364         (ELF_LINK_HIDDEN): Define.
1365         (struct elf_obj_tdata): Add fields dynversym_hdr, dynverref_hdr,
1366         dynverdef_hdr, dynversym_section, dynverdef_section,
1367         dynverref_section, cverdefs, cverrefs, verdef, verref.
1368         (elf_dynversym, elf_dynverdef, elf_dynverref): Define.
1369         (_bfd_elf_swap_verdef_in, _bfd_elf_swap_verdef_out): Declare.
1370         (_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Declare.
1371         (_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Declare.
1372         (_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Declare.
1373         (_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Declare.
1374         (_bfd_elf_slurp_version_tables): Declare.
1375         * elf.c (_bfd_elf_swap_verdef_in): New function.
1376         (_bfd_elf_swap_verdef_out): Likewise.
1377         (_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Likewise.
1378         (_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Likewise.
1379         (_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Likewise.
1380         (_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Likewise.
1381         (_bfd_elf_print_private_bfd_data): Add DT_VER* constants.  Print
1382         version information if there is any.
1383         (_bfd_elf_link_hash_newfunc): Initialize verinfo field.
1384         (bfd_section_from_shdr): Handle SHT_GNU_ver* section types.
1385         (elf_fake_sections): Handle .gnu.version* section names.
1386         (assign_section_numbers): Handle SHT_GNU_ver* section types.
1387         (_bfd_elf_slurp_version_tables): New function.
1388         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't include
1389         version name in string entered in dynamic hash table.
1390         * elfcode.h: Include fnmatch.h.
1391         * elf32-i386.c (elf_i386_relocate_section): Handle a dynamic
1392         symbol which was forced to become local.
1393         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1394         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1395         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1396         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
1397
1398 Fri Feb 21 16:15:18 1997  Jeffrey A Law  (law@cygnus.com)
1399
1400         * elf32-mn10200.c (mn10200_elf_final_link_relocate): Simplify
1401         somewhat.
1402         (mn10200_elf_relax_section): Correctly compute a symbol's value
1403         when the symbol is local, but not in the same section as we are
1404         relaxing.  Implement abs24 -> abs16, imm24 -> imm16 and d24 -> d16
1405         relaxing.
1406
1407 Fri Feb 21 13:55:14 1997  Doug Evans  <dje@seba.cygnus.com>
1408
1409         * elf32-m32r.c: Rewrite to use ELF backend linker.
1410         Store lower 16 bits of addend in R_M32R_HI16_[SU]LO insns.
1411         Add small data area support (R_M32R_SDA16).
1412         * reloc.c: Document BFD_RELOC_M32R_SDA16.
1413         * bfd-in2.h,libbfd.h: Regenerated.
1414
1415 Thu Feb 20 23:50:31 1997  Jeffrey A Law  (law@cygnus.com)
1416
1417         * elf32-mn10200.c (mn10200_elf_relax_section): New function.
1418         (mn10200_elf_relax_delete_bytes): Likewise.
1419         (mn10200_elf_symbol_address_p): Likewise.
1420         (mn10200_elf_get_relocated_section_contents): Likewise.
1421         (bfd_elf32_bfd_relax_section): Define.
1422         (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
1423
1424         * elf32-mn10200.c (mn10200_elf_final_link_relocate): New function.
1425         (mn10200_elf_relocate_section): Likewise.
1426         (elf_backend_relocate_section): Define.
1427
1428 start-sanitize-d30v
1429 Tue Feb 18 17:22:59 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
1430
1431         * Makefile.in, archures.c, config.bfd, configure.in, elf.c,
1432         reloc.c, targets.c: New target, elf-*-D30V.
1433
1434         * bfd-in2.h, configure, libbfd.h: Rebuilt.
1435
1436         * cpu-d30v.c, elf32-d30v.c: New files.
1437
1438 end-sanitize-d30v
1439 Tue Feb 18 15:31:48 1997  Fred Fish  <fnf@cygnus.com>
1440
1441         * reloc.c (struct reloc_howto_struct): Fix typo in comment.
1442         * bfd-in2.h: Regenerated.
1443 start-sanitize-tic80
1444         * coff-tic80.c (RTYPE2HOWTO): Replace abort with real function.
1445         (rtype2howto): Add function.
1446         (tic80_howto_table): Add.
1447 end-sanitize-tic80
1448
1449 Tue Feb 18 11:41:00 1996  Dawn Perchik  <dawn@cygnus.com>
1450
1451         * sysdep.h: Don't define errno in MSVC if error.h is included.
1452
1453 start-sanitize-v850
1454 Tue Feb 18 10:04:13 1997  Jeffrey A Law  (law@cygnus.com)
1455
1456         * elf32-v850.c (v850_elf_relocate_section): Make sure r_symndx
1457         is initialized before it is used.
1458
1459 end-sanitize-v850
1460 Mon Feb 17 11:28:40 1997  Ian Lance Taylor  <ian@cygnus.com>
1461
1462         * hp300hpux.c (convert_sym_type): Don't convert a secondary common
1463         symbol into a weak undefined symbol; leave it as a common symbol.
1464
1465 Fri Feb 14 19:08:03 1997  Ian Lance Taylor  <ian@cygnus.com>
1466
1467         * elflink.h (elf_link_add_object_symbols): Don't issue a warning
1468         about a symbol defined in a dynamic object if it has already been
1469         defined in a regular object.
1470
1471 Thu Feb 13 20:53:22 1997  Klaus Kaempf  (kkaempf@progis.de)
1472
1473         * makefile.vms: Add gcc flags to allow compiling with current gcc
1474         snapshot
1475         (targmatch.h): New dependency.
1476
1477         * reloc.c (BFD_RELOC_ALPHA_CODEADDR): New relocation for
1478         openVMS/Alpha.
1479         * evax.h (ALPHA_R_CODEADDR): New relocation.
1480         * evax-alpha.c (ALPHA_R_CODEADDR): 64 bit procedure relocation for
1481         openVMS/Alpha.
1482         * evax-etir.c (ALPHA_R_CODEADDR): Output object code for this
1483         relocation.
1484         * bfd-in2.h, libbfd.h: Rebuild.
1485
1486         Restrict symbol length to 64 bytes, case preserving:
1487         * evax-emh.c (_bfd_evax_write_emh): Remove case hacking.
1488         * evax-misc.c (_bfd_evax_case_hack_symbol): Remove.
1489         (_bfd_evax_length_hash_symbol): Added.
1490         * evax-etir.c (_bfd_evax_write_etir): Call
1491         _bfd_evax_length_hash_symbol before output of symbol.
1492         * evax-egsd.c (_bfd_evax_write_egsd): Likewise.
1493         * evax.h (flag_hash_long_names, flag_show_after_trunc): Remove.
1494
1495         * evax-emh.c: Output filename to object file without path.
1496
1497         * evax-egsd.c: New sections for local and global commons.
1498
1499         * evax-alpha.c, evax-emh.c, evax-egsd.c, evax-etir.c,
1500         evax-misc.c, evax.h: Remove 8 bit characters from copyright
1501         notices.  Replace AXP with Alpha.
1502
1503 Wed Feb 12 18:10:30 1997  Ian Lance Taylor  <ian@cygnus.com>
1504
1505         * sunos.c (sunos_create_dynamic_sections): We need the dynamic
1506         sections if we are creating a shared library.
1507
1508 Tue Feb 11 15:45:43 1997  Doug Evans  <dje@canuck.cygnus.com>
1509
1510         * configure.host (i386-windows): Don't set host64=true.
1511
1512 Tue Feb 11 15:27:32 1997  Ian Lance Taylor  <ian@cygnus.com>
1513
1514         * elf32-mips.c (reloc_type): Add R_MIPS16_GPREL.
1515         (elf_mips16_gprel_howto): New static variable.
1516         (mips16_gprel_reloc): New static function.
1517         (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_GPREL.
1518         (mips_info_to_howto_rel): Handle R_MIPS16_GPREL.
1519         (mips_elf_relocate_section): Handle R_MIPS16_GPREL.
1520         * reloc.c (BFD_RELOC_MIPS16_GPREL): Define.
1521         * bfd-in2.h, libbfd.h: Rebuild.
1522
1523 Mon Feb 10 23:25:00 1997  Doug Evans  <dje@seba.cygnus.com>
1524
1525         * elf32-m32r.c (elf_m32r_howto_table): Change partial_inplace to true
1526         for R_M32R_{16,32,24,HI16_ULO,HI16_SLO,LO16}.
1527
1528 start-sanitize-r5900
1529         Fri Feb  7 16:20:17 1997  Gavin Koch   <gavin@cygnus.com>
1530
1531         * config.bfd: add r5900
1532
1533 end-sanitize-r5900
1534 Fri Feb  7 12:39:11 1997  Ian Lance Taylor  <ian@cygnus.com>
1535
1536         * elflink.h (elf_link_input_bfd): If we've discarded a section,
1537         the output section will be the absolute section; don't print an
1538         assertion message for that case when doing a relocateable link.
1539
1540 Thu Feb  6 16:55:43 1997  Ian Lance Taylor  <ian@cygnus.com>
1541
1542         * elf32-mips.c (FN_STUB, CALL_STUB, CALL_FP_STUB): Define.
1543         (struct mips_elf_link_hash_entry): Add new fields fn_stub,
1544         need_fn_sub, call_stub, and call_fp_stub.
1545         (struct mips_elf_link_hash_table): Add field mips16_stubs_seen.
1546         (mips_elf_link_hash_newfunc): Initialize new fields.
1547         (mips_elf_link_hash_table_create): Likewise.
1548         (mips_elf_relocate_section): Redirect relocations to use mips16
1549         stubs when appropriate.
1550         (mips_elf_check_relocs): Attach stub sections to the appropriate
1551         symbol.  Set need_fn_stub when appropriate.
1552         (mips_elf_always_size_sections): New static function.
1553         (mips_elf_check_mips16_stubs): New static function.
1554         (elf_backend_always_size_sections): Define.
1555         * elf-bfd.h (struct elf_obj_tdata): Add local_stubs field.
1556
1557         * elflink.h (elf_link_input_bfd): Discard local symbols that are
1558         attached to sections which are not being included in the link.
1559
1560 Wed Feb  5 13:20:17 1997  Ian Lance Taylor  <ian@cygnus.com>
1561
1562         * cofflink.c (_bfd_coff_generic_relocate_section): Ignore the
1563         symbol value when computing the addend for a pc_relative
1564         pcrel_offset reloc.
1565
1566 Mon Feb  3 11:54:06 1997  Ian Lance Taylor  <ian@cygnus.com>
1567
1568         * cofflink.c (_bfd_coff_generic_relocate_section): If doing a
1569         relocateable link, just skip pc_relative pcrel_offset relocs.
1570         * coff-arm.c (coff_arm_rtype_to_howto): Return a different howto
1571         structure for an ARM26 reloc which can be resolved.
1572         (coff_arm_adjust_symndx): Only convert ARM26 to ARM26D if the
1573         reloc can be resolved.
1574
1575         * coff-h8300.c (h8300_reloc16_extra_cases): Correct off by one
1576         error in overflow check for R_RELBYTE.
1577
1578 Fri Jan 31 14:07:27 1997  Ian Lance Taylor  <ian@cygnus.com>
1579
1580         * ieee.c (ieee_slurp_section_data): Pick up the start address.
1581         From Mark Rasin <mark.rasin@telrad.co.il>.
1582
1583         * aoutx.h (aout_link_write_symbols): Don't apply discard_l to
1584         debugging symbols.
1585
1586 Wed Jan 29 00:00:49 1997  Jeffrey A Law  (law@cygnus.com)
1587
1588         * elf32-mn10200.c (reloc_type): Add 16bit pc-relative reloc.
1589         (elf_mn10200_howto_table): Likewise.
1590         (mn10200_reloc_map): Likewise.
1591
1592 Mon Jan 27 12:07:35 1997  Doug Evans  <dje@seba.cygnus.com>
1593
1594         * reloc.c: Add relocs BFD_RELOC_M32R_{HI16_[US]LO,LO16}.
1595         * bfd-in2.h, libbfd.h: Regenerated.
1596         * elf32-m32r.c: Add support for them.
1597
1598 Mon Jan 27 12:25:02 1997  Ian Lance Taylor  <ian@cygnus.com>
1599
1600         * aout-arm.c (MY_swap_std_reloc_in): Remove unused r_length.
1601         * elf32-ppc.c (ppc_elf_check_relocs): Remove unused plt.
1602 start-sanitize-v850
1603         * elf32-v850.c (v850_elf_final_link_relocate): Remove used
1604         r_format and r_pcrel.  Always return a value.
1605 end-sanitize-v850
1606         * riscix.c (MY_final_link_callback): Define to dummy value.
1607
1608         * elf32-i386.c (elf_i386_size_dynamic_sections): When checking for
1609         relocations against the text segment, look up the output name of
1610         the reloc section.
1611         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1612         * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
1613         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1614         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
1615         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1616
1617 start-sanitize-tic80
1618 Wed Jan 22 15:40:28 1997  Fred Fish  <fnf@cygnus.com>
1619
1620         * coff-tic80.c (tic80coff_vec): Use correct data put/get
1621         routines for little endian data.
1622         * coffcode.h (coff_write_object_contents): Set magic to
1623         TIC80_ARCH_MAGIC for TIc80.
1624
1625 Tue Jan 21 12:32:43 1997  Fred Fish  <fnf@cygnus.com>
1626
1627         * coff-tic80.c (tic80coff_vec): Change to little endian data
1628         as the default.
1629
1630 end-sanitize-tic80
1631 Thu Jan 16 17:45:57 1997  Ian Lance Taylor  <ian@cygnus.com>
1632
1633         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Change type of
1634         auxiliary_filters parameter to be const char * const *.  Accept a
1635         NULL terminated array.
1636         * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
1637         (bfd_elf32_size_dynamic_sections): Update declaration.
1638         * bfd-in2.h: Rebuild.
1639
1640 Wed Jan 15 11:21:32 1997  Ian Lance Taylor  <ian@cygnus.com>
1641
1642         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Treat a
1643         NOTYPE symbol in a text section as a FUNC symbol.
1644
1645         * coffcode.h (coff_compute_section_file_positions): Force
1646         relocbase to be aligned to COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
1647
1648 Tue Jan 14 08:46:33 1997  Doug Evans  <dje@canuck.cygnus.com>
1649
1650         * libaout.h (machine_type): Reserve several values for sparclet.
1651
1652 start-sanitize-tic80
1653 Mon Jan 13 22:39:08 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
1654
1655         * config.bfd (tic80-*-*): Don't require 'coff'.
1656
1657 end-sanitize-tic80
1658 start-sanitize-v850
1659 Mon Jan 13 19:36:25 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
1660
1661         * elf32-v850.c (v850_elf_howto_table): Set the special_function
1662         table to v850_elf_reloc for all non-standard relocations.
1663         (v850_elf_check_relocs): Add check for h being non-null.
1664         (v850_elf_reloc): Add  R_V850_ZDA_OFFSET support.  Use switch
1665         statement instead of multiple ifs.
1666         (v850_elf_relocate_section): Fix up error message, don't just call
1667         abort.
1668
1669 end-sanitize-v850
1670 Mon Jan  6 13:28:35 1997  Jeffrey A Law  (law@cygnus.com)
1671
1672         * elf32-mn10200.c (elf_mn10200_howto): Don't ever set partial-inplace.
1673         Use bfd_elf_generic_reloc as special function for all relocs.
1674         (bfd_elf32_mn10200_reloc): Remove unnecessary function.
1675
1676         * elf32-mn10200.c (elf_mn10200_howto): Set pcrel_offset for
1677         24bit pc-relative reloc.
1678
1679 start-sanitize-tic80
1680 Fri Jan  3 16:33:00 1997  Fred Fish  <fnf@cygnus.com>
1681
1682         * Makefile.in (coff-tic80.o): Add coffcode.h to dependency list.
1683         * coff-tic80.c (tic80coff_vec): Data byte order is big endian and
1684         header byte order is little endian.  Use correct bfd_get and
1685         bfd_put routines for little endian headers.
1686         * coffcode.h (coff_set_arch_mach_hook): Set arch to
1687         bfd_arch_tic80 for TIC80_ARCH_MAGIC number.
1688
1689 end-sanitize-tic80
1690 Fri Jan  3 16:54:08 1997  Jeffrey A Law  (law@cygnus.com)
1691
1692         * reloc.c: Add BFD_RELOC_24.
1693         * elf32-mn10200.c (enum reloc_type): Add 24bit and pcrel relocs.
1694         (elf_mn10200_howto, mn10200_reloc_map): Corresponding changes.
1695         * bfd-in2.h, libbfd.h: Rebuilt.
1696
1697 Fri Jan  3 16:58:31 1997  Richard Henderson  <rth@tamu.edu>
1698
1699         elf64-alpha multiple .got rewrite:
1700
1701         * elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
1702         (bfd_elf*_mkobject): Don't define here ...
1703         * elfxx-target.h: ... but rather here.  Default always_size_sections
1704         hook to NULL.
1705         * elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
1706         what the #defines in elf-bfd.h transmuted it to anyway.
1707
1708         * section.c: Add SEC_LINKER_CREATED flag.
1709         * bfd-in2.h: Rebuild.
1710         * elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
1711         relocation section flags.
1712         (elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
1713         SEC_IN_MEMORY to recognize generated bits.
1714         * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
1715         Likewise.
1716         * elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
1717         mips_elf_create_compact_rel_section, mips_elf_create_got_section,
1718         mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
1719         * elf32-ppc.c (ppc_elf_create_linker_section,
1720         ppc_elf_size_dynamic_sections): Likewise.
1721         * elf32-sparc.c (elf32_sparc_check_relocs,
1722         elf32_sparc_size_dynamic_sections): Likewise.
1723         * elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
1724         section flags.
1725         (_bfd_elf_create_dynamic_sections): Likewise.
1726         (_bfd_elf_make_linker_section_rela): Likewise.
1727         * elflink.h (elf_link_create_dynamic_sections): Likewise.
1728         (bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
1729         (elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
1730         to identify generated bits.
1731         (elf_link_input_bfd): Likewise.
1732
1733         * elf64-alpha.c: Rewrite everything touching relocations.
1734
1735 start-sanitize-v850
1736 Fri Jan  3 11:42:53 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
1737
1738         * elf32-v850.c (all functions and static variables): Go through
1739         and regularize names to be of the form v850_elf_<xxx>.
1740         (toplevel): Include <elf/v850.h>.
1741         (enum reloc_type): Move to include/elf/v850.h.
1742         (v850_elf_check_relocs): For common variables, if the variable is
1743         referenced by a R_V850_{SDA,ZDA,TDA} relocation, put the variable
1744         into the appropriate section.
1745         (elf_backend_check_relocs): Define.
1746
1747 Tue Dec 31 15:15:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1748
1749         * elf32-v850.c (elf_v850_howto_table): Fix some spacing.
1750
1751 end-sanitize-v850
1752 Tue Dec 31 14:44:50 1996  Ian Lance Taylor  <ian@cygnus.com>
1753
1754         * config.bfd (mips*el-*-linux*): New target.
1755         (mips*-*-linux*): New target.
1756
1757         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Clean up.
1758         Return a useful value.
1759
1760         * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
1761
1762         * configure.in: Check ac_cv_func_mmap_fixed_mapped, not
1763         ac_cv_func_mmap.
1764         * configure: Rebuild.
1765         * configure.host: Use ac_cv_func_mmap_fixed_mapped instead of
1766         ac_cv_func_mmap in bfd/configure.host.
1767
1768         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Add
1769         filter_shlib and auxiliary_filter_shlib parameters.
1770         * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_AUXILIARY and
1771         DT_FILTER.
1772         * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
1773         (bfd_elf64_size_dynamic_sections): Likewise.
1774         * bfd-in2.h: Rebuild.
1775
1776 Mon Dec 30 18:48:52 1996  Ian Lance Taylor  <ian@cygnus.com>
1777
1778         * xcofflink.c (xcoff_build_ldsyms): When exporting all defined
1779         symbols, don't export a symbol which is defined by an object in an
1780         archive which contains shared objects.
1781
1782 start-sanitize-tic80
1783 Mon Dec 30 16:12:58 1996  Fred Fish  <fnf@cygnus.com>
1784
1785         * archures.c (enum bfd_architecture): Add bfd_arch_tic80
1786         for TI TMS320c80 (MVP).
1787         (bfd_archures_list): Add bfd_tic80_arch.
1788         * bfd-in2.h: Regenerate by running "make headers".
1789
1790 Sun Dec 29 16:18:52 1996  Fred Fish  <fnf@cygnus.com>
1791
1792         * cpu-tic80.c (bfd_tic80_arch): Add struct.
1793         * configure.in (case $vec): Correct typo, "tb" not "tp".
1794         Also add cofflink.o for tic80coff_vec.
1795         * configure: Regenerate with autoconf.
1796
1797 end-sanitize-tic80
1798 Mon Dec 30 11:54:56 1996  Ian Lance Taylor  <ian@cygnus.com>
1799
1800         * libbfd.c: Patch up the mmap code so that it is only built if BFD
1801         is configured with --with-mmap.
1802
1803 start-sanitize-tic80
1804 Sun Dec 29 10:48:57 1996  Fred Fish  <fnf@cygnus.com>
1805
1806         * Makefile.in (BFD32_BACKENDS): Add coff-tic80.o
1807         (ALL_MACHINES): Add cpu-tic80.o
1808         (cpu-tic80.o, coff-tic80.o): Add dependencies.
1809         * coff-tic80.c: Add skeleton, cloned from another coff config.
1810         * coffcode.h (coff_write_object_contents): Set magic to TIC80MAGIC
1811         for TIc80.
1812
1813 end-sanitize-tic80
1814 Fri Dec 27 20:56:41 1996  Fred Fish  <fnf@cygnus.com>
1815
1816         * TODO: Correct a misspelling.
1817 start-sanitize-tic80
1818         * coff-tic80.c: New file for TI TMS320C80 (MVP).
1819         * cpu-tic80.c: New file for TI TMS320C80 (MVP).
1820         * configure.in (case $vec): Add tic80coff_vec entry.
1821         * configure: Regenerate with autoconf.
1822         * archures.c (bfd_tic80_arch): Declare.
1823         * bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
1824         * config.bfd (case ${targ}): Add tic80*-*-coff* target.
1825         * targets.c (tic80coff_vec): Add decl as extern bfd_target.
1826         (bfd_target_vector): Add tic80coff_vec entry.
1827 end-sanitize-tic80
1828
1829 Fri Dec 27 11:48:12 1996  H.J. Lu  <hjl@lucon.org>
1830
1831         * elflink.h (elf_buckets): Add some more values for larger
1832         binaries.
1833
1834 Thu Dec 26 18:36:54 1996  Ian Lance Taylor  <ian@cygnus.com>
1835
1836         * Makefile.in (install): Move subdir_do out of conditional. From
1837         Fred Fish <fnf@cygnus.com>.
1838
1839 Wed Dec 18 10:04:30 1996  Jeffrey A Law  (law@cygnus.com)
1840
1841         * elf32-mn10200.c (enum reloc_type): Enable basic 8, 16, and
1842         32 bit relocs.
1843         (elf_mn10200_howto_table): Likewise.
1844         (mn10200_reloc_map): Likewise.
1845
1846 Tue Dec 17 11:09:36 1996  Ian Lance Taylor  <ian@cygnus.com>
1847
1848         * elf32-mips.c (mips_elf_add_symbol_hook): Add 1 to the value of a
1849         mips16 symbol during the link.
1850         (mips_elf_finish_dynamic_symbol): Subtract 1 from the value of a
1851         mips16 symbol.
1852         (mips_elf_link_output_symbol_hook): New static function.
1853         (elf_backend_link_output_symbol_hook): Define.
1854
1855         * elf.c (bfd_elf_print_symbol): Print the st_other field if it is
1856         not zero.
1857
1858 Mon Dec 16 14:38:39 1996  Ian Lance Taylor  <ian@cygnus.com>
1859
1860         * elf.c (bfd_section_from_shdr): Don't check for reloc sections
1861         against SEC_DEBUGGING sections here (revert patch of December 5).
1862         * elfcode.h (elf_object_p): Check for them here, instead.
1863
1864 Sun Dec 15 14:46:06 1996  Ian Lance Taylor  <ian@cygnus.com>
1865
1866         * elfcode.h (elf_slurp_reloc_table): Add dynamic parameter.
1867         * elf.c (_bfd_elf_canonicalize_reloc): Pass new argument to
1868         slurp_reloc_table.
1869         (_bfd_elf_get_dynamic_reloc_upper_bound): New function.
1870         (_bfd_elf_canonicalize_dynamic_reloc): New function.
1871         * elf-bfd.h (struct elf_size_info): Update declaration of
1872         slurp_reloc_table.
1873         (_bfd_elf_get_dynamic_reloc_upper_bound): Declare.
1874         (_bfd_elf_canonicalize_dynamic_reloc): Declare.
1875         * elfxx-target.h: Use new dynamic reloc routines by default.
1876         * elf64-mips.c (mips_elf64_slurp_reloc_table): Add dynamic
1877         parameter.
1878
1879 Fri Dec 13 13:18:49 1996  Dan Wilder  <dan@gasboy.com>
1880
1881         * coffcode.h (coff_set_flags): Use MC68KBCSMAGIC for bfd_arch_m68k
1882         if NAMES_HAVE_UNDERSCORE is defined.
1883
1884 Fri Dec 13 11:13:23 1996  Doug Evans  <dje@canuck.cygnus.com>
1885
1886         * libaout.h (enum machine_type): Change M_SPARCLET from 142 to 131.
1887
1888 Thu Dec 12 15:07:20 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1889
1890         * elf32-ppc.c (ppc_elf_check_relocs): Move R_PPC_PLTREL24 into the
1891         supported relocs.
1892
1893 Thu Dec 12 14:55:41 1996  Ian Lance Taylor  <ian@cygnus.com>
1894
1895         * elflink.h (elf_link_add_object_symbols): Only add a weak
1896         symbol if the real definition is in the dynamic symbol table.
1897         After finding the real definition, then, if it is dynamic, add the
1898         weak symbol to the dynamic symbol table.
1899
1900         * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Make static.
1901
1902         * ppcboot.c (ppcboot_set_arch_mach): Don't define; it's a
1903         function.
1904         (ppcboot_bfd_print_private_bfd_data): Don't take the address of an
1905         array.
1906
1907 Tue Dec 10 23:23:52 1996  Jeffrey A Law  (law@cygnus.com)
1908
1909         * elf32-mn10300.c (reloc_type): Remove big endian mn10300 reloc
1910         variants.
1911         (elf32_mn10300_howto_table, mn10300_reloc_map): Likewise.
1912         (bfd_elf32_mn10300_reloc): Write data in little endian format.
1913         * reloc.c: Remove mn10300 big endian relocs.
1914         * bfd-in2.h, libbfd.h: Rebuilt.
1915
1916         * elf32-mn10200.c: Update from elf32-mn10300.c.
1917
1918 Fri Dec  6 15:18:05 1996  Jeffrey A Law  (law@cygnus.com)
1919
1920         * elf32-mn10300.c (elf_symbol_leading_char): Define.
1921
1922         * elf32-mn10300.c: Add some comments.
1923
1924 Fri Dec  6 17:16:43 1996  Ian Lance Taylor  <ian@cygnus.com>
1925
1926         * ihex.c (ihex_scan): Always initialize buf before jumping to
1927         error_return.
1928         (ihex_read_section): Likewise.
1929
1930 Thu Dec  5 22:29:18 1996  Jeffrey A Law  (law@cygnus.com)
1931
1932         * elf32-mn10300.c (elf_mn10300_howto_table): Don't set partial-
1933         inplace for most relocs.
1934
1935 Thu Dec  5 13:24:46 1996  Ian Lance Taylor  <ian@cygnus.com>
1936
1937         * elflink.h (elf_link_add_object_symbols): Calling check_relocs
1938         even if SEC_ALLOC is not set.
1939         * elf32-i386.c (elf_i386_check_relocs): Don't check SEC_ALLOC
1940         when deciding whether to copy a reloc into a shared object.
1941         (elf_i386_relocate_section): Likewise.
1942         * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
1943         (elf32_sparc_relocate_section): Likewise.
1944         * elf32-i386.c (elf_i386_check_relocs): Don't set SEC_ALLOC in a
1945         reloc section if it is not set in the source section.
1946         * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
1947         * elf.c (bfd_section_from_shdr): Mark a reloc section associated
1948         with a SEC_DEBUGGING section as SEC_DEBUGGING.
1949
1950 Wed Dec  4 14:18:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1951
1952         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): #if 0 code that
1953         expects a .got.plt until we actually create it.
1954
1955 Mon Dec  2 12:13:51 1996  Ian Lance Taylor  <ian@cygnus.com>
1956
1957         * cofflink.c (_bfd_coff_generic_relocate_section): Print an error
1958         message for bfd_reloc_outofrange, rather than aborting.  From
1959         Philippe De Muyter <phdm@info.ucl.ac.be>.
1960
1961         * cofflink.c (_bfd_coff_final_link): If there aren't any relocs in
1962         a relocateable link, don't try to process them.  From Heinz Wrobel
1963         <wrobel@lpr.e-technik.tu-muenchen.de>.
1964
1965 Mon Dec  2 00:39:24 1996  Jeffrey A Law  (law@cygnus.com)
1966
1967         * elf32-mn10300.c (mn10300_info_howto): Renamed from
1968         mn10300_info_howto_rel.  Tweak reloc argument to be an
1969         Elf32_Internal_Rela.
1970         (USE_RELA): Define instead of USE_REL.
1971         (elf_info_to_howto, elf_info_howto_rel): Corresponding changes.
1972
1973 Sun Dec  1 00:18:59 1996  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
1974
1975         * configure.in, configure:  Handle mips*-sgi-irix6*.
1976         * irix-core.c (irix_core_core_file_p):  Accept CORE_MAGICN32
1977         core files.
1978
1979 Wed Nov 27 12:10:25 1996  Ian Lance Taylor  <ian@cygnus.com>
1980
1981         * elf32-i386.c (elf_i386_relocate_section): Warn about a
1982         relocation against a symbol defined in a section with no output
1983         section.
1984
1985 Tue Nov 26 11:07:31 1996  Ian Lance Taylor  <ian@cygnus.com>
1986
1987         * aclocal.m4 (BFD_CC_FOR_BUILD): Don't require AC_C_CROSS.
1988         * configure, config.in: Rebuild with autoconf 2.12.
1989
1990         * elf-bfd.h (struct elf_link_hash_entry): Add other field.
1991         * elf.c (_bfd_elf_link_hash_newfunc): Initialize other field.
1992         (swap_out_syms): Set st_other from existing st_other field.
1993         * elflink.h (elf_link_add_object_symbols): Store st_other in hash
1994         table other field.
1995         (elf_link_output_extsym): Set the other field from the global hash
1996         table entry.
1997         * elf32-mips.c (enum reloc_type): Add R_MIPS16_26.
1998         (elf_mips16_jump_howto): New static variable.
1999         (mips16_jump_reloc): New static function.
2000         (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP.
2001         (mips_info_to_howto_rel): Handle R_MIPS16_26.
2002         (mips_elf_relocate_section): Handle R_MIPS16_26.  Handle R_MIPS_26
2003         to a mips16 symbol.
2004         * reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs.
2005         * bfd-in2.h, libbfd.h: Rebuild.
2006         * cpu-mips.c (arch_info_struct): Add mips:16 entry.
2007
2008 Mon Nov 25 11:23:32 1996  Ian Lance Taylor  <ian@cygnus.com>
2009
2010         * configure.host: Use long long for mips-sgi-irix6*.
2011
2012         * coffswap.h (coff_swap_scnhdr_out): Make line number overflow
2013         only a warning.  From Philippe De Muyter <phdemuyt@ulb.ac.be>.
2014
2015 Mon Nov 25 08:52:29 1996  Jeffrey A Law  (law@cygnus.com)
2016
2017         * elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function.
2018         (enum reloc_type): Add more reloc types.
2019         (elf32_mn10300_howto_table): Update for new reloc types.
2020         (elf32_mn10300_reloc_map): Update for new reloc types.
2021         * reloc.c: Add some new relocs for the mn10300 series.
2022         * bfd-in2.h, libbfd.h: Rebuilt.
2023
2024 Sat Nov 23 13:26:18 1996  Jeffrey A Law  (law@cygnus.com)
2025
2026         * som.c (setup_sections): Don't lose for a space which has
2027         no data, but some symbols.
2028
2029 Fri Nov 22 11:32:13 1996  Ian Lance Taylor  <ian@cygnus.com>
2030
2031         * sunos.c (struct sunos_link_hash_table): Add got_needed field.
2032         (sunos_link_hash_table_create): Initialize got_needed.
2033         (sunos_create_dynamic_sections): Only set .got section size if it
2034         is not already set.  Set got_needed.
2035         (bfd_sunos_size_dynamic_sections): Check got_needed.  Only set
2036         sdynptr, and only handle dynamic sections, if dynamic sections are
2037         needed.
2038         (sunos_scan_std_relocs): Pass false to create_dynamic_sections.
2039         Initialize .got section.
2040         (sunos_scan_ext_relocs): Likewise.
2041         (sunos_write_dynamic_symbol): Set up PLT entry even if this is not
2042         a dynamic symbol.
2043         (sunos_finish_dynamic_link): Check got_needed.  Only set up
2044         dynamic linking information if needed.
2045
2046 Thu Nov 21 10:31:31 1996  Rob Savoye  (rob@cygnus.com)
2047
2048         * config.bfd: Added VersaDOS format to the Ericsson configuration.
2049
2050 Wed Nov 20 16:31:31 1996  Jeffrey A Law  (law@cygnus.com)
2051
2052         * elf32-mn10300.c: Rough cut at relocs for the mn10300.
2053
2054 Wed Nov 13 08:12:38 1996  Jeffrey A Law  (law@cygnus.com)
2055
2056         * Makefile.in (elf32-d10v.o): Don't depend on elf/d10v.h
2057         anymore.
2058
2059 Tue Nov 12 13:30:00 1996  Dawn Perchik  <dawn@cygnus.com>
2060
2061         * filemode.c: Include sysdep.h.
2062         * ihex.c: Add casts to eliminate compiler warnings.
2063         * sunos.c: Add casts to eliminate compiler warnings.
2064
2065 Mon Nov 11 10:37:02 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2066
2067         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Create .got.plt
2068         section.
2069         (ppc_elf_check_relocs): Add support for R_PPC_LOCAL24PC.  Make
2070         appropriate relocations in the .so file if shared.
2071         (ppc_elf_relocate_section): Ditto.
2072
2073 Tue Oct 29 15:03:02 1996  Doug Evans  <dje@canuck.cygnus.com>
2074
2075         * elf32-m32r.c (elf_m32r_howto_table, R_M32R_24): Use
2076         complain_overflow_unsigned.
2077
2078 Tue Oct 29 12:53:46 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2079
2080         * elf32-d10v.c (elf_d10v_howto_table): Don't complain on
2081         overflows for R_D10V_16 and R_D10V_18.
2082
2083 Tue Oct 29 13:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
2084
2085         * ieee.c (ieee_write_section_part): Use LMA rather than VMA.
2086         (do_with_relocs): Likewise.
2087         (do_as_repeat): Likewise.
2088         (copy_expression): Likewise.
2089
2090 Fri Oct 25 16:56:40 1996  Ian Lance Taylor  <ian@cygnus.com>
2091
2092         * ieee.c (ieee_write_external_part): Correctly record whether
2093         there is an external part.
2094
2095 start-sanitize-v850
2096 Thu Oct 24 14:32:52 1996  Jeffrey A Law  (law@cygnus.com)
2097
2098         * elf32-v850.c (elf32_v850_bfd_final_link_relocate): Correctly
2099         handle tda offsets for sld.w and sst.w instructions.
2100         Fix alignment check in sld.w and sst.w tda reloc handling.
2101
2102 end-sanitize-v850
2103 Thu Oct 24 09:08:47 1996  Stu Grossman  (grossman@critters.cygnus.com)
2104
2105         * aclocal.m4, configure:  Set USE_BINARY_FOPEN for *-*-windows.
2106
2107 start-sanitize-v850
2108 Wed Oct 23 00:53:16 1996  Jeffrey A Law  (law@cygnus.com)
2109
2110         * elf32-v850.c: Add comments about assumptions about
2111         char, short & long sizes.
2112         (elf32_v850_bfd_final_link_relocate): Fix sign extension
2113         problems for several relocs.
2114
2115         * elf32-v850.c (elf32_v850_howto_table): Fix typo in
2116         R_V850_SDA_OFFSET entry.
2117
2118 end-sanitize-v850
2119 Wed Oct 23 00:20:34 1996  Ian Lance Taylor  <ian@cygnus.com>
2120
2121         * xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym.
2122         Store import file index in ldindx.
2123         (xcoff_build_ldsyms): Assume that ldsym was not previously
2124         allocated.  For an imported symbol, copy ldindx into l_ifile.
2125
2126 start-sanitize-v850
2127 Tue Oct 22 19:20:38 1996  Jeffrey A Law  (law@cygnus.com)
2128
2129         * elf32-v850.c (elf_v850_howto_table): Fix ordering of
2130         R_V850_ZDA_OFFSET and R_V850_TDA_OFFSET.  Fix various
2131         fields in R_V850_TDA_OFFSET.
2132         (elf32_v850_bfd_final_link_relocate): Tweak pc-relative
2133         relocs to work more like other relocs.  Handle R_V850_TDA_OFFSET
2134         relocations.
2135
2136         * elf32-v850.c: Include bfdlink.h.
2137         (bfd_elf32_v850_reloc): Return an error if we get a reloc
2138         we can't handle.
2139         (elf32_v850_bfd_final_link_relocate): New function.
2140         (v850_elf_relocation_section): Likewise.
2141         (elf_backend_relocate_section): Define.
2142
2143 end-sanitize-v850
2144 Tue Oct 22 17:22:43 1996  Ian Lance Taylor  <ian@cygnus.com>
2145
2146         * binary.c (binary_set_section_contents): Ignore sections which
2147         don't have SEC_LOAD and SEC_ALLOC set.
2148
2149 Mon Oct 21 12:13:05 1996  Jeffrey A Law  (law@cygnus.com)
2150
2151         * linker.c (_bfd_generic_final_link): Avoid losing static
2152         symbols in the .bss section.
2153
2154 Mon Oct 21 10:54:58 1996  Ian Lance Taylor  <ian@cygnus.com>
2155
2156         * elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64.
2157         (mips32_64bit_reloc): New static function.
2158         (mips_reloc_map): Add entry for BFD_RELOC_64.
2159         (mips_elf_relocate_section): Handle R_MIPS_64.
2160
2161         * linker.c (default_indirect_link_order): Print an error message
2162         when attempting to do a relocateable link with different object
2163         file formats, rather than calling abort.
2164
2165 Thu Oct 17 10:43:29 1996  Doug Evans  <dje@canuck.cygnus.com>
2166
2167         * reloc.c (m32r relocs): Rename them.
2168         * bfd-in2.h, libbfd.h: Regenerated.
2169         * elf32-m32r.c: Update.
2170         (m32r_elf_10_pcrel_reloc): New function.
2171         (elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it.
2172         (elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks.
2173
2174 Wed Oct 16 11:24:35 1996  Jeffrey A Law  (law@cygnus.com)
2175
2176         * linker.c (_bfd_generic_final_link): Set "linker_mark" for
2177         all sections that will be included in the output file.
2178         (_bfd_generic_link_output_symbols): Discard symbols in sections
2179         which are being discarded.
2180
2181 start-sanitize-v850
2182
2183         * elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
2184         R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
2185         (elf_v850_howto_table): Corresponding changes.
2186         (elf_v850_reloc_map): Corresponding changes.
2187         * reloc.c: Add additional V850 relocations.
2188         * bfd-in2.h, libbfd.h: Rebuilt.
2189
2190         * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
2191         no longer want in pc-relative relocs.
2192
2193 Tue Oct 15 22:17:37 1996  Jeffrey A Law  (law@cygnus.com)
2194
2195         * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
2196         accept a reloc against an undefined sybmol!
2197
2198 Tue Oct 15 16:17:28 1996  Stu Grossman  (grossman@critters.cygnus.com)
2199
2200         * elf32-v850.c:  Define elf_symbol_leading_char to be '_'.
2201
2202 end-sanitize-v850
2203 Tue Oct 15 12:40:41 1996  Ian Lance Taylor  <ian@cygnus.com>
2204
2205         * VERSION: Bump for new relocation.
2206
2207         * hosts/i386bsd.h: If NBPG is not defined, define it as
2208         PAGE_SIZE, for recent versions of FreeBSD.
2209
2210 Mon Oct 14 12:37:26 1996  Ian Lance Taylor  <ian@cygnus.com>
2211
2212         * configure.host: Use `long long' as the 64 bit type on a Solaris
2213         host, since both gcc and the SunPRO compilers support it.
2214
2215 Mon Oct 14 11:17:24 1996  Richard Henderson  <rth@tamu.edu>
2216
2217         * reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL.  It was a
2218         mistake to have reused the ECOFF LITERAL for ELF since they have
2219         different semantics.
2220         * elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
2221         * bfd-in2.h, libbfd.h: Rebuild.
2222
2223         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
2224         section overflow.
2225
2226         * elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
2227         dynamic relocation for an undefweak symbol when we are building
2228         a static executable.
2229
2230 Thu Oct 10 11:15:06 1996  Stan Shebs  <shebs@andros.cygnus.com>
2231
2232         * mpw-make.sed (config.bfd, targmatch.sed): Edit references to
2233         point explicitly to srcdir.
2234         (targmatch.h): Edit references to point explicitly to objdir.
2235
2236 Thu Oct 10 14:14:23 1996  Ian Lance Taylor  <ian@cygnus.com>
2237
2238         * config.bfd: When setting targ_cpu, don't get confused by
2239         linux-gnu.
2240
2241 Tue Oct  8 08:51:19 1996  Stu Grossman  (grossman@critters.cygnus.com)
2242
2243         * configure.host:  Add support for windows host (a build done
2244         under the Microsoft build environment).
2245
2246 Tue Oct  8 11:40:16 1996  Ian Lance Taylor  <ian@cygnus.com>
2247
2248         * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
2249         definition in a dynamic object, add it to the dynamic symbol table
2250         if any dynamic object mentions it.  Reverts part of last patch.
2251
2252         * sunos.c (struct sunos_link_hash_table): Add got_base field.
2253         (sunos_link_hash_table_create): Initialize got_base.
2254         (bfd_sunos_size_dynamic_sections): If the .got section is more
2255         than 0x1000 bytes, set __GLOBAL_OFFSET_TABLE_ and got_base to
2256         0x1000.
2257         (sunos_check_dynamic_reloc): Subtract got_base from a base
2258         relative relocation.
2259
2260         * elf32-mips.c (elf_mips_isa): New static function.
2261         (_bfd_mips_elf_merge_private_bfd_data): Don't warn about linking
2262         -mips1 and -mips2 code together, or -mips3 and -mips4 code.
2263
2264 Mon Oct  7 11:44:17 1996  Ian Lance Taylor  <ian@cygnus.com>
2265
2266         * archive.c (do_slurp_coff_armap): Only treat archive as little
2267         endian for i960 COFF.
2268
2269 Fri Oct  4 13:49:01 1996  Ian Lance Taylor  <ian@cygnus.com>
2270
2271         * coffcode.h (coff_compute_section_file_positions): Adjust sofar
2272         by the change in size of the section when EXEC_P is not set.
2273
2274         * coff-m68k.c (coff_rtype_to_howto): Define if not defined.
2275         (m68kcoff_rtype_to_howto): New static function.
2276         * cf-m68klynx.c (coff_m68k_lynx_rtype_to_howto): Add the section
2277         VMA to the addend for a PC relative reloc.
2278
2279         * dep-in.sed: Rework backslash loop a bit to avoid bug in sed on
2280         HP/UX 10.20.
2281         * Makefile.in: Rebuild dependencies.
2282
2283         * dep-in.sed: Remove ../bfd/sysdep.h, since it will appear when
2284         som.h is included.
2285
2286 Fri Oct  4 11:41:39 1996  Jeffrey A Law  (law@cygnus.com)
2287
2288         * Makefile.in: Remove explicit dependencies for mn10200 and
2289         mn10300 files.
2290         (ALL_MACHINE_CFILES): Add cpu-mn10200.c and cpu-mn10300.c.
2291         (BFD32_BACKENDS_CFILES): Add elf32-mn10200.c and elf32-mn10300.c
2292         (dependencies): Rebuilt.
2293
2294 Thu Oct  3 16:57:51 1996  Ian Lance Taylor  <ian@cygnus.com>
2295
2296         * cofflink.c (coff_link_add_symbols): Set obj_coff_keep_syms
2297         during this function.
2298
2299         * elflink.c (_bfd_elf_create_linker_section): Only use an existing
2300         section if the flags are compatible.
2301
2302         * configure.in: Add havevecs, and put it in tdefaults.
2303         * mpw-config.in: Likewise.
2304         * configure: Rebuild.
2305         * targmatch.sed: New file; a sed script to build targmatch.h from
2306         config.bfd.
2307         * config.bfd: Add #if, #endif, and comments for targmatch.h.
2308         * targets.c: Include "fnmatch.h".
2309         (struct targmatch): Define.
2310         (bfd_target_match): Define by including targmatch.h.
2311         (bfd_find_target): If the target is not found by name, search for
2312         it as a configuration triplet.
2313         * Makefile.in: Rebuild dependencies.
2314         (BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o,
2315         i386dynix.o, m68k4knetbsd.o, and riscix.o.
2316         (BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c,
2317         hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c.
2318         (HFILES): Add targmatch.h.  Also, alphabetize and reindent.
2319         (CFILES): Remove i386dynix.c and hp300bsd.c.
2320         (targmatch.h): New target.
2321         (do_clean): Remove targmatch.h.
2322
2323         * configure.in: Add BFD_NEED_DECLARATION(getenv).
2324         * acconfig.h: Add NEED_DECLARATION_GETENV.
2325         * configure, config.in: Rebuild.
2326         * sysdep.h: If NEED_DECLARATION_GETENV, declare getenv.
2327         * aout-adobe.c (aout_adobe_object_p): Don't declare getenv.
2328
2329 Thu Oct  3 09:29:09 1996  Jeffrey A Law  (law@cygnus.com)
2330
2331         * cpu-mn10x00.c, elf32-mn10x00: Removed.
2332         * cpu-mn10200.c, cpu-mn10300.c: New files.
2333         * elf32-mn10200.c, elf32-mn10300.c: New files.
2334         * Makefile.in: Break mn10x00 support into two separate
2335         configurations, mn10200 and mn10300.
2336         * archures.c, config.bfd, configure.in, elf.c, targets.c: Likewise.
2337         * bfd-in2.h, configure: Rebuilt.
2338
2339 Thu Oct  3 15:38:19 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
2340
2341         * Makefile.in (do_clean): Move config.log to do_distclean.
2342
2343 Wed Oct  2 21:40:55 1996  Jeffrey A Law  (law@cygnus.com)
2344
2345         * cpu-mn10x00.c, elf32-mn10x00.c: New files.
2346         * Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o.
2347         (BFD32_BACKENDS): Similarly for elf32-mn10x00.o.
2348         (elf32-mn10x00.o): Add dependencies.
2349         * archures.c (enum bfd_architecture): Add bfd_arch_mn10x00.
2350         (bfd_mn10x00_arch): Declare.
2351         (bfd_archures_list): Add bfd_mn10x00_arch.
2352         * config.bfd: Add mn10x00-*-*.
2353         * configure.in: Add bfd_elf32_mn10x00_vec.
2354         * elf.c (prep_headers): Handle bfd_arch_mn10x00.
2355         * targets.c (bfd_elf32_mn10x00_vec): Declare.
2356         (bfd_target_vector): Add bfd_elf32_mn10x00_vec.
2357         * bfd-in2.h, configure: Rebuilt.
2358
2359 Wed Oct  2 15:46:45 1996  Klaus Kaempf  <kkaempf@progis.de>
2360
2361         openVMS/Alpha: Provide filename and case_hack flags via
2362         symbol table from gas.
2363         Add case_hack code for symbol output from vax/vms.
2364         * evax-alpha.c (evax_initialize): Remove filename handling,
2365         filename is provided via symbol table.
2366         (evax_get_symtab): Use local symbol count when setting up table.
2367         * evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
2368         debugging.
2369         (_bfd_evax_write_egsd): Skip file name symbol.
2370         * evax-emh.c (get_vms_time_string): Local function now.
2371         (_bfd_evax_write_emh): Extract source filename and case_hack flags
2372         from symbol table.
2373         * evax_write_etir (_bfd_evax_write_etir): Pass all symbol names
2374         through _bfd_evax_case_hack_symbol.
2375         * evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
2376         functions.
2377         (_bfd_evax_basename): Removed.
2378         (_bfd_get_vms_time_string): Moved to evax-emh.c.
2379         * evax.h (evax_private_data_struct): Remove filename.
2380         (flag_hash_long_names, flag_show_after_trunc,
2381         flag_no_hash_mixed_case, vms_name_mapping): New flags for
2382         vms_case_hack.
2383
2384 Wed Oct  2 12:02:02 1996  Ian Lance Taylor  <ian@cygnus.com>
2385
2386         * freebsd.h (N_GET_MAGIC_NET): Don't use ntohl.
2387         (N_GETMID_NET, N_GETFLAG_NET): Likewise.
2388         (NO_SWAP_MAGIC): Don't define.
2389         (SWAP_MAGIC): Define.
2390
2391         * cofflink.c (_bfd_coff_link_input_bfd): Don't crash if there is
2392         no hash table entry for a global symbol.
2393
2394 Tue Oct  1 16:14:22 1996  Joel Sherrill  <joel@oarcorp.com>
2395
2396         * config.bfd (mips*-*-rtems*): New target, like mips*-*-elf*.
2397
2398 Tue Oct  1 12:31:39 1996  Ian Lance Taylor  <ian@cygnus.com>
2399
2400         * cofflink.c (coff_link_add_symbols): Don't override a meaningful
2401         symbol type with T_NULL.  Warn if symbol type changes.  Based on
2402         patch from Philippe De Muyter <phdm@info.ucl.ac.be>.
2403
2404         * elflink.h (elf_link_add_object_symbols): Only put a symbol from
2405         a dynamic object in the dynamic symbol table if it is referenced
2406         or defined by a regular object.
2407
2408 start-sanitize-v850
2409 Fri Sep 27 18:41:07 1996  Stu Grossman  (grossman@critters.cygnus.com)
2410
2411         * elf32-v850.c (bfd_elf32_v850_is_local_label):  New function to
2412         remove dwarf local labels.  Shrinks binaries by a factor of 3!
2413
2414 end-sanitize-v850
2415 Mon Sep 23 13:33:00 1996  Ian Lance Taylor  <ian@cygnus.com>
2416
2417         * elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section
2418         by hand, rather than by calling bfd_make_section.
2419
2420 Mon Sep 23 09:23:41 1996  Doug Evans  <dje@seba.cygnus.com>
2421
2422         * reloc.c: Rename m32r relocs.
2423         * bfd-in2.h, libbfd.h: Rebuilt.
2424         * elf32-m32r.c: Update.
2425
2426 Fri Sep 20 11:43:43 1996  Ian Lance Taylor  <ian@cygnus.com>
2427
2428         * aoutx.h (aout_link_input_section_ext): When doing a relocateable
2429         link, adjust the symbol index of a base relative reloc.  Don't
2430         change the addend of a PC relative reloc if pcrel_offset is set.
2431         * sunos.c (bfd_sunos_size_dynamic_sections): Don't do anything for
2432         a relocateable link.
2433
2434         * reloc.c (bfd_perform_relocation): Apply the relocation even if
2435         it is zero, in case src_mask matters.
2436         (bfd_install_relocation): Likewise.
2437
2438 Thu Sep 19 11:03:06 1996  Ian Lance Taylor  <ian@cygnus.com>
2439
2440         * xcofflink.c (xcoff_link_add_symbols): Always initialize
2441         keep_syms.
2442         (_bfd_xcoff_bfd_final_link): Don't set target_index
2443         to an uninitialized value.
2444
2445 Tue Sep 17 14:18:31 1996  Ian Lance Taylor  <ian@cygnus.com>
2446
2447         * coffcode.h (coff_slurp_line_table): Warn about illegal symbol
2448         indices, rather than crashing.
2449         (coff_slurp_reloc_table): Likewise.  Check whether the howto field
2450         is NULL.
2451         * coff-sh.c (sh_relocate_section): Check for an illegal symbol
2452         index.
2453
2454 Mon Sep 16 12:39:36 1996  Ian Lance Taylor  <ian@cygnus.com>
2455
2456         * coff-arm.c (aoutarm_std_reloc_howto): Change dst_mask for ARM26D
2457         reloc to 0.
2458         (coff_arm_adjust_symndx): New static function.
2459         (coff_adjust_symndx): Define.
2460
2461         * srec.c (srec_scan): Accept multiple symbols on a single line.
2462         From Pascal Martin <pmartin@alsys.com>.
2463
2464         * README: New file.
2465
2466 Fri Sep 13 14:32:42 1996  Doug Evans  <dje@canuck.cygnus.com>
2467
2468         * aoutf1.h (MY_bfd_merge_private_bfd_data): Define.
2469         (sunos_merge_private_bfd_data): New function.
2470
2471 Fri Sep 13 15:50:57 1996  Ian Lance Taylor  <ian@cygnus.com>
2472
2473         * bfd.c (bfd_copy_private_bfd_data): Switch on output BFD rather
2474         than input BFD.
2475         (bfd_merge_private_bfd_data): Likewise.
2476         * section.c (bfd_copy_private_section_data): Likewise.
2477         * syms.c (bfd_copy_private_symbol_data): Likewise.
2478         * bfd-in2.h: Rebuild.
2479         * aout-target.h (MY_bfd_copy_private_section_data): Check that
2480         both BFD's are the right flavour.
2481         * ecoff.c (_bfd_ecoff_bfd_copy_private_bfd_data): Likewise.
2482         * elf.c (_bfd_elf_copy_private_symbol_data): Likewise.
2483         * elf32-mips.c (_bfd_mips_elf_copy_private_bfd_data): Likewise.
2484         (_bfd_mips_elf_merge_private_bfd_data): Likewise.
2485         * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Likewise.
2486         (ppc_elf_merge_private_bfd_data): Likewise.
2487         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
2488         * peicode.h (pe_bfd_copy_private_section_data): Likewise.
2489
2490         * elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for
2491         R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes
2492         its sanity check.
2493
2494 Thu Sep 12 11:45:57 1996  Doug Evans  <dje@seba.cygnus.com>
2495
2496         * reloc.c: Add m32r relocs.
2497         * bfd-in2.h, libbfd.h: Rebuilt.
2498         * cpu-m32r.c,elf32-m32r.c: New files.
2499
2500 Thu Sep 12 11:10:05 1996  Ian Lance Taylor  <ian@cygnus.com>
2501
2502         * ieee.c (ieee_vec): Set symbol_leading_char field to '_'.
2503
2504 Wed Sep 11 11:57:56 1996  Ian Lance Taylor  <ian@cygnus.com>
2505
2506         * tekhex.c (first_phase): Change type parameter from char to int.
2507         (out): Likewise.
2508         (pass_over): Change func to expect int, not char.
2509
2510         * elf.c (assign_file_positions_for_segments): Test SEC_ALLOC
2511         rather than SEC_LOAD when aligning the file offset for the first
2512         section in a segment.
2513
2514 Tue Sep 10 16:18:30 1996  Fred Fish  <fnf@cygnus.com>
2515
2516         * syms.c (coff_section_type): Make arg const.
2517         * irix-core.c (irix_core_core_file_p): Remove extraneous extra arg
2518         to make_bfd_asection().
2519         * elf-bfd.h (bfd_section_from_phdr): Add prototype.
2520         * elfcode.h (bfd_section_from_phdr): Remove prototype.
2521         (_bfd_elf_stringtab_init): Remove prototype.
2522
2523         * netbsd-core.c (swap_abort): Add prototype.
2524         * aix386-core.c (swap_abort): Ditto & make static
2525         * hpux-core.c (swap_abort): Ditto & make static.
2526         * irix-core.c (swap_abort): Ditto & make static.
2527         * ptrace-core.c (swap_abort): Ditto & make static.
2528         * trad-core.c (swap_abort): Ditto & make static.
2529         * coffswap.h (coff_swap_reloc_in): Ditto.
2530         (coff_swap_reloc_out): Ditto.
2531         (coff_swap_filehdr_in): Ditto.
2532         (coff_swap_filehdr_out): Ditto.
2533         (coff_swap_sym_in): Ditto.
2534         (coff_swap_sym_out): Ditto.
2535         (coff_swap_aux_in): Ditto.
2536         (coff_swap_aux_out): Ditto.
2537         (coff_swap_lineno_in): Ditto.
2538         (coff_swap_lineno_out): Ditto.
2539         (coff_swap_aouthdr_in): Ditto.
2540         (coff_swap_aouthdr_out): Ditto.
2541         (coff_swap_scnhdr_in): Ditto.
2542         (coff_swap_scnhdr_out): Ditto.
2543         * ihex.c (ihex_sizeof_headers): Ditto.
2544         * tekhex.c (getsym): Ditto.
2545         (find_chunk): Ditto & make static.
2546         (insert_byte): Ditto.
2547         (first_phase): Ditto.
2548         (pass_over): Ditto.
2549         (tekhex_get_symtab): Ditto & make static.
2550         (tekhex_get_symtab_upper_bound): Ditto & make static.
2551         (tekhex_mkobject): Ditto.
2552         (tekhex_object_p): Ditto.
2553         (move_section_contents): Ditto.
2554         (tekhex_get_section_contents): Ditto.
2555         (tekhex_set_arch_mach): Ditto & make static.
2556         (tekhex_set_section_contents): Ditto.
2557         (writevalue): Ditto.
2558         (writesym): Ditto.
2559         (out): Ditto.
2560         (tekhex_write_object_contents): Ditto.
2561         (tekhex_sizeof_headers): Ditto.
2562         (tekhex_make_empty_symbol): Ditto.
2563         (tekhex_get_symbol_info): Ditto.
2564         (tekhex_print_symbol): Ditto.
2565         * irix-core.c (make_bfd_asection): Ditto.
2566         (irix_core_core_file_p): Ditto.
2567         (irix_core_core_file_failing_command): Ditto.
2568         (irix_core_core_file_failing_signal): Ditto.
2569         (irix_core_core_file_matches_executable_p): Ditto.
2570         (irix_core_make_empty_symbol): Ditto.
2571         * coff-mips.c (mips_bfd_reloc_type_lookup): Ditto.
2572         * srec.c (srec_new_symbol): Ditto.
2573         (srec_get_section_contents): Ditto.
2574         (srec_set_arch_mach): Ditto.
2575         (srec_set_section_contents): Ditto.
2576         (internal_srec_write_object_contents): Ditto.
2577         (srec_write_object_contents): Ditto.
2578         (symbolsrec_write_object_contents): Ditto.
2579         (srec_sizeof_headers): Ditto.
2580         (srec_make_empty_symbol): Ditto.
2581         (srec_get_symtab_upper_bound): Ditto.
2582         (srec_get_symtab): Ditto.
2583         (srec_print_symbol): Ditto and make static.
2584         * elf.c (elf_read): Ditto
2585         (assign_section_numbers): Ditto.
2586         (elf_fake_sections): Ditto.
2587         (sym_is_global): Ditto.
2588         (elf_map_symbols): Ditto.
2589         (get_program_header_size): Ditto.
2590         * coffgen.c (make_a_section_from_file): Ditto.
2591         (coff_real_object_p): Ditto.
2592         (fixup_symbol_value): Ditto.
2593         (build_debug_section): Ditto.
2594         (copy_name): Ditto.
2595         * syms.c (coff_section_type): Ditto.
2596
2597 Mon Sep  9 22:36:01 1996  Jeffrey A Law  (law@cygnus.com)
2598
2599         * bfd-in2.h: Rebuilt after m32r changes.
2600
2601 Mon Sep  9 12:31:22 1996  Doug Evans  <dje@canuck.cygnus.com>
2602
2603         * config.bfd,configure.in,configure: Add m32r support.
2604         * Makefile.in,archures.c,elf.c,targets.c: Likewise.
2605         * config.bfd: Keep target list alphabetically sorted.
2606
2607 start-sanitize-v850
2608 Mon Sep  9 11:48:41 1996  Jeffrey A Law  (law@cygnus.com)
2609
2610         * elf32-v850.c (bfd_elf32_v850_reloc, case R_V850_HI16): Don't forget
2611         to add in the constant part found in the instruction itself.
2612         (case R_V850_HI16_S): Likewise.
2613
2614 end-sanitize-v850
2615 Fri Sep  6 17:04:39 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2616
2617         * elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16
2618         and R_D10V_18 to be 1 (word).
2619
2620 Thu Sep  5 15:23:08 1996  Ian Lance Taylor  <ian@cygnus.com>
2621
2622         * stabs.c (_bfd_link_section_stabs): If the output_section field
2623         of either section is bfd_abs_section, then the linker is
2624         discarding the section and we should not optimize it.
2625
2626 Tue Sep  3 12:16:20 1996  Doug Evans  <dje@canuck.cygnus.com>
2627
2628         * Makefile.in (aout-sparcle.o): New target.
2629         * aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian.
2630         * config.bfd (sparclet-*-aout*): Add case.
2631         * configure.in (sparcle_aout_vec): Add case.
2632         * configure: Regenerated.
2633         * targets.c (sparcle_aout_vec): Declare.
2634         (bfd_target_vector): Add sparcle_aout_vec.
2635         * aout-sparcle.c: New file.
2636
2637 start-sanitize-v850
2638 Tue Sep  3 00:57:02 1996  Jeffrey A Law  (law@cygnus.com)
2639
2640         * elf32-v850.c (bfd_elf32_v850_reloc): Fix handling of
2641         low order sign bit propogation for R_V850_HI16_S.
2642
2643         * elf32-v850.c (bfd_elf32_v850_reloc): New function for
2644         handling V850 specific relocs.
2645         (elf_v850_howto_table): Use the new function for some
2646         relocations.  Twiddle masks & shifts for some relocs.
2647         Set partial_inplace where needed.
2648
2649 end-sanitize-v850
2650 Mon Sep  2 12:12:34 1996  Ian Lance Taylor  <ian@cygnus.com>
2651
2652         * cpu-mips.c: Add an explicit mips:3000 entry, and change the
2653         default architecture to a machine number of 0.
2654         * elf32-mips.c (_bfd_mips_elf_object_p): Set the machine number
2655         for E_MIPS_ARCH_1.
2656         (_bfd_mips_elf_merge_private_bfd_data): If the machine number of
2657         the output BFD is the default, set it from the first input BFD.
2658
2659 start-sanitize-v850
2660 Sun Sep  1 18:38:01 1996  Jeffrey A Law  (law@cygnus.com)
2661
2662         * elf32-v850.c (elf_v850_howto_table): All the 16bit relocs
2663         insert at bitpos zero.  The HI16 relocs are shifted right
2664         by 16 bits.  Fix src_mask for all relocs.
2665         (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define.  The V850 is
2666         little endian!
2667         (TARGET_BIG_SYM, TARGET_BIG_NAME): Remove.  The V850 is little
2668         endian!
2669
2670 end-sanitize-v850
2671 Sun Sep  1 15:41:08 1996  Ian Lance Taylor  <ian@cygnus.com>
2672
2673         * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
2674         Rewrite to use BFD file read routines and to avoid using a fixed
2675         length for the file name.
2676
2677 start-sanitize-v850
2678 Sat Aug 31 10:22:25 1996  Jeffrey A Law  (law@cygnus.com)
2679
2680         * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
2681         (elf_v850_howto_table): Add support for R_V850_{32,16,8}.
2682         (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
2683         to R_V850_{32,16,8}.
2684
2685 Fri Aug 30 18:06:04 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
2686
2687         * elf32-v850.c (reloc_type): Add R_V850_HI16_S.
2688         (elf_v850_howto_table): Add info for HI16_S reloc.
2689         (v850_reloc_map): Add HI_16_S reloc.
2690         * reloc.c: Define BFD_RELOC_V850_* relocs.
2691
2692 end-sanitize-v850
2693 Fri Aug 30 11:49:19 1996  Ian Lance Taylor  <ian@cygnus.com>
2694
2695         Add SH ELF support.
2696         * elf32-sh.c: New file.
2697         * elf.c (prep_headers): Handle bfd_arch_sh.
2698         * elfcode.h (write_relocs): Handle absolute symbol.
2699         * elf-bfd.h (_bfd_elf32_link_read_relocs): Declare.
2700         (_bfd_elf64_link_read_relocs): Declare.
2701         * elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from
2702         elf_link_read_relocs.  Make globally visible.  Change all
2703         callers.
2704         (elf_link_input_bfd): Get external symbols from cache in
2705         symtab_hdr->contents.  Get contents from cache in
2706         elf_section_data.
2707         * elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not
2708         already defined.
2709         * reloc.c: Define BFD_RELOC_SH_* relocs.
2710         * libbfd-in.h (_bfd_sh_align_load_span): Declare.
2711         * coff-sh.c (sh_insns_conflict): Fix a return value.
2712         (_bfd_sh_align_load_span): New globally visible function, broken
2713         out of sh_align_load.
2714         (sh_align_load): Call _bfd_sh_align_load_span.
2715         (sh_swap_insns): Change relocs parameter to PTR.
2716         * bfd-in2.h, libbfd.h: Rebuild.
2717         * targets.c (bfd_elf32_sh_vec): Declare.
2718         (bfd_elf32_shl_vec): Declare.
2719         * config.bfd (sh-*-elf*): New target.
2720         * configure.in (bfd_elf32_sh_vec): New target vector.
2721         (bfd_elf32_shl_vec): New target vector.
2722         * configure: Rebuild.
2723         * Makefile.in: Rebuild dependencies.
2724         (BFD32_BACKENDS): Add elf32-sh.o.
2725         (BFD32_BACKENDS_CFILES): Add elf32-sh.c.
2726
2727         * elf.c (map_sections_to_segments): Check that LMA does not skip a
2728         page before checking D_PAGED.
2729
2730         * ihex.c (ihex_scan): Removed unnecessary extbase variable.
2731         (ihex_write_object_contents): Remove extbase; always use segbase
2732         instead.
2733
2734 Thu Aug 29 16:52:17 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2735
2736         * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
2737         * configure.host (i[345]86-*-*): Ditto.
2738         * config.bfd (i[345]86-*-*): Ditto.
2739         * configure: Regenerate.
2740
2741         * config.bfd (i[3456]86-*-dgux*): Recognize as a synonym for x86
2742         elf.
2743
2744 Tue Aug 27 09:18:18 1996  Jeffrey A Law  (law@cygnus.com)
2745
2746         * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new argument.
2747         * elf32-hppa.h (hppa_elf_gen_reloc_type): Update prototype.
2748         * som.c (hppa_som_gen_reloc_type): Add new argument.  If
2749         we encounter an R_DATA_ONE_SYMBOL reloc against a symbol that
2750         will have an ST_CODE type, change the symbol's type to ST_DATA.
2751         * som.c (hppa_som_gen_reloc_type): Update prototype.
2752
2753 Tue Aug 27 00:12:22 1996  Ian Lance Taylor  <ian@cygnus.com>
2754
2755         * elf32-mips.c (mips_elf_check_relocs): Set dynobj if needed for
2756         R_MIPS_32 and R_MIPS_REL32.  Set sgot and g as soon as possible.
2757         (mips_elf_size_dynamic_sections): Don't require .got to exist.
2758         (mips_elf_finish_dynamic_sections): Likewise.
2759
2760 Thu Aug 22 10:54:38 1996  Ian Lance Taylor  <ian@cygnus.com>
2761
2762         * configure.host (HLDENV): New variable to set.  Set it for
2763         *-*-sysv4*, since those linkers may not support -R but they always
2764         support LD_RUN_PATH.
2765
2766         * libieee.h (NSECTIONS): Don't define.
2767         (ieee_data_struct): Change section_table to asection **.  Add
2768         section_table_size.
2769         * ieee.c (get_section_entry): If the table isn't big enough, make
2770         it bigger.
2771         (ieee_slurp_sections): Remove assertion about number of sections.
2772         (ieee_object_p): Adjust initialization of ieee to match changes to
2773         the structure.
2774
2775         * xcofflink.c (xcoff_mark): Don't copy relocs for undefined
2776         symbols merely because we are generating a shared library.
2777         (xcoff_build_ldsyms): Don't set up global linkage code for an
2778         undefined symbol merely because we are generating a shared
2779         library.
2780
2781 start-sanitize-v850
2782 Tue Aug 20 15:06:05 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
2783
2784         * Makefile.in (ALL_MACHINES): Add cpu-v850.o.
2785         (BFD32_BACKENDS) Add elf32-v850.o.
2786         * archures.c: Add bfd_v850_arch.
2787         * bfd-in2.h: Add bfd_v850_arch.
2788         * config.bfd (v850-*-*): New target.
2789         * configure: (bfd_elf32_v850_vec) New vector.
2790         * configure.in: (bfd_elf32_v850_vec) New vector.
2791         * cpu-v850.c: New file.
2792         * elf.c (prep_headers): Added case bfd_arch_v850.
2793         * elf32-v850.c: New file.
2794         * targets.c (bfd_elf32_v850_vec): New vector.
2795
2796 end-sanitize-v850
2797 Fri Aug 16 16:25:35 1996  Ian Lance Taylor  <ian@cygnus.com>
2798
2799         * xcofflink.c (xcoff_link_add_dynamic_symbols): Create and define
2800         a function code symbol for an XMC_XO symbol.
2801
2802 Thu Aug 15 12:33:29 1996  Stan Shebs  <shebs@andros.cygnus.com>
2803
2804         * mpw-config.in: Update editing of autoconf vars to reflect
2805         Jul 18 configure.in change.
2806         * mpw-make.sed: Update editing of include pathnames to be
2807         more general, add @DASH_C_FLAG@ to explicit compile rule edit.
2808
2809 Thu Aug 15 10:35:13 1996  Richard Henderson  <rth@tamu.edu>
2810
2811         * elf64-alpha.c (elf64_alpha_output_extsym): The section from
2812         which to offset to get the .plt entry address is ".plt".
2813
2814 Thu Aug 15 16:40:30 1996  James G. Smith  <jsmith@cygnus.co.uk>
2815
2816         * reloc.c: (BFD_RELOC_ARM_THUMB_ADD, BFD_RELOC_ARM_THUMB_IMM,
2817         BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET):
2818         Added, for internal use by the ARM gas.
2819         * libbfd.h: Rebuilt
2820         * bfd-in2.h: Rebuilt
2821
2822 Wed Aug 14 17:02:09 1996  Richard Henderson  <rth@tamu.edu>
2823
2824         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo
2825         in section dynidx start.
2826
2827 Tue Aug 13 14:35:38 1996  Ian Lance Taylor  <ian@cygnus.com>
2828
2829         * elf.c (_bfd_elf_make_section_from_shdr): Treat sections whose
2830         name begins with .gnu.linkonce as SEC_LINK_ONCE.  This is an
2831         optimization for g++.
2832
2833 Tue Aug 13 17:04:40 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2834
2835         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): If one module has
2836         the -mrelocatable-lib bit set and the other doesn't, clear the
2837         -mrelocatable-lib bit in the header.
2838
2839 Sat Aug 10 22:59:17 1996  Ian Lance Taylor  <ian@cygnus.com>
2840
2841         * elflink.h (elf_link_add_object_symbols): Do not resolve a common
2842         symbol against a STT_FUNC symbol in a shared library.
2843
2844 Fri Aug  9 12:44:57 1996  Ian Lance Taylor  <ian@cygnus.com>
2845
2846         * xcofflink.c (xcoff_link_add_dynamic_symbols): If a descriptor
2847         symbol is found, automatically define the corresponding function
2848         code.
2849
2850         * cofflink.c (coff_link_add_symbols): Only set (*sym_hash)->numaux
2851         if sym.n_numaux is not zero.
2852         (_bfd_coff_link_input_bfd): Permit the symbol and the hash table
2853         entry to disagree about the number of aux entries if the symbol
2854         has zero.
2855
2856         * elf32-mips.c (mips_elf_check_relocs): Create the .rel.dyn
2857         section if it might be needed, not just if info->shared.
2858         (mips_elf_adjust_dynamic_symbol): Make room for a null element at
2859         the start of .rel.dyn if we are going to use it.
2860         (mips_elf_finish_dynamic_sections): Only clear the first element
2861         of .rel.dyn if the size is greater than zero.
2862
2863 Thu Aug  8 16:24:55 1996  Ian Lance Taylor  <ian@cygnus.com>
2864
2865         * xcofflink.c (xcoff_link_input_bfd): If we already called the
2866         undefined_symbol callback for a symbol, then don't issue any more
2867         warnings about loader relocs.
2868         (_bfd_ppc_xcoff_relocate_section): Don't do any further processing
2869         after calling the undefined_symbol callback.
2870
2871         * xcofflink.c (XCOFF_MULTIPLY_DEFINED): Define.
2872         (xcoff_link_add_symbols): Permit multiple definitions of a symbol
2873         as the AIX linker seems to do.
2874
2875 Thu Aug  8 12:21:56 1996  Klaus Kaempf  <kkaempf@progis.de>
2876
2877         * evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup.
2878         (evax_initialize): Remove evax_reloc_table.
2879         (evax_close_and_cleanup): Ditto.
2880         (reloc_nil): Ditto.
2881         (alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64
2882         entries.
2883         (evax_bfd_reloc_type_lookup): Ditto.
2884         * evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set
2885         cooked_size == raw_size.
2886         * evax-emh.c (_bfd_evax_register_filename): Remove.
2887         * evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands.
2888         * evax-misc.c (add_new_contents): Malloc section at full size.
2889         (_bfd_save_evax_section): Memcpy section contents directly.
2890         * evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove.
2891         (evax_reloc_table): Remove.
2892
2893         * hosts/alphavms.h (O_ACCMODE): Define if needed.
2894
2895         * makefile.vms: Add better support for DEC C compilation
2896         Add evax.h dependencies
2897
2898         * reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc.
2899         (BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove.
2900         (BFD_RELOC_ALPHA_BASEREG): Remove.
2901         * bfd-in2.h, libbfd.h: Rebuild.
2902
2903 Thu Aug  8 08:17:32 1996  Stu Grossman  (grossman@critters.cygnus.com)
2904
2905         * archive.c (bsd_write_armap):  Ifdef around calls to getuid and
2906         getgid if _WIN32 is defined.
2907         * opncls.c (bfd_fdopenr):  Remove unnecessary WINGDB ifdef.
2908
2909 Wed Aug  7 23:19:00 1996  Stu Grossman  (grossman@critters.cygnus.com)
2910
2911         * aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c:
2912         Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX
2913         include file.
2914         * libbfd.c:  Create dummy getpagesize() macro if HAVE_GETPAGESIZE
2915         isn't defined.
2916
2917 Wed Aug  7 14:11:44 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
2918
2919         * configure.in: Call BFD_NEEDED_DECLARATION on strstr and
2920         realloc.
2921         * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
2922         (NEED_DECLARATION_REALLOC): New macro.
2923         * configure, config.in: Rebuild.
2924         * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
2925         (realloc): Declare if NEED_DECLARATION_REALLOC.
2926
2927         * aclocal.m4 (BFD_NEED_DECLARATION): Include <string.h> or
2928         <strings.h> if they exist.
2929
2930         * ieee.c (ieee_set_section_contents): Cast bfd_alloc return.
2931
2932 Wed Aug  7 12:12:03 1996  Ian Lance Taylor  <ian@cygnus.com>
2933
2934         * cpu-i386.c (i8086_arch): Architecture info for the i8086.
2935
2936         Based on patches from Eric Valette <valette@crf.canon.fr>:
2937         * elf32-i386.c (enum reloc_type): Add FIRST_INVALID_RELOC,
2938         LAST_INVALID_RELOC, R_386_16, R_386_PC16, R_386_8, R_386_PC8.
2939         (elf_howto_table): Add entries for new relocs.
2940         (elf_i386_reloc_type_lookup): Handle new relocs.
2941         (elf_i386_info_to_howto): Just call abort.
2942         (elf_i386_info_to_howto_rel): Check that the reloc type is valid.
2943         (elf_i386_relocate_section): Likewise.
2944
2945 Tue Aug  6 12:54:56 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2946
2947         * elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32.
2948
2949 Mon Aug  5 13:42:41 1996  Ian Lance Taylor  <ian@cygnus.com>
2950
2951         * elf.c (_bfd_elf_make_section_from_shdr): For a loadable section,
2952         only get the LMA from the phdr if they are in the same part of the
2953         file.
2954
2955         * elf.c (map_sections_to_segments): Rewrite tests for starting a
2956         new segment to make them more comprehensible.  If the relationship
2957         between the LMA and the VMA changed, start a new segment.  Don't
2958         check dynsec when deciding whether to start a new segment for a
2959         writeable section; -N will now handle this.
2960
2961 Thu Aug  1 22:43:08 1996  Jeffrey A Law  (law@cygnus.com)
2962
2963         * libhppa.h: Remove "esel" changes.  Not the right approach.
2964         * som.c: Corresponding changes.
2965         (som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
2966         which don't have a SOM symbol type associated with them.
2967         Reverses a 1994 change.
2968
2969 Wed Jul 31 15:50:55 1996  Ian Lance Taylor  <ian@cygnus.com>
2970
2971         Make ld -N more reasonable for ELF:
2972         * elf.c (map_sections_to_segments): If D_PAGED is not set, set
2973         phdr_in_section to false, and always use a single load segment.
2974         (elf_sort_sections): Sort sections by LMA after VMA.
2975         (assign_file_positions_for_segments): If D_PAGED is not set, don't
2976         align to maxpagesize.
2977         (assign_file_positions_except_relocs): Likewise.
2978         * elfcode.h (elf_object_p): If a section is loaded but not page
2979         aligned, clear D_PAGED.
2980
2981 Wed Jul 31 15:00:12 1996  James G. Smith  <jsmith@cygnus.co.uk>
2982
2983         * reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL):
2984         Added, for internal use by the ARM gas.
2985         * libbfd.h: Rebuilt
2986         * bfd-in2.h: Rebuilt
2987
2988 Tue Jul 30 14:14:57 1996  Jeffrey A Law  (law@cygnus.com)
2989
2990         * libhppa.h (R_HPPA_ESEL): New field selector.
2991         (e_esel): Similarly.
2992         * som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
2993         then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
2994         (som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
2995
2996 Tue Jul 30 13:31:27 1996  Ian Lance Taylor  <ian@cygnus.com>
2997
2998         * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular
2999         archive search before looking for stripped dynamic objects.
3000
3001 Fri Jul 26 17:51:39 1996  Ian Lance Taylor  <ian@cygnus.com>
3002
3003         * xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined
3004         symbol a warning rather than an error.
3005
3006 Wed Jul 24 12:02:53 1996  Ian Lance Taylor  <ian@cygnus.com>
3007
3008         * elf.c (assign_file_positions_for_segments): Track the virtual
3009         memory position separately from the file position, and use it to
3010         compute the alignment adjustment.
3011
3012 Tue Jul 23 10:43:31 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
3013
3014         * elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long"
3015         and fixed mask on R_D10V_10_PCREL_L.
3016
3017 Mon Jul 22 15:30:30 1996  Ian Lance Taylor  <ian@cygnus.com>
3018
3019         * elf64-mips.c: Include "aout/ar.h".
3020         (mips_elf64_slurp_armap): New static function.
3021         (mips_elf64_write_armap): New static function.
3022         (bfd_elf64_archive_*): Define.
3023         * elfxx-target.h (bfd_elfNN_archive_p): Define if not defined.
3024         Use instead of bfd_generic_archive_p.
3025         (bfd_elfNN_write_archive_contents): Define if not defined.  Use
3026         instead of _bfd_write_archive_contents.
3027         (bfd_elfNN_mkdarchive): Define if not defined.  Use instead of
3028         _bfd_generic_mkarchive.
3029         (TARGET_BIG_SYM): If bfd_elfNN_archive_functions is defined, use
3030         bfd_elfNN_archive in BFD_JUMP_TABLE_ARCHIVE rather than
3031         _bfd_archive_coff.
3032         (TARGET_LITTLE_SYM): Likewise.
3033         * archive.c (bfd_slurp_armap): Check for and reject an archive map
3034         name of /SYM64/.
3035         * Makefile.in: Rebuild dependencies.
3036
3037         * elf32-mips.c (_bfd_mips_elf_final_write_processing): Handle
3038         SHT_MIPS_LIBLIST, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and
3039         SHT_MIPS_EVENTS sections.
3040         (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_IFACE,
3041         SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS
3042         sections.
3043         (_bfd_mips_elf_fake_sections): Likewise.
3044
3045         * libecoff.h (ecoff_data_type): Add rdata_in_text field.
3046         * ecoff.c (ecoff_compute_section_file_positions): Copy
3047         rdata_in_text from backend info to tdata.  Clear it if any data
3048         section comes before .rdata.
3049         (_bfd_ecoff_write_object_contents): Use rdata_in_text field in
3050         tdata rather than backend info.
3051
3052 Fri Jul 19 18:15:51 1996  Ian Lance Taylor  <ian@cygnus.com>
3053
3054         * configure.in: Fix test for whether a compiler has a 64 bit
3055         type.  From Jim Wilson <wilson@cygnus.com>.
3056
3057 Thu Jul 18 15:39:10 1996  Ian Lance Taylor  <ian@cygnus.com>
3058
3059         * configure.host (mips-sgi-irix6*): New host.
3060
3061         * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG
3062         (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED,
3063         BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT.  Add bfd-in2.h:bfd-in2.h
3064         to AC_OUTPUT call.
3065         * configure: Rebuild.
3066         * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@.
3067         (BFD_HOST_64_BIT): Define conditionally.
3068         (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined.
3069         (bfd_vma): Typedef as BFD_HOST_U_64_BIT.
3070         (symvalue, bfd_size_type): Likewise.
3071         * bfd-in2.h: Rebuild.
3072         * Makefile.in (do_clean): Remove bfd-tmp.h.
3073         (do_distclean): Remove bfd-in3.h.
3074         (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h.
3075         (bfd-in3.h): New target.
3076
3077         * config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec.  From
3078         Andrew Gierth <ANDREWG@microlise.co.uk>.
3079
3080         * configure.host: Set INSTALL_SHLIB.
3081         * configure.in: Call AC_SUBST (INSTALL_SHLIB).
3082         * configure: Rebuild.
3083         * Makefile.in (install): Use @INSTALL_SHLIB@.
3084
3085         * config.bfd (mips*-*-irix6*): New target.
3086         * configure.host: Handle Irix 6 shared library like Irix 5.
3087
3088         * xcofflink.c (xcoff_link_add_symbols): Don't check an XMC_TD
3089         symbol for a magic name.
3090         (xcoff_link_input_bfd): Don't change the reloc symbol for an
3091         XMC_TD symbol.
3092         (_bfd_ppc_xcoff_relocate_section): Don't get the TOC offset for an
3093         XMC_TD symbol.
3094
3095 Thu Jul 18 11:36:31 1996  Stan Shebs  <shebs@andros.cygnus.com>
3096
3097         * mpw-config.in: Add ELF support to mips config, create the
3098         elf32-target.h file in the object dir.
3099         * mpw-make.sed: Edit elfXX-target.h refs at beginnings of lines.
3100
3101 Wed Jul 17 18:02:32 1996  Kim Knuttila  <krk@cygnus.com>
3102
3103         * coff-ppc.c: Redid debug scheme - numerous fprintf's gone.
3104         Also removed most abort calls, in favor of using bfd reporting.
3105
3106 Wed Jul 17 14:51:52 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
3107
3108         * Makefile.in (ALL_MACHINES): Add cpu-d10v.o.
3109         (BFD32_BACKENDS) Add elf32-d10v.o.
3110         * archures.c: Add bfd_d10v_arch.
3111         * bfd-in2.h: Add bfd_d10v_arch.
3112         * config.bfd (d10v-*-*): New target.
3113         * configure: (bfd_elf32_d10v_vec) New vector.
3114         * configure.in: (bfd_elf32_d10v_vec) New vector.
3115         * cpu-d10v.c: New file.
3116         * elf.c (prep_headers): Added case bfd_arch_d10v.
3117         * elf32-d10v.c: New file.
3118         * libbfd.h: Rebuild.
3119         * reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L,
3120         BFD_RELOC_D10V_18, BFD_RELOC_D10V_18_PCREL): Define.
3121         * targets.c (bfd_elf32_d10v_vec): New vector.
3122
3123 Wed Jul 17 10:58:55 1996  Kim Knuttila  <krk@cygnus.com>
3124
3125         * coff-ppc.c (coff_ppc_relocate_section): Removed bogus fprintf
3126
3127 Tue Jul 16 23:49:02 1996  Stu Grossman  (grossman@critters.cygnus.com)
3128
3129         * archures.c bfd-in2.h:  Add bfd_mach_i386_i386 and
3130         bfd_mach_i386_i8086 machine types.
3131
3132 Wed Jul 10 12:42:56 1996  Ian Lance Taylor  <ian@cygnus.com>
3133
3134         * ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT
3135         and _FINI sections.
3136
3137 Wed Jul 10 11:18:21 1996  Richard Henderson  <rth@tamu.edu>
3138
3139         * coffcode.h (coff_set_section_contents): A/UX does not require
3140         special handling of the _LIB section.
3141
3142 Tue Jul  9 15:52:20 1996  Jeffrey A Law  (law@cygnus.com)
3143
3144         * coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
3145         value for R_RELBYTE.
3146
3147         * reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks"
3148         array if one was allocated.
3149
3150 Tue Jul  9 12:21:54 1996  Ian Lance Taylor  <ian@cygnus.com>
3151
3152         From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>:
3153         * elf32-mips.c (struct mips_elf_link_hash_table): Add new fields
3154         use_rld_obj_head and rld_value.
3155         (mips_elf_link_hash_table_create): Initialize new fields.
3156         (mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as
3157         dynamic.
3158         (mips_elf_create_dynamic_sections): Create .rld_map section.  If
3159         __rld_obj_head symbol not seen, create an __rld_map symbol.
3160         (mips_elf_size_dynamic_sections): Make space in .rld_map section.
3161         Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry.
3162         (mips_elf_finish_dynamic_symbol): Save value of __rld_map or
3163         __rld_obj_head symbol.
3164         (mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP.
3165
3166 Mon Jul  8 16:18:03 1996  Ian Lance Taylor  <ian@cygnus.com>
3167
3168         * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry.
3169
3170         * elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use
3171         ppc_elf_addr16_ha_reloc.
3172         (ppc_elf_addr16_ha_reloc): New static function.
3173
3174         * coff-mips.c (struct mips_hi): Define.
3175         (mips_refhi_list): New static variable.
3176         (mips_refhi_addr, mips_refhi_addend): Remove.
3177         (mips_refhi_reloc): Maintain a list of unmatched REFHI relocs.
3178         (mips_reflo_reloc): Process mips_refhi_list.
3179         (mips_relhi_list): New static variable.
3180         (mips_relhi_addr, mips_relhi_addend): Remove.
3181         (mips_relhi_reloc): Maintain a list of unmatched RELHI relocs.
3182         (mips_rello_reloc): Process mips_relhi_list.
3183         (mips_relocate_section): Permit an arbitrary number of REFHI or
3184         RELHI relocs before the associated REFLO or RELLO reloc.
3185
3186 Fri Jul  5 19:27:49 1996  Ian Lance Taylor  <ian@cygnus.com>
3187
3188         * aout-target.h (MY(callback)): Set reloc_count fields.
3189
3190 Thu Jul  4 12:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
3191
3192         * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic
3193         sections unless this is a SunOS link.
3194
3195         * VERSION: Set to 2.7.1.
3196
3197         * Released binutils 2.7.
3198
3199 Wed Jul  3 14:59:47 1996  Ian Lance Taylor  <ian@cygnus.com>
3200
3201         * i386aout.c: Include "aout/aout64.h".
3202         (i386aout_write_object_contents): New static function.
3203         (MY_write_object_contents): Define.
3204
3205         * netbsd.h (MY(write_object_contents)): Make sure that
3206         adjust_sizes_and_vmas is called before fiddling with the magic
3207         number.
3208
3209 Tue Jul  2 23:30:39 1996  Ian Lance Taylor  <ian@cygnus.com>
3210
3211         * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo.
3212
3213 Sun Jun 30 13:34:33 1996  Ian Lance Taylor  <ian@cygnus.com>
3214
3215         * libbfd-in.h (itos, stoi): Don't define.
3216         * libbfd.h: Rebuild.
3217         * i386lynx.c (KEEPIT): Define as udata.i.
3218         (NAME(lynx,swap_std_reloc_out)): Don't use stoi.
3219         (NAME(lynx,swap_ext_reloc_out)): Likewise.
3220         * riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than
3221         flags.  Don't use stoi.
3222
3223         * elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000.
3224
3225         * elf.c (map_sections_to_segments): Don't start a new segment for
3226         a writable section if it's on the same page as the previous
3227         segment.  Reset the writable variable for a readonly section.
3228
3229 Sat Jun 29 16:18:51 1996  Kim Knuttila  <krk@cygnus.com>
3230
3231         * peicode.h (coff_swap_aouthdr_in): Missing initializations of
3232         first_thunk_address, thunk_size, and import_table_size.
3233         * peicode.h: Improved some diagnostics regarding edata sections.
3234
3235         * coff-ppc.c (coff_ppc_relocate_section): Earlier error check
3236         on IMGLUE relocs.
3237         (coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's.
3238         (TARGET_LITTLE_SYM): Added missing D_PAGED.
3239
3240 Fri Jun 28 13:48:45 1996  Ian Lance Taylor  <ian@cygnus.com>
3241
3242         * xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol
3243         with XCOFF_DEF_DYNAMIC set is really defined.
3244         (xcoff_link_check_dynamic_ar_symbols): Likewise.
3245         (xcoff_link_add_symbols): Only create special sections if using an
3246         XCOFF hash table.
3247
3248         * reloc.c (bfd_perform_relocation): Handle xcoff-powermac like
3249         aixcoff-rs6000.
3250         (bfd_install_relocation): Likewise.
3251
3252 Fri Jun 28 11:17:00 1996  Richard Henderson  <rth@tamu.edu>
3253
3254         * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags
3255         field.
3256         (ALPHA_ELF_LINK_HASH_LU_ADDR): Define.
3257         (ALPHA_ELF_LINK_HASH_LU_MEM): Define.
3258         (ALPHA_ELF_LINK_HASH_LU_FUNC): Define.
3259         (elf64_alpha_link_hash_newfunc): Initialize flags field.
3260         (elf64_alpha_check_relocs): Record types of LITUSE entries that
3261         are found for LITERAL relocs.
3262         (elf64_alpha_adjust_dynamic_symbol): If a symbol has its address
3263         taken, we cannot generate a .plt entry for the symbol.
3264
3265 Thu Jun 27 11:24:29 1996  Ian Lance Taylor  <ian@cygnus.com>
3266
3267         * configure.in: Add AC_ISC_POSIX, and check for setitimer and
3268         sysconf functions (for gprof).
3269         * configure, config.in: Rebuild.
3270
3271 Wed Jun 26 16:29:02 1996  Ian Lance Taylor  <ian@cygnus.com>
3272
3273         * ecoff.c (_bfd_ecoff_archive_p): Check the first object file in
3274         an archive if it has a map.  If the object file has the wrong
3275         xvec, reject it.
3276
3277         * coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a
3278         BRADDR, SREL16, SREL32, or SREL64 reloc against an external
3279         symbol.
3280         (alpha_relocate_section): Likewise.
3281
3282         * coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof.
3283         (coff_swap_filehdr_out): Use FILHSZ, not sizeof.
3284         (coff_swap_sym_out): Use SYMESZ, not sizeof.
3285         (coff_swap_aux_out): Use AUXESZ, not sizeof.
3286         (coff_swap_lineno_out): Use LINESZ, not sizeof.
3287         (coff_swap_aouthdr_out): Use AOUTSZ, not sizeof.
3288         (coff_swap_scnhdr_out): Use SCNHSZ, not sizeof.
3289         * peicode.h: Corresponding changes.
3290
3291 Tue Jun 25 15:28:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3292
3293         * elflink.h (elf_create_pointer_linker_section): Comment out code
3294         dealing with making GOT pointers negative of the GOT symbol for
3295         now.
3296
3297 Tue Jun 25 11:41:24 1996  Richard Henderson  <rth@tamu.edu>
3298
3299         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
3300         increment the .rela.plt size until after we're done creating the
3301         .plt entry.
3302         (elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
3303         .rela.plt offset directly rather than calculating it.
3304
3305 Mon Jun 24 17:15:10 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
3306
3307         * Makefile.in, (bindir, libdir, datadir, mandir, infodir, includedir):
3308         Use autoconf-set values.
3309         * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir,
3310         includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set
3311         values.
3312         (docdir): Deleted.
3313         * configure.in (AC_PREREQ): autoconf v2.5 or higher.
3314         * configure: Rebuilt.
3315
3316 Mon Jun 24 22:50:35 1996  Jeffrey A Law  (law@cygnus.com)
3317
3318         * som.c (som_write_fixups): Fix typo in R_END_TRY for exception
3319         handling code > 1k away.
3320
3321 Mon Jun 24 18:41:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3322
3323         * elflink.h (elf_create_pointer_linker_section): If DEBUG is
3324         defined, output whenever the symbol is updated.
3325
3326 Mon Jun 24 17:58:12 1996  Jouke Numan  <jnuman@bazis.nl>
3327
3328         * elf.c (elf_fake_sections): Don't set sh_addr of a non SEC_ALLOC
3329         section to 0 if user_set_vma is set.
3330         * elflink.h (elf_bfd_final_link): Likewise.
3331
3332 Sun Jun 23 20:42:51 1996  Doug Evans  <dje@canuck.cygnus.com>
3333
3334         Partially undo patch of Jun 20.
3335         * coffcode.h (coff_set_alignment_hook): Use COFF_IMAGE_WITH_PE.
3336         (coff_compute_section_file_positions): Likewise.
3337         (coff_write_object_contents): Likewise.  Re-add deleted code, but
3338         use #ifdef COFF_WITH_PE, not COFF_OBJ_WITH_PE.
3339         * peicode.h (pe_bfd_copy_private_bfd_data): Re-add #ifdef.
3340
3341 Fri Jun 21 17:38:15 1996  Joel Sherrill  <joel@merlin.gcs.redstone.army.mil>
3342
3343         * config.bfd: Add support for *-*-rtems* configurations.
3344
3345 Fri Jun 21 15:19:59 1996  Ian Lance Taylor  <ian@cygnus.com>
3346
3347         * elf.c (prep_headers): Add bfd_arch_alpha case.
3348
3349 Fri Jun 21 12:35:27 1996  Richard Henderson  <rth@tamu.edu>
3350
3351         * elf64-alpha.c: New file.
3352         * config.bfd (alpha-*-linuxecoff*): New target.
3353         (alpha-*-linux*, alpha-*-elf*): New targets.
3354         * configure.in (bfd_elf64_alpha_vec): New vector.
3355         * configure: Rebuild.
3356         * targets.c (bfd_elf64_alpha_vec): Declare.
3357         (bfd_target_vector): Add bfd_elf64_alpha_vec if BFD64.
3358         * reloc.c (BFD_RELOC_ALPHA_GPDISP): Define.
3359         * bfd-in2.h, libbfd.h: Rebuild.
3360         * Makefile.in: Rebuild dependencies.
3361         (BFD64_BACKENDS): Add elf64-alpha.o.
3362         (BFD64_BACKENDS_CFILES): Add elf64-alpha.c.
3363
3364 Thu Jun 20 18:14:25 1996  Ian Lance Taylor  <ian@cygnus.com>
3365
3366         * ecoff.c (ecoff_armap_hash): If hlog is 0, just return 0, rather
3367         than relying on a right shift of 32.
3368
3369 Thu Jun 20 11:00:57 1996  Doug Evans  <dje@canuck.cygnus.com>
3370
3371         * coffcode.h (coff_set_alignment_hook): Change COFF_IMAGE_WITH_PE
3372         ifdef to COFF_WITH_PE.
3373         (coff_compute_section_file_positions): Likewise.
3374         (coff_write_object_contents): Likewise.  Delete COFF_OBJ_WITH_PE.
3375         * pe-{arm,i386,ppc}.c (COFF_OBJ_WITH_PE): Delete.
3376         * peicode.h (pe_bfd_copy_private_bfd_data): Delete ifdef
3377         COFF_IMAGE_WITH_PE, always include.
3378
3379         * peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0.
3380
3381 Wed Jun 19 11:37:52 1996  Ian Lance Taylor  <ian@cygnus.com>
3382
3383         * elf.c (map_sections_to_segments): Fix up the test for -Ttext to
3384         approximate the correct answer if SIZEOF_HEADERS was not used.
3385
3386         * binary.c (binary_set_section_contents): Set section file
3387         position based on LMA rather than VMA.
3388
3389 Wed Jun 19 11:19:25 1996  Manfred Hollstein KS/EIC5 60/3/142 #40283  <manfred@lts.sel.alcatel.de>
3390
3391         * linker.c (_bfd_generic_link_output_symbols): Don't output any
3392         symbols if info->strip == strip_all.
3393
3394 Tue Jun 18 15:17:36 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
3395
3396         * coff-h8300.c: Remove #if 0 code.
3397         (compatable): Don't allow mixing/matching of different architectures.
3398
3399         * archures.c (bfd_mach_h8300s): Add.
3400         * bfd-in2.h: Rebuilt.
3401         * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
3402         (BADMAG): Likewise.
3403         (h8300_reloc16_estimate): Likewise.
3404         (h8300_reloc16_extra_cases): Likewise.
3405         (h8300_bfd_link_add_symbols): Likewise.
3406         * coffcode.h (coff_set_arch_mach_hook): Likewise.
3407         (coff_set_flags): Likewise.
3408         * cpu-h8300.c (h8300_scan): Likewise.
3409         Add H8/S to bfd_h8300_arch list.
3410
3411 Tue Jun 18 14:42:58 1996  Klaus Kaempf  <kkaempf@progis.de>
3412
3413         Added support for Alpha OpenVMS:
3414         * evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
3415         * evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
3416         * config.h-vms, makefile.vms: New files.
3417         * config.bfd (alpha-*-*vms*): New target.
3418         * configure.in (evax_alpha_vec): New target vector.
3419         * configure: Rebuild.
3420         * reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
3421         (BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
3422         * targets.c (bfd_target_evax_flavour): Define.
3423         (evax_alpha_vec): Declare.
3424         (bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
3425         if BFD64 is defined.
3426         * bfd-in2.h, libbfd.h: Rebuild.
3427         * Makefile.in: Rebuild dependencies.
3428         (BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
3429         evax-emh.o, and evax-misc.o.
3430         (BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
3431         evax-etir.c, evax-emh.c, and evax-misc.c.
3432         (HFILES): Add evax.h.
3433
3434 Tue Jun 18 13:54:18 1996  Ian Lance Taylor  <ian@cygnus.com>
3435
3436         * coff-h8300.c (h8300_reloc16_extra_cases): Make name a const
3437         pointer.
3438         (h8300_bfd_link_add_symbols): Likewise.
3439
3440 Mon Jun 17 10:06:50 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
3441
3442         * som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define.
3443         * som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY.
3444
3445 Mon Jun 17 12:49:11 1996  Ian Lance Taylor  <ian@cygnus.com>
3446
3447         * elf32-mips.c (mips_elf_relocate_section): Don't create a reloc
3448         for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were
3449         created.
3450         (mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and
3451         R_MIPS_32 relocs if creating a shared library.
3452
3453 Thu Jun 13 20:14:51 1996  Doug Evans  <dje@canuck.cygnus.com>
3454
3455         * peicode.h (add_data_entry): Use pei_section_data rather than
3456         _cooked_size.  Corresponds to May 13 change in coffcode.h.
3457
3458 Thu Jun 13 10:23:40 1996  Ian Lance Taylor  <ian@cygnus.com>
3459
3460         * cofflink.c (_bfd_coff_final_link): Handle long section names.
3461         * coffcode.h (coff_write_object_contents): If there are long
3462         section names, always set the f_symptr field, even if there are no
3463         symbols.
3464         * peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field
3465         if there are no symbols.
3466
3467         * coffgen.c (make_a_section_from_file): Check return value of
3468         _bfd_coff_read_string_table.
3469         (coff_real_object_p): Check return value of
3470         make_a_section_from_file.
3471         (_bfd_coff_read_string_table): Check that there are some symbols
3472         before trying to read the string table size.
3473
3474 Wed Jun 12 11:16:37 1996  Ian Lance Taylor  <ian@cygnus.com>
3475
3476         * xcofflink.c (xcoff_link_add_symbols): When considering whether
3477         to replace a symbol in a dynamic object with a symbol from another
3478         dynamic object, do the replacement if the existing symbol is
3479         global linkage code.
3480
3481         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly
3482         for _ptrgl, and treat it as global linkage code.
3483
3484         * aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a
3485         filename or N_SO symbol past the offset, and use it to indicate
3486         that there is no line number or function when appropriate.
3487
3488 Tue Jun 11 15:24:48 1996  Ian Lance Taylor  <ian@cygnus.com>
3489
3490         * xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a
3491         common symbol defined by the linker.  Don't export function code
3492         even if export_defineds is set.
3493
3494 Mon Jun 10 11:57:27 1996  Jeffrey A Law  (law@cygnus.com)
3495
3496         * coff-h8300.c (howto_table): Add new entries for R_BCC_INV
3497         and R_JMP_DEL.
3498         (rtype2howto): Handle R_BCC_INV and R_JMP_DEL.
3499         (h8300_symbol_address_p): New function.
3500         (h8300_reloc16_estimate): Eliminate jumps made unnecessary by
3501         relaxing.
3502
3503 Sun Jun  9 16:30:20 1996  Jeffrey A Law  (law@cygnus.com)
3504
3505         * coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing
3506         problems.
3507         (h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot"
3508         correctly for the two variants.  Allow relaxing if the target
3509         is 128 bytes away since after relaxation it'll be 126 bytes away.
3510         (h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust
3511         "dot" and "value".  Allow relaxing if the target is 128 bytes
3512         away since after relaxation it'll be 126 bytes away.
3513         * reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing
3514         the given section until nothing changes.
3515
3516 Thu Jun  6 15:24:45 1996  Richard Henderson  <rth@tamu.edu>
3517
3518         * ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA
3519         alignment hack--we can get the lnnoptr info another way without
3520         suddenly increasing the alignment requirements.  Set the flags for
3521         the _PDATA section.
3522         (ecoff_compute_section_file_positions): Do so.
3523
3524 Thu Jun  6 11:24:37 1996  Ian Lance Taylor  <ian@cygnus.com>
3525
3526         * ieee.c (ieee_write_object_contents): Put a timestamp in the file
3527         to keep the HP emulator database happy.
3528
3529         * config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*.
3530         From Kevin Buettner <kev@primenet.com>.
3531
3532 Wed Jun  5 15:16:04 1996  Ian Lance Taylor  <ian@cygnus.com>
3533
3534         * aoutx.h (translate_to_native_sym_flags): Don't try to print the
3535         name of a NULL section.
3536
3537 Tue Jun  4 18:53:58 1996  Ian Lance Taylor  <ian@cygnus.com>
3538
3539         * linker.c (_bfd_generic_link_add_one_symbol): If notice_all is
3540         set, always call the notice callback.
3541
3542         * VERSION: Increment for bfdlink.h change.
3543
3544 Mon Jun  3 11:01:53 1996  Ian Lance Taylor  <ian@cygnus.com>
3545
3546         * coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4.
3547         (sh_relax_delete_bytes): Correct handling of differently sized
3548         trailing alignment reloc.
3549
3550         * bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined.
3551         * bfd-in2.h: Rebuild.
3552         * configure.in: Warn if there is no known 64 bit type.
3553         * configure: Rebuild.
3554
3555         * Makefile.in: Rebuild dependencies.
3556         (BFD32_BACKENDS): Add ppcboot.o.
3557         (BFD32_BACKENDS_CFILES): Add ppcboot.c.
3558
3559         * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
3560         From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
3561
3562 Sat Jun  1 21:49:58 1996  Ian Lance Taylor  <ian@cygnus.com>
3563
3564         * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)
3565         (bfd_mips_elf64_swap_reginfo_out): Move from here...
3566         * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in)
3567         (bfd_mips_elf64_swap_reginfo_out): ...to here.
3568
3569 Fri May 31 13:51:28 1996  Ian Lance Taylor  <ian@cygnus.com>
3570
3571         * elf64-mips.c: Improve reloc special_functions and handling of
3572         SHT_MIPS_OPTIONS section.
3573         * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
3574         mips_elf_hi16_reloc and make globally visible.
3575         (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
3576         make globally visible.
3577         (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
3578         make globally visible.
3579         (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
3580         and make globally visible.
3581         (gprel16_with_gp): Check howto->src_mask before using value in
3582         insn.
3583         (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
3584         and make globally visible.
3585         (gprel32_with_gp): Check howto->src_mask before fetching value.
3586         (bfd_mips_elf_swap_options_in): New function.
3587         (bfd_mips_elf_swap_options_out): New function.
3588         (_bfd_mips_elf_set_private_flags): Rename from
3589         mips_elf_set_private_flags and make globally visible.
3590         (_bfd_mips_elf_copy_private_bfd_data): Rename from
3591         mips_elf_copy_private_bfd_data and make globally visible.
3592         (_bfd_mips_elf_merge_private_bfd_data): Rename from
3593         mips_elf_merge_private_bfd_data and make globally visible.
3594         (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
3595         for a SHT_MIPS_OPTIONS section.
3596         (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
3597         (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
3598         name of a SHT_MIPS_OPTIONS section.
3599         (_bfd_mips_elf_set_section_contents): New function.
3600         (mips_elf32_section_processing): Set the GP value in a
3601         SHT_MIPS_OPTIONS section.
3602         (_bfd_mips_elf_find_nearest_line): Rename from
3603         mips_elf_find_nearest_line and make globally visible.
3604         (bfd_elf32_set_section_contents): Define.
3605         * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
3606         (_bfd_mips_elf_lo16_reloc): Declare.
3607         (_bfd_mips_elf_gprel16_reloc): Declare.
3608         (_bfd_mips_elf_got16_reloc): Declare.
3609         (_bfd_mips_elf_gprel32_reloc): Declare.
3610         (_bfd_mips_elf_set_private_flags): Declare.
3611         (_bfd_mips_elf_copy_private_bfd_data): Declare.
3612         (_bfd_mips_elf_merge_private_bfd_data): Declare.
3613         (_bfd_mips_elf_find_nearest_line): Declare.
3614         (_bfd_mips_elf_set_section_contents): Declare.
3615
3616         * elf32-hppa.c (elf32_hppa_info_to_howto): Rename from
3617         elf_info_to_howto.
3618         (elf_info_to_howto): Define.
3619         * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from
3620         elf_info_to_howto.
3621         (elf_info_to_howto): Define.
3622         * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from
3623         elf_info_to_howto.
3624         (elf_info_to_howto): Define.
3625
3626         * coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to
3627         R_MOV16B[12], to match change in coff/internal.h.
3628
3629 Thu May 30 12:38:49 1996  Ian Lance Taylor  <ian@cygnus.com>
3630
3631         * elf64-mips.c: Extensive additions to provide better support for
3632         writing files and for gas.
3633         * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
3634         of mips_elf_object_p.
3635         (mips_elf32_object_p): Rename from mips_elf_object_p; call
3636         _bfd_mips_elf_object_p.
3637         (_bfd_mips_elf_final_write_processing): Rename from
3638         mips_elf_final_write_processing and make globally visible.
3639         (_bfd_mips_elf_fake_sections): Rename from
3640         mips_elf_fake_sections and make globally visible.
3641         (_bfd_mips_elf_section_from_bfd_section): Rename from
3642         mips_elf_section_from_bfd_section and make globally visible.
3643         (_bfd_mips_elf_section_processing): New function, broken out of
3644         mips_elf_section_processing.
3645         (mips_elf32_section_processing): Rename from
3646         mips_elf_section_processing; call
3647         _bfd_mips_elf_section_processing.
3648         (_bfd_mips_elf_symbol_processing): Rename from
3649         mips_elf_symbol_processing and make globally visible.
3650         (_bfd_mips_elf_read_ecoff_info): Rename from
3651         mips_elf_read_ecoff_info and make globally visible.
3652         (mips_elf32_ecoff_debug_swap): Rename from
3653         mips_elf_ecoff_debug_swap.
3654         * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
3655         struct symbol_cache_entry.
3656         (_bfd_elf_validate_reloc): New function, moved in from
3657         elfcode.h:validate_reloc.
3658         * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
3659         to _bfd_elf_validate_reloc.  Change all callers.
3660         * elf-bfd.h (bfd_section_from_shdr): Declare.
3661         (_bfd_elf_symbol_from_bfd_symbol): Declare.
3662         (_bfd_elf_validate_reloc): Declare.
3663         (_bfd_mips_elf_object_p): Declare.
3664         (_bfd_mips_elf_fake_sections): Declare.
3665         (_bfd_mips_elf_section_from_bfd_section): Declare.
3666         (_bfd_mips_elf_section_processing): Declare.
3667         (_bfd_mips_elf_symbol_processing): Declare.
3668         (_bfd_mips_elf_read_ecoff_info): Declare.
3669         (_bfd_mips_elf_final_write_processing): Declare.
3670         * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
3671         if already defined.
3672
3673         * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.
3674         (mips_elf_final_write_processing): Likewise.
3675
3676 Wed May 29 16:15:29 1996  Ian Lance Taylor  <ian@cygnus.com>
3677
3678         64-bit MIPS ELF ABI objdump support:
3679         * elf64-mips.c: New file.
3680         * Makefile.in: Rebuild dependencies.
3681         (BFD64_BACKENDS): Add elf64-mips.o.
3682         (BFD64_BACKENDS_CFILES): Add elf64-mips.c.
3683         * config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
3684         bfd_elf64_littlemips_vec to targ_selvecs.
3685         (mips*-*-elf*): Likewise.
3686         * confingure.in: Add bfd_elf64_bigmips_vec and
3687         bfd_elf64_littlemips_vec to vector switch.
3688         * configure: Rebuild.
3689         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
3690         broken out of mips_elf_section_from_shdr.
3691         (mips_elf32_section_from_shdr): Rename from
3692         mips_elf_section_from_shdr.  Call new function.
3693         (elf_backend_section_from_shdr): Update name of renamed function.
3694         * elf-bfd.h (struct elf_size_info): Change second parameter of
3695         write_out_phdrs to be const.  Likewise for second parameter of
3696         swap_symbol_out.
3697         (struct bfd_elf_section_data): Add rel_hdr2 field.
3698         (bfd_elf32_swap_symbol_in): Change second parameter to be const.
3699         (bfd_elf32_swap_symbol_out): Likewise.
3700         (bfd_elf32_swap_reloc_in): Likewise.
3701         (bfd_elf32_swap_reloc_out): Likewise.
3702         (bfd_elf32_swap_reloca_in): Likewise.
3703         (bfd_elf32_swap_reloca_out): Likewise.
3704         (bfd_elf32_swap_phdr_in): Likewise.
3705         (bfd_elf32_swap_phdr_out): Likewise.
3706         (bfd_elf32_swap_dyn_in): Likewise.
3707         (bfd_elf32_swap_dyn_out): Likewise.
3708         (bfd_elf32_slurp_symbol_table): Declare.
3709         (bfd_elf32_write_shdrs_and_ehdr): Declare.
3710         (bfd_elf32_write_out_phdrs): Declare.
3711         (bfd_elf64_swap_symbol_in): Change second parameter to be const.
3712         (bfd_elf64_swap_symbol_out): Likewise.
3713         (bfd_elf64_swap_reloc_in): Likewise.
3714         (bfd_elf64_swap_reloc_out): Likewise.
3715         (bfd_elf64_swap_reloca_in): Likewise.
3716         (bfd_elf64_swap_reloca_out): Likewise.
3717         (bfd_elf64_swap_phdr_in): Likewise.
3718         (bfd_elf64_swap_phdr_out): Likewise.
3719         (bfd_elf64_swap_dyn_in): Likewise.
3720         (bfd_elf64_swap_dyn_out): Likewise.
3721         (bfd_elf64_slurp_symbol_table): Declare.
3722         (bfd_elf64_write_shdrs_and_ehdr): Declare.
3723         (bfd_elf64_write_out_phdrs): Declare.
3724         (_bfd_mips_elf_section_from_shdr): Declare.
3725         * elf.c (bfd_section_from_shdr): Remove assertion requiring
3726         SHT_REL/SHT_RELA to match use_rela_p.  If there is already a reloc
3727         section for the section, add the new one to rel_hdr2.  Increment
3728         reloc_count rather than setting it.
3729         * elfcode.h (elf_slurp_symbol_table): Define name as macro.
3730         Remove static declaration.
3731         (elf_write_shdrs_and_ehdr): Define name as macro.
3732         (elf_write_out_phdrs): Likewise.
3733         (elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
3734         (elf_swap_shdr_in, elf_swap_shdr_out): Declare.
3735         (elf_swap_symbol_in): Change second parameter to be const.
3736         (elf_swap_symbol_out): Likewise.
3737         (elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
3738         (elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
3739         (elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
3740         (elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
3741         (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
3742         (elf_write_out_phdrs): Rename from write_out_phdrs.  Change second
3743         parameter to be const.  Make non-static.
3744         (elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
3745         Make non-static.
3746         (elf_slurp_symbol_table): Make non-static.
3747         (NAME(_bfd_elf,size_info)): Update names of renamed functions.
3748         * elfxx-target.h (elf_info_to_howto): Define if not defined.
3749         (elf_backend_size_info): Likewise.
3750         (elfNN_bed): Use elf_backend_size_info.
3751         * targets.c (bfd_elf64_bigmips_vec): Declare.
3752         (bfd_elf64_littlemips_vec): Declare.
3753         (bfd_target_vector): Add bfd_elf64_bigmips_vec and
3754         bfd_elf64_littlemips_vec if BFD64 is defined.
3755
3756         * libbfd.c (bfd_get_file_window): Add cast to fprintf argument.
3757
3758 Tue May 28 11:42:08 1996  Ian Lance Taylor  <ian@cygnus.com>
3759
3760         * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not
3761         zeroes, in alignment holes.
3762
3763         * configure: Rebuild with autoconf 2.10.
3764
3765         * aoutx.h (NAME(aout,find_nearest_line)): Make room for the
3766         potential leading underscore in the allocated buffer.
3767
3768 Fri May 24 14:28:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3769
3770         * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
3771         symbols into .sbss if this is a relocatable link.
3772
3773 Thu May 23 12:26:24 1996  Ian Lance Taylor  <ian@cygnus.com>
3774
3775         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
3776         undefined symbols when creating a shared library.
3777
3778 Fri May 17 13:54:15 1996  Ian Lance Taylor  <ian@cygnus.com>
3779
3780         * coff-sh.c: Add a bunch of new code and static const arrays to
3781         support aligning loads and stores on four byte memory boundaries.
3782         Also:
3783         (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
3784         R_SH_LABEL.
3785         (sh_relax_section): Look for R_SH_CODE relocs.  If we find one,
3786         call sh_align_loads.
3787         (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
3788         as unused.
3789
3790 Thu May 16 16:34:13 1996  Ian Lance Taylor  <ian@cygnus.com>
3791
3792         * cache.c (bfd_open_file): Unlink the file before opening it for
3793         write.  From Marty Leisner <leisner@sdsp.mc.xerox.com>.
3794
3795         * opncls.c (bfd_fdopenr): Set opened_once.
3796
3797 Tue May 14 12:35:32 1996  Ian Lance Taylor  <ian@cygnus.com>
3798
3799         * som.c (som_slurp_reloc_table): Clear external_relocs cache after
3800         freeing it.
3801
3802         * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
3803         the code unconditionally.
3804
3805 Mon May 13 19:51:37 1996  Ian Lance Taylor  <ian@cygnus.com>
3806
3807         * libcoff-in.h (struct pei_section_tdata): Define structure.
3808         (pei_section_data): Define macro.
3809         * libcoff.h: Rebuild.
3810         * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
3811         store s_paddr field in pei_section_data.
3812         (coff_compute_section_file_positions): Use pei_section_data rather
3813         than _cooked_size, and don't overwrite an existing value.
3814         (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
3815         0.  If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
3816         * peicode.h (coff_bfd_copy_private_section_data): Define if
3817         COFF_IMAGE_WITH_PE.
3818         (pe_bfd_copy_private_section_data): New static function if
3819         COFF_IMAGE_WITH_PE.
3820
3821 Wed May  8 16:10:38 1996  Ian Lance Taylor  <ian@cygnus.com>
3822
3823         * srec.c (srec_set_arch_mach): Write as a function rather than a
3824         macro definition.
3825
3826         * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
3827         no map, just check each member in turn to see whether it is
3828         required.
3829
3830 Wed May  8 09:17:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3831
3832         * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
3833         table.  Call BFD_ASSERT to validate header size, instead of
3834         calling fatal.
3835         (ppcboot_bfd_print_private_bfd_data): Put quotes around partition
3836         name.
3837
3838 Tue May  7 16:10:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3839
3840         * ppcboot.c: New target for looking at PPCbug boot records.
3841
3842         * config{ure.in,.bfd}: Add support for ppcboot target.
3843         * targets.c: Ditto.
3844         * configure: Regenerate.
3845
3846 Tue May  7 11:15:19 1996  Jeffrey A Law  (law@cygnus.com)
3847
3848         * coff-h8300.c (howto_table): Update names to match recent
3849         changes to include/coff/internal.h.  Fix minor errors in the
3850         existing relocs.  Add R_MOVL1 and R_MOVL2.
3851         (rtype2howto): Similarly.
3852         (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
3853         existing relaxing code  and peform more relaxing.
3854         (h8300_reloc16_extra_cases): Likewise.
3855
3856 Mon May  6 18:24:09 1996  Jeffrey A Law  (law@cygnus.com)
3857
3858         * reloc16.c (bfd_coff_reloc16_get_value): Handle common
3859         symbols correctly.
3860
3861 Sat May  4 05:08:45 1996  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
3862
3863         * elfcode.h (elf_object_p):  Reject generic ELF target if
3864         e_machine matches an alternate machine code in a specific backend.
3865
3866         * netbsd-core.c (netbsd_core_vec):  Remove initializer for
3867         obsolete align_power_min field.
3868
3869 Fri May  3 13:07:35 1996  Jeffrey A Law  (law@cygnus.com)
3870
3871         * coff-h8300.c (reloc_howto_type): Add howto entry for
3872         R_PCRWORD_B.
3873         (rtype2howto): Handle R_PCRWORD_B.
3874         (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
3875         (h8300_reloc_16_estimate): Likewise.  Try to turn a 16bit
3876         pc-relative branch (R_PCRWORD) into an 8bit pc-relative
3877         branch (R_PCWORD_B).
3878
3879 Fri May  3 10:47:41 1996  Ian Lance Taylor  <ian@cygnus.com>
3880
3881         * aoutx.h (translate_from_native_sym_flags): Set the section for
3882         BSF_CONSTRUCTOR symbols.
3883
3884         * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
3885         last_bf_index.
3886
3887 Wed May  1 18:39:32 1996  Doug Evans  <dje@canuck.cygnus.com>
3888
3889         * coffcode.h (coff_write_object_contents): In comdat section lookup,
3890         stop looking when section is found.
3891
3892 Wed May  1 14:17:57 1996  Ian Lance Taylor  <ian@cygnus.com>
3893
3894         * coffcode.h (STRING_SIZE_SIZE): Define.
3895         (styp_to_sec_flags): Handle long symbol names when looking for the
3896         section symbol.
3897         (bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
3898         (bfd_coff_long_section_names): Define.
3899         (coff_write_object_contents): Handle long section names.
3900         (bfd_coff_std_swap_table): Initialize new field.
3901         * libcoff.h: Rebuild.
3902         * coffgen.c (make_a_section_from_file): Handle long section
3903         names.
3904         (coff_write_symbols): Handle long section names.
3905         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
3906         * coff-mips.c (mips_ecoff_backend_data): Likewise.
3907         * pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
3908         * pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
3909         * pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
3910         * pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
3911         * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
3912         * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
3913
3914         * bout.c (b_out_callback): Set lma of sections.
3915         (b_out_bfd_get_relocated_section_contents): Rename in_abfd
3916         parameter to output_bfd.  Used input_bfd instead of output_bfd in
3917         several places.
3918
3919 Tue Apr 30 17:56:39 1996  Ian Lance Taylor  <ian@cygnus.com>
3920
3921         * aoutx.h (translate_from_native_sym_flags): Don't create
3922         SEC_CONSTRUCTOR sections.
3923         * ecoff.c (ecoff_set_symbol_info): Likewise.
3924
3925         * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
3926         From Don Bowman <bowman@waterloo.hp.com>.
3927
3928 Tue Apr 30 17:06:32 1996  Doug Evans  <dje@canuck.cygnus.com>
3929
3930         * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
3931         SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
3932
3933 Mon Apr 29 13:15:17 1996  Ian Lance Taylor  <ian@cygnus.com>
3934
3935         * elf32-mips.c (struct mips_elf_link_hash_entry): Add
3936         mips_32_relocs field.
3937         (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
3938         (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
3939         relocs against a global symbol which is not defined in a regular
3940         file.
3941         (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
3942         against a global symbol, increment mips_32_relocs.
3943         (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
3944         the symbol is not defined in a regular file, make room in the
3945         .rel.dyn section.
3946
3947 Fri Apr 26 18:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
3948
3949         * ecoff.c (ecoff_compute_section_file_positions): Track the real
3950         file position and the virtual file position separately.  Set
3951         filepos information bsaed on the real file position.
3952         (_bfd_ecoff_set_section_contents): Handle .lib sections like the
3953         Jan 23 change to coffcode.h.
3954
3955         * som.c (som_slurp_symbol_table): Set the symbol count to the
3956         number of BFD symbols created.
3957
3958 Fri Apr 26 12:34:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3959
3960         * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
3961         output file if linking shared objects.  Loop to check all relocs,
3962         rather than returning false on first error.
3963
3964 Thu Apr 25 13:25:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3965
3966         * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
3967         (ppc_elf_additional_program_headers): If .interp section, bump #
3968         of program headers by 1.
3969         (ppc_elf_adjust_dynamic_symbol): Flesh out support.
3970         (ppc_elf_size_dynamic_sections): Add support for .plt section.
3971         (ppc_elf_check_relocs): Print out filename in debug code.  Enable
3972         PLT support.
3973         (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
3974         debug output.
3975         (ppc_elf_relocate_section): If the output section isn't defined,
3976         don't abort, just give an error message.
3977
3978         * elflink.c (_bfd_elf_create_dynamic_sections): If the section
3979         being created is .sdata or .sdata2, don't make the symbol dynamic.
3980
3981 Wed Apr 24 14:04:07 1996  Ian Lance Taylor  <ian@cygnus.com>
3982
3983         * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
3984         members of an archive for dynamic objects with no symbols, and
3985         pass them directly to check_archive_element.
3986         (xcoff_link_check_ar_symbols): Pass dynamic objects to
3987         xcoff_link_check_dynamic_ar_symbols.
3988         (xcoff_link_check_dynamic_ar_symbols): New static function.
3989
3990         * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
3991         from _bfd_nodynamic to _bfd_xcoff.
3992         * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
3993         Declare.
3994         (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
3995         (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
3996         (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
3997         * libcoff.h: Rebuild.
3998         * xcofflink.c (xcoff_swap_ldrel_in): New static function.
3999         (xcoff_get_section_contents): New static function.
4000         (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
4001         (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
4002         (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
4003         (xcoff_dynamic_reloc): New static variable.
4004         (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
4005         (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
4006
4007 Tue Apr 23 12:48:42 1996  Ian Lance Taylor  <ian@cygnus.com>
4008
4009         * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
4010         if reloc_entry->addend is not 0.
4011         (CALC_ADDEND): Just set the addend to reloc.r_offset.
4012
4013 Mon Apr 22 18:29:01 1996  Doug Evans  <dje@canuck.cygnus.com>
4014
4015         * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
4016         R_SPARC_GLOB_JMP.
4017         * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
4018         Add entries for R_SPARC_[56].
4019         (sparc_reloc_map): Add entries for R_SPARC_[56].
4020
4021 Mon Apr 22 15:07:24 1996  Ian Lance Taylor  <ian@cygnus.com>
4022
4023         Optimize linking of stabs in sections as used in ELF and COFF.
4024         * stabs.c: New file.
4025         * libbfd-in.h (_bfd_link_section_stabs): Declare.
4026         (_bfd_write_section_stabs): Declare.
4027         (_bfd_write_stab_strings): Declare.
4028         * libbfd.h: Rebuild.
4029         * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
4030         (struct coff_link_hash_table): Add stab_info field.
4031         * libcoff.h: Rebuild.
4032         * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
4033         stab_info field.
4034         (coff_link_add_symbols): Call _bfd_link_section_stabs if
4035         appropriate.
4036         (_bfd_coff_final_link): Write out stab strings hash table.
4037         (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
4038         * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
4039         hash table.
4040         * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
4041         (struct bfd_elf_section_data): Add stab_info field.
4042         * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
4043         field.
4044         * elflink.h (elf_link_add_object_symbols): If appropriate, call
4045         _bfd_link_section_stabs.
4046         (elf_bfd_final_link): Write out stab strings hash table.
4047         (elf_link_input_bfd): Handle optimized stabs sections.
4048         * reloc.c (_bfd_final_link_relocate): Check address against
4049         _raw_size rather than _cooked_size.
4050         * Makefile.in: Rebuild dependencies.
4051         (BFD_LIBS): Add stabs.o
4052         (BFD_LIBS_CFILES): Add stabs.c.
4053
4054         * VERSION: Increment for bfdlink.h change.
4055
4056         * coffgen.c (coff_renumber_symbols): Correct handling of
4057         BSF_NOT_AT_END common symbols.
4058
4059 Fri Apr 19 19:21:56 1996  Ian Lance Taylor  <ian@cygnus.com>
4060
4061         * coff-ppc.c (record_toc): Add cast to avoid warning.
4062         (ppc_allocate_toc_section): Likewise.
4063         (coff_ppc_relocate_section): Remove ANSI C string concatenation.
4064         (ppc_coff_reloc_type_lookup): Remove unreached code.
4065         * coffcode.h (coff_write_object_contents): Don't take the address
4066         of an array.
4067         * peicode.h (pe_print_idata): Add casts to avoid warning.
4068         (pe_print_edata): Likewise.
4069         (pe_print_reloc): Remove ANSI C string concatenation.
4070
4071 Thu Apr 18 18:51:18 1996  Ian Lance Taylor  <ian@cygnus.com>
4072
4073         * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
4074         and last_bf fields.
4075         * libcoff.h: Rebuild.
4076         * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
4077         symbols.
4078         (coff_swap_aux_out): Likewise.
4079         * peicode.h (coff_swap_aux_in): Likewise.
4080         (coff_swap_aux_out): Likewise.
4081         * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
4082         symbols.
4083         * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
4084         field.
4085         (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
4086         Fix up .bf endndx link fields.
4087         * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
4088         field.
4089         * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
4090         symbols.
4091
4092 Wed Apr 17 12:08:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4093
4094         * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
4095         on Solaris PowerPC systems doesn't get confused.
4096
4097         * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
4098         #ifdef PPC.
4099
4100         * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
4101         (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
4102         update did_reg and did_reg2.
4103
4104 Wed Apr 17 13:07:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4105
4106         * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
4107
4108         * linker.c (_bfd_generic_link_add_one_symbol): When calling the
4109         callback routines, pass h->root.string rather than name, in case
4110         copy is true and name is transient.
4111
4112 Tue Apr 16 16:36:38 1996  Stu Grossman  (grossman@lisa.cygnus.com)
4113
4114         * elfcore.h:  Add support for core files with multiple threads.
4115         (Primarily for Solaris.)
4116
4117 Tue Apr 16 13:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
4118
4119         * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
4120         section->orelocation is NULL.
4121
4122         * coffgen.c (bfd_coff_get_syment): New function.
4123         (bfd_coff_get_auxent): New function.
4124         * bfd-in.h (bfd_coff_get_syment): Declare.
4125         (bfd_coff_get_auxent): Declare.
4126         * bfd-in2.h: Rebuild.
4127
4128 Mon Apr 15 19:06:59 1996  Ian Lance Taylor  <ian@cygnus.com>
4129
4130         * elf32-mips.c (struct mips_hi16): Define.
4131         (mips_hi16_addr, mips_hi16_addend): Remove.
4132         (mips_hi16_list): New static variable.
4133         (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
4134         (mips_elf_lo16_reloc): Process mips_hi16_list.
4135         (mips_elf_relocate_section): Permit an arbitrary number of HI16
4136         relocs before the associated LO16 reloc.
4137
4138 Wed Apr 10 00:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
4139
4140         * versados.c (versados_scan): Check bfd_alloc return value.
4141         (versados_object_p): Check all bfd_read return values.  Require
4142         that lang field be less than 10, to avoid confusion with Intel Hex
4143         files.
4144
4145         * libaout.h (WRITE_HEADERS): Write out the relocs even if there
4146         aren't any symbols.
4147         * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
4148         not 0, for an absolute symbol.
4149         (NAME(aout,swap_ext_reloc_out)): Likewise.
4150
4151         * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
4152         (ihex_write_object_contents): For a large start address, output
4153         the full 32 bit address in record type 5.
4154
4155         * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
4156         to int to avoid promotion problems in prototype.
4157
4158 Tue Apr  9 11:44:21 1996  Ian Lance Taylor  <ian@cygnus.com>
4159
4160         * configure.host: Use ${srcdir} when looking for picfrag.
4161
4162         * configure.host: Switch on ${libdir}, not $(libdir).  From
4163         alan@spri.levels.unisa.edu.au (Alan Modra).
4164
4165         * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
4166         entry point, not just for DYNAMIC objects.
4167         * sunos.c (sunos_add_dynamic_symbols): Always call
4168         sunos_create_dynamic_sections.  If called with a non DYNAMIC
4169         object, don't do anything else.
4170         (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
4171
4172 Mon Apr  8 12:09:36 1996  Ian Lance Taylor  <ian@cygnus.com>
4173
4174         * configure.in: Permit --enable-shared to specify a list of
4175         directories.
4176         * configure: Rebuild.
4177
4178         * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
4179         host when configuring with --enable-shard.
4180
4181 Fri Apr  5 12:24:13 1996  Ian Lance Taylor  <ian@cygnus.com>
4182
4183         * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
4184         <jdp@polstra.com>.
4185
4186         * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
4187         to avoid crashing in bfd_hash_replace.
4188
4189         * sysdep.h: Use #ifdef, not #if.
4190
4191 Thu Apr  4 23:32:23 1996  Ian Lance Taylor  <ian@cygnus.com>
4192
4193         * config.in: Rebuild.
4194
4195 Thu Apr  4 18:49:09 1996  Fred Fish  <fnf@cygnus.com>
4196
4197         * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
4198         (AC_CHECK_HEADERS): Check for sys/time.h
4199         (AC_HEADER_TIME): Add macro.
4200         * configure: Rebuild.
4201         * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
4202         to control what combination of <time> and <sys/time.h>
4203         get included.
4204
4205 Tue Apr  2 13:11:53 1996  Doug Evans  <dje@canuck.cygnus.com>
4206
4207         * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
4208         (aout_32_sunos4_write_object_contents): Likewise.
4209         * aoutx.h (NAME(aout,machine_type)): Handle
4210         bfd_mach_sparc_{sparclet,sparclite}.
4211         * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
4212         (bfd_mach_sparc_v9_p): Update.
4213         * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
4214         * libaout.h (enum machine_type): Add M_SPARCLET.
4215         * sunos.c (MACHTYPE_OK): Define.
4216         * bfd-in2.h: Regenerated.
4217
4218 Tue Apr  2 00:33:18 1996  Ian Lance Taylor  <ian@cygnus.com>
4219
4220         * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
4221         * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
4222         * elflink.c (_bfd_elf_create_got_section): Store the
4223         _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
4224         * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
4225         global offset table goes over 0x1000, set the value of
4226         _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
4227         (elf32_sparc_relocate_section): Subtract the offset of
4228         _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
4229
4230         * elfcode.h: Don't include <string.h>.
4231
4232 Mon Apr  1 10:39:24 1996  Jeffrey A Law  (law@cygnus.com)
4233
4234         * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
4235         generic_link_hash_newfunc.  All references changed.
4236         * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
4237         moved here from libbfd-in.h.
4238         * libbfd-in.h: Corresponding changes.
4239         * libbfd.h: Regenerated.
4240
4241 Mon Apr  1 12:35:36 1996  Ian Lance Taylor  <ian@cygnus.com>
4242
4243         * aoutx.h (aout_link_input_section_std): When reporting an
4244         overflow error, use the name of the symbol in the hash table if
4245         available.
4246         (aout_link_input_section_ext): Likewise.
4247
4248         * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
4249         defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
4250
4251 Sun Mar 31 01:58:41 1996  steve chamberlain  <sac@slash.cygnus.com>
4252
4253         * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
4254         * coffcode.h (coff_compute_section_file_positions): Likewise.
4255         (coff_write_object_contents): Likewise.
4256
4257 Fri Mar 29 12:44:36 1996  Ian Lance Taylor  <ian@cygnus.com>
4258
4259         * section.c (SEC_LINK_ONCE): Define.
4260         (SEC_LINK_DUPLICATES): Define.
4261         (SEC_LINK_DUPLICATES_DISCARD): Define.
4262         (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
4263         (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
4264         (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
4265         * bfd-in2.h: Rebuild.
4266         * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
4267         SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
4268         (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
4269         into SEC_EXCLUDE.  If IMAGE_SCN_LNK_COMDAT is set, set
4270         SEC_LINK_ONCE, and look through the symbol table for the setting
4271         for SEC_LINK_DUPLICATES.
4272         (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
4273         set for a section, find the section symbol in the symbol table,
4274         and set the aux entry based on SEC_LINK_DUPLICATES.
4275         * coffgen.c (coff_print_symbol): Add a space before "checksum".
4276         * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
4277         SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
4278         * coff-i386.c (i386coff_vec): Likewise.
4279         * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
4280
4281         * VERSION: Bump to 2.6.1.
4282         * Makefile.in (stamp-h): Depend upon VERSION.
4283
4284 Thu Mar 28 23:48:49 1996  Jeffrey A Law  (law@cygnus.com)
4285
4286         * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
4287         * libbfd.h: Rebuilt.
4288         * linker.c (generic_link_hash_newfunc): No longer static.
4289         * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
4290         to override.
4291         * coff-h8300.c: Add two derived hash tables and their associated
4292         funtions and #defines for use by the h8300 linker.
4293         (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
4294         the function vector as needed.  Place the address of the function
4295         vector entry in the location specified by the R_MEM_INDIRECT reloc.
4296         Rewrite the vectors section contents as necessary.
4297         (h8300_bfd_link_add_symbols): New function for the h8300 linker.
4298         (coff_bfd_link_add_symbols): Define to use h8300 specific version.
4299         (coff_bfd_link_hash_table_create): Likewise.
4300
4301 Thu Mar 28 17:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
4302
4303         * libhppa.h: If gcc 2.7 or higher, declare all the functions with
4304         __attribute__ ((__unused__)) so that -Wall doesn't warn about
4305         them.
4306         (hppa_rebuild_insn): Pass pointer to correct type to
4307         low_sign_unext and dis_assemble_21.
4308
4309 Thu Mar 28 11:00:36 1996  Doug Evans  <dje@canuck.cygnus.com>
4310
4311         * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
4312         Stick with sparc-*-{sysv4*,solaris2*}.
4313
4314 Wed Mar 27 10:43:34 1996  Ian Lance Taylor  <ian@cygnus.com>
4315
4316         * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
4317         (coff_swap_aux_out): Swap out extra PE x_scn fields.
4318         * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
4319         * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
4320         fields is non-zero, print them.
4321
4322         * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
4323         ifdef.  Remove unused variables.
4324         (ppc_record_data_in_toc_entry): Ifdef out.  Removed unused
4325         variables.
4326         (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
4327         (get_symbol_value): Ifdef out.
4328         (pe_ppc_reloc): Ifdef out.  Remove unused variables.
4329         (coff_ppc_relocate_section): Remove unused variables.  Make
4330         fprintf strings and argument types correspond.  Put before_addr in
4331         DEBUG_RELOC ifdef.
4332         (dump_toc): Make fprintf strings and argument types correspond.
4333         (ppc_process_before_allocation): Remove unused variables.  Always
4334         return a value.
4335         (ppc_reflo_reloc): Ifdef out.
4336         (ppc_addr32nb_reloc): Ifdef out.
4337         (ppc_coff_rtype2howto): Make fprintf strings and argument types
4338         correspond.
4339         (coff_ppc_rtype_to_howto): Likewise.
4340         (ppc_coff_swap_sym_in_hook): Remove unused variables.
4341
4342         * peicode.h (pe_print_idata): Move otherwise unused variables into
4343         the #ifdef where they are used.  Always return a value.
4344         (pe_print_edata): Make fprintf strings and argument types
4345         correspond.  Always return a value.
4346         (pe_print_pdata): Removed unused variable addr_value.  Always
4347         return a value.
4348         (pe_print_reloc): Remove unused variable onaline.  Make fprintf
4349         strings and argument types correspond.  Always return a value.
4350
4351         * elf32-ppc.c (ppc_elf_fake_sections): Return true.
4352         (ppc_elf_finish_dynamic_symbol): Move definition of unused
4353         variable rela inside #if 0 section where it is used.
4354
4355         * ns32k.h: New file.
4356         * cpu-ns32k.h: Include ns32k.h.  Rename externally visible
4357         functions to start with _bfd_.
4358         * aout-ns32k.c: Include ns32k.h.  Change references to renamed
4359         functions in cpu-ns32k.h.
4360         * Makefile.in: Rebuild dependencies.
4361         (HFILES): Add ns32k.h.
4362
4363         * section.c (struct sec): Add linker_mark field.  Change
4364         user_set_vma and reloc_done to be single bit fields.
4365         (STD_SECTION): Update accordingly.
4366         * bfd-in2.h: Rebuild.
4367         * aoutx.h (NAME(aout,final_link)): Mark sections included in the
4368         link.
4369         (aout_link_input_bfd): Don't link unmarked sections.
4370         * cofflink.c (_bfd_coff_final_link): Mark sections included in the
4371         link.
4372         (_bfd_coff_link_input_bfd): Don't link unmarked sections.
4373         * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
4374         the link.
4375         * elflink.h (elf_bfd_final_link): Mark sections included in the
4376         link.
4377         (elf_link_input_bfd): Don't link unmarked sections.
4378         * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
4379         in the link.
4380         (xcoff_link_input_bfd): Don't link unmarked sections.
4381
4382         * coffswap.h (coff_swap_scnhdr_out): Include section name in
4383         overflow error messages.
4384
4385 Tue Mar 26 15:46:18 1996  Ian Lance Taylor  <ian@cygnus.com>
4386
4387         * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
4388         is not set, print "BFD: " before the error message.
4389
4390         * configure.in: Use AC_CHECK_TOOL to find ar and ranlib.  From
4391         Miles Bader <miles@gnu.ai.mit.edu>.
4392         * configure: Rebuild.
4393
4394 Fri Mar 22 12:17:00 1996  Ian Lance Taylor  <ian@cygnus.com>
4395
4396         * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
4397         symbols.
4398
4399         * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
4400         m68k-aout, m68k-coff, and m68k-elf targets.
4401
4402 Fri Mar 22 11:33:44 1996  Martin Anantharaman  <martin@goofy.imech.uni-duisburg.de>
4403
4404         * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
4405         (ieee_generic_stat_arch_elt): Restructured to prevent
4406         ieee_object_p from being called repeatedly.
4407
4408 Thu Mar 21 11:00:47 1996  steve chamberlain  <sac@slash.cygnus.com>
4409
4410         * coffcode.h (coff_write_object_contents):  Allocate
4411         buffers large enough for any FILEHDR or AOUTHDR.
4412
4413 Thu Mar 21 16:28:17 1996  David Mosberger-Tang  <davidm@azstarnet.com>
4414
4415         * ecofflink.c (lookup_line): New static function, renamed and
4416         slighly changed from old _bfd_ecoff_locate_line.
4417         (_bfd_ecoff_locate_line): Cache line number information.  Use
4418         lookup_line for actual lookup.
4419
4420 Thu Mar 21 14:59:11 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4421
4422         * peicode.h (pe_print_pdata): Warn if the .pdata section is not a
4423         multiple of 20 bytes.
4424
4425 Thu Mar 21 13:54:40 1996  Ian Lance Taylor  <ian@cygnus.com>
4426
4427         * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
4428         allocate ecoff_find_line, and don't initialize by hand.
4429         * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
4430         mips_elf_find_line, and don't call memset.
4431
4432         * coffcode.h (coff_compute_section_file_positions): If not
4433         producing a final executable, don't consider sofar when aligning
4434         the section to the correct size.
4435
4436 Wed Mar 20 16:53:12 1996  Ian Lance Taylor  <ian@cygnus.com>
4437
4438         * coffcode.h (coff_add_missing_symbols): Ifdef out.
4439         (coff_write_object_contents): Don't call coff_add_missing_symbols.
4440         * coffgen.c (coff_section_symbol): Ifdef out.
4441
4442 Mon Mar 18 12:54:41 1996  Ian Lance Taylor  <ian@cygnus.com>
4443
4444         * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
4445         output_bfd is not NULL.
4446
4447 Thu Mar 14 17:12:06 1996  Doug Evans  <dje@charmed.cygnus.com>
4448
4449         * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
4450         of bfd_alloc (fixes fix_line not being initialized).
4451         Delete zeroing of fix_{value,tag,end,scnlen} fields.
4452
4453 Thu Mar 14 16:06:06 1996  Jeffrey A Law  (law@cygnus.com)
4454
4455         * coffcode.h: Allow specific backends to override the
4456         bfd_link_add_symbols routine.
4457
4458         * coff-h8300.c: Include genlink.h.
4459         (howto_table): Add R_MEM_INDIRECT.
4460         (rtype2howto): Support R_MEM_INDIRECT.
4461         (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
4462         for now.
4463
4464 Tue Mar 12 12:41:17 1996  David Mosberger-Tang  <davidm@koala.azstarnet.com>
4465
4466         * coff-alpha.c (alpha_relocate_section): Use
4467         info->callbacks_warning, rather than _bfd_error_handler, for
4468         "multiple gp" warning.
4469
4470 Tue Mar 12 12:10:55 1996  Ian Lance Taylor  <ian@cygnus.com>
4471
4472         * linker.c (bfd_wrapped_link_hash_lookup): New function.
4473         (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
4474         table string.  Use bfd_wrapped_link_hash_lookup.
4475         (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
4476         table string.
4477         * aoutx.h (aout_link_write_symbols): Use the name from the hash
4478         table, if any, when writing out symbols.
4479         (aout_link_input_section_std): Use the name from the hash table,
4480         if any, when reporting undefined symbols.
4481         (aout_link_input_section_ext): Likewise.
4482         (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
4483         * bout.c (get_value): Likewise.
4484         * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
4485         * ecoff.c (ecoff_reloc_link_order): Likewise.
4486         * elflink.h (elf_link_add_object_symbols): Likewise.
4487         (elf_reloc_link_order): Likewise.
4488         * linker.c (_bfd_generic_link_output_symbols): Likewise.
4489         (_bfd_generic_reloc_link_order): Likewise.
4490         (default_indirect_link_order): Likewise.
4491         * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
4492         * sunos.c (sunos_add_one_symbol): Likewise.
4493         * xcofflink.c (xcoff_link_add_symbols): Likewise.
4494         (bfd_xcoff_link_count_reloc): Likewise.
4495         (xcoff_reloc_link_order): Likewise.
4496
4497         * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
4498         into -1 for intern->rss.
4499
4500         * configure: Rebuild with autoconf 2.8.
4501
4502 Mon Mar 11 12:28:31 1996  Ian Lance Taylor  <ian@cygnus.com>
4503
4504         * stab-syms.c (__define_stab_duplicate): Define.
4505         (bfd_get_stab_name): Rename from aout_stab_name.  Rewrite to use a
4506         switch.
4507         * bfd-in.h (bfd_get_stab_name): Declare.
4508         * bfd-in2.h: Rebuild.
4509         * Makefile.in: Rebuild dependencies.
4510         (BFD_LIBS): Add stab-syms.o.
4511         (BFD_LIBS_CFILES): Add stab-syms.c.
4512         (BFD32_BACKENDS): Remove stab-syms.o.
4513         (BFD32_BACKENDS_CFILES): Remove stab-syms.c.
4514         * configure.in: Don't list stab-syms.o in bfd_backends.
4515         * configure: Rebuild.
4516         * libaout.h (aout_stab_name): Don't declare.
4517         * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
4518         not aout_stab_name.
4519
4520 Fri Mar  8 11:26:20 1996  Ian Lance Taylor  <ian@cygnus.com>
4521
4522         * elf.c (assign_file_positions_for_segments): Adjust file offset
4523         for section alignment even if SEC_LOAD is not set.
4524
4525 Tue Mar  5 12:02:23 1996  Ian Lance Taylor  <ian@cygnus.com>
4526
4527         * configure.in: Don't set SHLIB or SHLINK to an empty string,
4528         since they appear as targets in Makefile.in.
4529         * configure: Rebuild.
4530
4531         * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
4532         don't fiddle with a symbol which is not defined anywhere.
4533
4534 Mon Mar  4 12:49:16 1996  Ian Lance Taylor  <ian@cygnus.com>
4535
4536         * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
4537         though they are defined in a shared library.
4538         (xcoff_build_ldsyms): Likewise.
4539
4540         * coffgen.c (coff_find_nearest_line): Don't look at the line
4541         numbers for the section if section->lineno is NULL.
4542
4543         * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
4544         message rather than calling BFD_ASSERT.
4545         * elfcode.h (write_relocs): Check return value of
4546         _bfd_elf_symbol_from_bfd_symbol.
4547
4548 Fri Mar  1 09:42:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4549
4550         * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
4551         for .sbss section.
4552
4553 Wed Feb 28 11:25:47 1996  Jeffrey A Law  (law@cygnus.com)
4554
4555         * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
4556         and R_HPPA_NLRSEL.
4557         (e_nsel, e_nlsel, e_nlrsel): Undefine.  Add to
4558         hppa_reloc_field_selector_type_alt.
4559         (hppa_field_adjust): Handle e_nlsel, e_nlrsel.  Fix e_nsel handling.
4560         * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
4561         selectors.
4562         (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
4563
4564 Wed Feb 28 11:00:24 1996  Ian Lance Taylor  <ian@cygnus.com>
4565
4566         * elf.c (assign_file_positions_for_segments): Adjust the segment
4567         memory size for the alignment of a SEC_ALLOC section, not just a
4568         SEC_LOAD section.
4569
4570 Tue Feb 27 14:17:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4571
4572         * m68klinux.c: New file.
4573         * hosts/m68klinux.h: New file.
4574         * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
4575         * configure.in (m68*-*-linux*): New native host.
4576         (m68klinux_vec): New vector.
4577         * configure: Rebuild.
4578         * targets.c (m68klinux_vec): Declare.
4579         * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
4580         bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
4581         * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
4582         declaration from bfd_linux_size_dynamic_sections.
4583         (bfd_m68klinux_size_dynamic_sections): Declare.
4584         * bfd-in2.h: Rebuild.
4585         * Makefile.in: Rebuild dependencies.
4586         (BFD32_BACKENDS): Add m68klinux.o.
4587         (BFD32_BACKENDS_CFILES): Add m68klinux.c.
4588
4589 Tue Feb 27 11:31:34 1996  Jeffrey A Law  (law@cygnus.com)
4590
4591         * libhppa.h (pa_arch): Add pa20.
4592         (hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
4593         (e_nsel): Undefine.  Add to hppa_reloc_field_selector_type_alt.
4594         (hppa_field_adjust): Handle e_nsel.
4595         * som.c: Provide default definitions for many new relocs found only
4596         in hpux10 include files.
4597         (som_fixup_formats): Add several new relocs from hpux10.
4598         (som_hppa_howto_table): Add hpux10 relocs.
4599         (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
4600
4601 Mon Feb 26 12:52:48 1996  Stan Shebs  <shebs@andros.cygnus.com>
4602
4603         * mpw-make.sed: Edit out recent shared library support, and
4604         rules to rebuild .h files using doc/chew.
4605
4606 Mon Feb 26 14:48:39 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
4607
4608         * ecoff.c (ecoff_compute_section_file_positions): Adjust the file
4609         size even of sections with no contents.
4610
4611 Mon Feb 26 14:01:13 1996  Ian Lance Taylor  <ian@cygnus.com>
4612
4613         * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
4614         starting with '$' the way we skip names starting with '.'.  When
4615         updating x_endndx, don't be fooled by an index which has been
4616         merged.
4617
4618         * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
4619         struct/union/enum type with no elements.
4620
4621 Sat Feb 24 11:38:58 1996  Ian Lance Taylor  <ian@cygnus.com>
4622
4623         * bfd.c (bfd_errmsg): Handle a NULL return from strerror.
4624
4625         * archive.c (bfd_generic_archive_p): If the first file in the
4626         archive can not be recognized as an object, don't assume that this
4627         is the wrong format.
4628
4629         * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
4630         format is not bfd_object.
4631         (bfd_elf_get_dt_soname): Likewise.
4632
4633 Wed Feb 21 13:58:04 1996  Ian Lance Taylor  <ian@cygnus.com>
4634
4635         * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
4636         reloc.
4637
4638 Tue Feb 20 16:22:44 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
4639
4640         * bfd.c (tdata): Add netbsd_core_data.
4641         * bfd-in2.h: Regenerated.
4642
4643 Tue Feb 20 16:50:02 1996  Ian Lance Taylor  <ian@cygnus.com>
4644
4645         * sunos.c (SUNOS_CONSTRUCTOR): Define.
4646         (sunos_add_one_symbol): Don't let a symbol from a dynamic object
4647         override a constructor symbol.  Set SUNOS_CONSTRUCTOR when
4648         appropriate.
4649
4650         * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
4651         to get the symbol index, matching 14 Jul 95 change.
4652
4653 Tue Feb 20 08:26:27 1996  Fred Fish  <fnf@phydeaux.cygnus.com>
4654
4655         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
4656         Remove duplicate definition of gp.
4657
4658 Mon Feb 19 12:37:41 1996  Ian Lance Taylor  <ian@cygnus.com>
4659
4660         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
4661         assume that we can set the GP value and then get the same value,
4662         since it won't be true if the output file is neither ELF nor
4663         ECOFF.
4664         * coff-mips.c (mips_adjust_reloc_in): Don't bother to use
4665         _bfd_get_gp_value here.
4666         (mips_gprel_reloc): Don't assume we can set and get the GP value.
4667         * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
4668         mips_elf_final_gp.
4669         (mips_elf_lo16_reloc): Likewise.
4670         (mips_elf_final_gp): Add pgp parameter.  Set it to the GP value.
4671         Don't require that the BFD be ELF.
4672         (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
4673         (mips_elf_gprel32_reloc): Likewise.
4674         (mips_elf_relocate_section): Don't assume we can set and get the
4675         GP value.
4676         (mips_elf_finish_dynamic_symbol): Don't bother to use
4677         _bfd_get_gp_value here.
4678
4679         * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
4680         Don't change epdr between malloc and free.  Be careful not to free
4681         NULL pointers.  Zero out the first RPDR.
4682
4683         * configure.host: On Linux, only pass -rpath option if $(libdir)
4684         is neither /lib nor /usr/lib.  From Alan Modra
4685         <alan@mullet.Levels.UniSA.Edu.Au>.
4686
4687         * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
4688         dt_name.
4689         (elf_dt_name): Rename from elf_dt_needed_name.
4690         * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
4691         elf_dt_needed_name.
4692         (bfd_elf_get_dt_soname): New function.
4693         * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
4694         elf_dt_needed_name.  Save the SONAME back in elf_dt_name.
4695         * bfd-in.h (bfd_elf_get_dt_soname): Declare.
4696         * bfd-in2.h: Rebuild.
4697
4698 Mon Feb 19 02:50:23 1996  Doug Evans  <dje@charmed.cygnus.com>
4699
4700         * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
4701         _bfd_sparc_elf_reloc_type_lookup.
4702         (bfd_elf32_bfd_reloc_type_lookup): Update.
4703         * elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
4704         (sparc64_elf_howto_table): Define.
4705         (sparc_reloc_map): Define.
4706         (sparc64_elf_reloc_type_lookup): New function.
4707         (sparc_elf_wdisp16_reloc): New function.
4708         (elf_info_to_howto): Use sparc64_elf_howto_table.
4709         (sparc64_elf_relocate_section): Likewise.
4710         (bfd_elf64_bfd_reloc_type_lookup): Update.
4711
4712 Sun Feb 18 15:02:25 1996  Ian Lance Taylor  <ian@cygnus.com>
4713
4714         * configure.host: Check for 'do not mix' from native linker before
4715         trying to use -rpath.
4716
4717 Fri Feb 16 12:46:18 1996  Ian Lance Taylor  <ian@cygnus.com>
4718
4719         * bfd.c (_bfd_get_gp_value): New function.
4720         (_bfd_set_gp_value): New function.
4721         * libbfd-in.h (_bfd_get_gp_value): Declare.
4722         (_bfd_set_gp_value): Declare.
4723         * libbfd.h: Rebuild.
4724         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
4725         _bfd_get_gp_value and _bfd_set_gp_value rather than referring
4726         directly to the fields in the tdata information.
4727         (alpha_relocate_section): Likewise.
4728         * coff-mips.c (mips_adjust_reloc_in): Likewise.
4729         (mips_gprel_reloc): Likewise.
4730         (mips_relocate_section): Likewise.
4731         * elf32-mips.c (mips_elf_hi16_reloc): Likewise.
4732         (mips_elf_lo16_reloc): Likewise.
4733         (mips_elf_final_gp): Likewise.
4734         (mips_elf_gprel16_reloc): Likewise.
4735         (mips_elf_gprel32_reloc): Likewise.
4736         (mips_elf_relocate_section): Likewise.
4737         (mips_elf_finish_dynamic_symbol): Likewise.
4738
4739         * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
4740
4741 Thu Feb 15 11:29:13 1996  Ian Lance Taylor  <ian@cygnus.com>
4742
4743         * configure.in: Call AC_PROG_CC before configure.host.
4744         * configure: Rebuild.
4745         * configure.host: Don't set information which autoconf should
4746         figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
4747
4748         * configure.host: Remove go32 and win32 host information, since it
4749         should no longer be needed.
4750
4751         * elf.c (map_sections_to_segments): If we have a .dynamic section,
4752         then start a new segment rather than put a writable section in a
4753         readonly segment.
4754
4755         * configure.host: Set RPATH_ENVVAR.
4756
4757         * Makefile.in: Rebuild dependencies.
4758
4759         * elflink.c (_bfd_elf_create_linker_section): Remove unused
4760         zero_section variable.
4761
4762 Thu Feb 15 10:39:17 1996  H.J. Lu  <hjl@zoom.com>
4763
4764         * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
4765         ($(srcdir)/libbfd.h): Rename from libbfd.h.
4766         ($(srcdir)/libcoff.h): Rename from libcoff.h.
4767
4768 Wed Feb 14 16:29:07 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
4769
4770         * ieee.c (ieee_write_expression): Only use an R variable for a
4771         local symbol.  Don't output a zero offset.  Handle a zero address.
4772         (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
4773         (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
4774         PCREL_OFFSET.
4775         (parse_expression): Don't try to handle multiple occurrences of a
4776         P variable.  Handle I variables differently from X variables.  Fix
4777         the order of minus expressions.
4778         (ieee_slurp_external_symbols): Generate an I variable for an NN
4779         record.  Fix handling of ATI and ATX records.
4780         (ieee_slurp_sections): Only set minimal section attributes.
4781         Adjust them later, based on the section contents.
4782         (ieee_object_p): Read in the file until just after the ME record.
4783         Call ieee_slurp_section_data to set the section flags.
4784         (do_one): Add iterations parameter.  Only repeat the first load
4785         item.  Set the section and file reloc flags.
4786         (ieee_slurp_section_data): Set section flags.  Pass iterations to
4787         do_one.
4788         (ieee_canonicalize_reloc): Handle I variables.
4789         (do_with_relocs): Only emit relocation size when necessary.
4790         Increase MAXRUN to 127.  Change ov to be assigned, and take
4791         src_mask and pcrel_offset into account.
4792         (ieee_write_data_part): Skip sections that are not loaded.
4793         (ieee_write_external_part): Don't output optional last entry of WX
4794         records.
4795         (ieee_write_me_part): Make setting of me_record neater.
4796         (ieee_generic_stat_arch_elt): Get the size of an archive element.
4797
4798         * syms.c (stt): Add entries for zerovars, vars, and code.
4799
4800         * elfcode.h (validate_reloc): New static function.
4801         (write_relocs): Call validate_reloc for non ELF relocs.
4802
4803         * elfxx-target.h (elf_symbol_leading_char): Define if not defined.
4804         (TARGET_BIG_SYM): Use elf_symbol_leading_char.
4805         (TARGET_LITTLE_SYM): Likewise.
4806
4807         * config.bfd (m68*-*-psos*): New target.
4808
4809 Tue Feb 13 15:56:22 1996  Bryan Ford  <baford@snake.cs.utah.edu>
4810
4811         * i386msdos.c: Remove some #if 0 code.
4812         (msdos_write_object_contents): Don't include empty sections in the
4813         size computation, regardless of their address.
4814
4815 Tue Feb 13 15:36:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4816
4817         * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
4818         is NULL, ie, the -r switch is used.
4819
4820 Tue Feb 13 14:35:15 1996  Ian Lance Taylor  <ian@cygnus.com>
4821
4822         * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
4823         (BFD_RELOC_MIPS_GOT_LO16): Define.
4824         (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
4825         * bfd-in2.h, libbfd.h: Rebuild.
4826         * elf32-mips.c (mips_reloc_map): Map new relocs.
4827
4828         * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
4829
4830         * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
4831         $(SHLINK).
4832
4833         * ieee.c (get_symbol): Set the section to bfd_abs_section.
4834         (do_with_relocs): If EXEC_P is set and there are no relocs, use a
4835         simple number for the section address, rather than an expression.
4836         Limit the number of bytes between relocs to MAXRUN.
4837         (ieee_write_me_part): Set me_record to the file offset after the
4838         start address.
4839         (ieee_write_processor): New static function.
4840         (ieee_write_object_contents): Use ieee_write_processor.
4841
4842 Fri Feb  9 10:53:00 1996  Ian Lance Taylor  <ian@cygnus.com>
4843
4844         * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
4845
4846         * coff-aux.c: Change include of aux.h to aux-coff.h.
4847
4848 Thu Feb  8 14:01:03 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4849
4850         * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
4851         relocation put the addend both in the reloc entry and the data.
4852         (elf_m68k_finish_dynamic_symbol): Likewise.  Mask out marker in
4853         GOT offset value.
4854
4855         * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
4856         a R_68K_PCxx reloc against a defined global symbol directly.
4857         (elf_m68k_check_relocs): Don't count such a reloc.
4858
4859         * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
4860         a PLTxx reloc as dynamic.  Disallow PLTxxO reloc against a local
4861         symbol for now, otherwise always record the symbol as dynamic.
4862         (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
4863         is not referenced by a dynamic object, and we are not making a
4864         shared object, then don't make a PLT entry.  If we do make a PLT
4865         entry, make sure the symbol has been recorded as dynamic.
4866
4867 Wed Feb  7 13:56:06 1996  Ian Lance Taylor  <ian@cygnus.com>
4868
4869         * configure.host: When making a shared library, set HLDFLAGS to
4870         pass an appropriate -rpath option.  Use the make variable SONAME
4871         as the shared library soname, rather than computing it here.  On
4872         SunOS, build stamp-tshlink in place of $(SHLINK).
4873         * Makefile.in (SONAME): New variable.
4874         ($(SHLINK)): Make a link to the transformed name, as well.
4875         (stamp-tshlink): New target.
4876         (install): Skip stamp-tshlink during install.
4877
4878 Wed Feb  7 13:37:39 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4879
4880         * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
4881         linker sections have been set up yet.
4882
4883         * elf.c (make_mapping): Add an additional argument to suppress
4884         making the first section include the program headers.
4885         (map_sections_to_segments): If the user used -Ttext such that the
4886         program headers are on a different page, do not set the flags
4887         saying that this section includes the program headers.
4888
4889 Tue Feb  6 14:04:49 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
4890
4891         * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
4892         don't define TRAD_HEADER.
4893         * configure: Rebuild.
4894
4895         * netbsd-core.c: New file, support for NetBSD core files.
4896         * hosts/*nbsd.h: Removed.
4897
4898 Tue Feb  6 11:47:49 1996  Doug Evans  <dje@charmed.cygnus.com>
4899
4900         * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
4901         (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
4902         * libbfd.h, bfd-in2.h: Regenerated.
4903         * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
4904         bfd_elf32_bfd_reloc_type_lookup.
4905         (reloc_type{,_names}): Deleted.
4906         (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
4907         Add sparc64 relocs.
4908         (sparc_reloc_map): Add sparc64 relocs.
4909         (sparc_elf_notsupported_reloc): New static function.
4910         (sparc_elf_wdisp16_reloc): New static function.
4911         (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
4912         (elf32_sparc_relocate_section): Likewise.
4913         (bfd_elf32_bfd_reloc_type_lookup): Define.
4914         * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
4915         (reloc_type{,_names}): Deleted.
4916         (elf_sparc_howto_table): Deleted.
4917         (sparc_reloc_map): Deleted.
4918         (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
4919         (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
4920
4921 Tue Feb  6 12:12:22 1996  Ian Lance Taylor  <ian@cygnus.com>
4922
4923         * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
4924         *-*-hpux* host.
4925
4926         * Makefile.in (program_transform_name): New variable.
4927         (install): Transform library name before installing it.
4928
4929 Mon Feb  5 10:38:27 1996  Ian Lance Taylor  <ian@cygnus.com>
4930
4931         * archures.c (bfd_mach_i960_hx): Define.
4932         * bfd-in2.h: Rebuild.
4933         * cpu-i960.c (scan_960_mach): Accept machine "hx".
4934         (MATRIX): Expand entries for HX.
4935         (arch_info_struct): Add i960:hx entry.
4936         * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
4937         * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
4938         (coff_set_flags): Handle bfd_mach_i960_hx.
4939
4940         Support for building as a shared library, based on patches from
4941         Alan Modra <alan@spri.levels.unisa.edu.au>:
4942         * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
4943         New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
4944         SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
4945         * configure: Rebuild.
4946         * configure.host: If --enable-shared, adjust shared library stuff
4947         based on the host.  If the host is SunOS, and the linker supports
4948         -rpath, set HLDFLAGS to use it.
4949         * Makefile.in (ALLLIBS): New variable.
4950         (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
4951         (COMMON_SHLIB, SHLINK): New variables.
4952         (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
4953         (STAGESTUFF): Remove variable.
4954         (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
4955         $(TARGETLIB).
4956         (stamp-ofiles): New target, like old ofiles target, but build
4957         using a temporary file and move-if-change, and touch stamp-ofiles
4958         when done.
4959         (ofiles): Just depend upon stamp-ofiles.
4960         (stamp-piclist, piclist): New targets.
4961         ($(SHLIB), $(SHLINK)): New targets.
4962         (targets.o, archures.o): Build twice if PICFLAG is set.
4963         (do_mostlyclean): Remove pic/*.o.
4964         (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
4965         stamp-piclist.
4966         (do_distclean): Remove pic and stamp-picdir.
4967         (install): Install shared libraries.
4968         ($(OFILES)): Depend upon stamp-picdir.
4969         (stamp-picdir): New target.
4970
4971         * libcoff-in.h: Add comment reminding people that libcoff.h is a
4972         generated file.
4973         * libcoff.h: Rebuild.
4974
4975         * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
4976         flavour of a section with no owner.
4977
4978         * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
4979         ELF_LINK_NON_ELF flag.
4980         (mips_elf_create_got_section): Likewise.
4981
4982         * elf.c: Revert last change, since it breaks dynamic linking.
4983         * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
4984         field.
4985         * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
4986         * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
4987         (elfNN_bed): Don't initialize want_hdr_in_seg field.
4988
4989 Sun Feb  4 20:45:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4990
4991         * elf.c (assign_file_positions_for_segments): If the backend does
4992         not want the elf header or the program headers in the address
4993         space, do not include them in the calculations.
4994
4995         * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
4996         function to determine if we need additional program headers.
4997         (ppc_elf_modify_segment_map): Define as a NOP function for now.
4998         (ppc_elf_create_linker_section): .sdata2 is a read-only section.
4999
5000 Sat Feb  3 23:00:03 1996  Ian Lance Taylor  <ian@cygnus.com>
5001
5002         * coffcode.h: Move today's libcoff.h change into coffcode.h.
5003
5004 Sat Feb  3 15:43:44 1996  Fred Fish  <fnf@cygnus.com>
5005
5006         * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
5007         back into one line.  Some compilers (sunos 4.1.3 for example)
5008         won't accept args split across more than one line.
5009
5010 Fri Feb  2 11:42:15 1996  Steve Chamberlain  <sac@slash.cygnus.com>
5011
5012         * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
5013         * configure: Regenerate.
5014
5015 Fri Feb  2 12:12:16 1996  Jeffrey A Law  (law@cygnus.com)
5016
5017         * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
5018         try to do arithmetic on a void *, cast it to a unsigned char * first.
5019
5020 Thu Feb  1 16:04:06 1996  Ian Lance Taylor  <ian@cygnus.com>
5021
5022         * elf-bfd.h (ELF_LINK_NON_ELF): Define.
5023         * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
5024         ELF_LINK_NON_ELF.
5025         * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
5026         flag for a newly defined symbol.
5027         (NAME(bfd_elf,record_link_assignment)): Likewise.
5028         (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
5029         set the DEF or REF_REGULAR flags correctly.
5030
5031         * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
5032         (libbfd.h, libcoff.h): Corresponding change.
5033
5034         * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
5035         a PLT32 reloc as dynamic.
5036         (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
5037         is not referenced by a dynamic object, and we are not making a
5038         shared object, then don't make a PLT entry.  If we do make a PLT
5039         entry, make sure the symbol has been recorded as dynamic.
5040
5041 Wed Jan 31 17:23:32 1996  Steve Chamberlain  <sac@slash.cygnus.com>
5042
5043         * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
5044         * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
5045         (powerpcle-*-cygwin32): New.
5046         * peicode.h (add_data_entry): Get address from vma.
5047
5048 Wed Jan 31 16:23:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5049
5050         * elflink.c (_bfd_elf_create_linker_section): If the symbol
5051         attached to the section has already been created as an undefined
5052         symbol, treat it as if it hasn't been created yet.
5053
5054 Wed Jan 31 16:16:53 1996  Ian Lance Taylor  <ian@cygnus.com>
5055
5056         * elflink.h (elf_bfd_final_link): Don't output initial dummy
5057         symbol or section symbols if stripping all symbols and this is not
5058         a relocateable link.  Don't output the symbol string table if
5059         there are no symbols.
5060         (elf_link_flush_output_syms): Don't do anything if there are no
5061         symbols to flush.
5062
5063 Wed Jan 31 12:55:49 1996  Richard Henderson  <rth@tamu.edu>
5064
5065         * coff-aux.c: New file.
5066         * hosts/m68kaux.h: New file.
5067         * config.bfd (m68*-apple-aux*): New target.
5068         * configure.in (m68*-apple-aux*): New native host.
5069         (m68kaux_coff_vec): New vector.
5070         * configure: Rebuild.
5071         * targets.c (m68kaux_coff_vec): Declare.
5072         * coffcode.h (bfd_coff_backend_data): Add field
5073         _bfd_coff_link_add_one_symbol.
5074         (bfd_coff_link_add_one_symbol): Define.
5075         (compare_arelent_ptr): New static function if TARG_AUX.
5076         (coff_write_relocs): If TARG_AUX, sort the relocs.
5077         (coff_write_object_contents): Set A/UX aouthdr magic number.
5078         (coff_link_add_one_symbol): Define if not defined.
5079         (bfd_coff_std_swap_table): Initialize new field.
5080         * libcoff.h: Rebuild.
5081         * cofflink.c (coff_link_add_symbols): Call
5082         bfd_coff_link_add_one_symbol rather than
5083         _bfd_generic_link_add_one_symbol.
5084         * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
5085         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
5086         * coff-mips.c (mips_ecoff_backend_data): Likewise.
5087         * Makefile.in: Rebuild dependencies.
5088         (BFD32_BACKENDS): Add coff-aux.o.
5089         (BFD32_BACKENDS_CFILES): Add coff-aux.c.
5090
5091 Wed Jan 31 11:37:46 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5092
5093         * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
5094         relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
5095
5096 Tue Jan 30 12:09:04 1996  Ian Lance Taylor  <ian@cygnus.com>
5097
5098         * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
5099         $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
5100         (maintainer-clean): Warn about deleting special files.
5101         (bfd-in2.h, libbfd.h, libcoff.h): New targets.
5102
5103         * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
5104         warning symbols correctly.
5105         * elf32-i386.c (elf_i386_relocate_section): Likewise.
5106         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
5107         * elf32-mips.c (mips_elf_relocate_section): Likewise.
5108         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
5109         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5110         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5111
5112         * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
5113         warnings.
5114
5115 Mon Jan 29 14:27:24 1996  Kim Knuttila  <krk@cygnus.com>
5116
5117         * libcoff-in.h: aligned newly exported names with bfd naming
5118         conventions. Removed an erroneous define of POWERPC_LE_PE.
5119         * libcoff.h: Rebuild.
5120         * cofflink.c, coff-ppc.c: the above function name changes
5121
5122 Mon Jan 29 13:06:28 1996  Ian Lance Taylor  <ian@cygnus.com>
5123
5124         From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
5125         * ecoff.c (struct extsym_info): Define.
5126         (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
5127         to ecoff_link_write_external.
5128         (ecoff_link_write_external): Accept a struct extsym_info pointer.
5129         Strip symbols when appropriate.
5130
5131         Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
5132         * syms.c (BSF_OBJECT): Define.
5133         (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
5134         * bfd-in2.h: Rebuild.
5135         * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
5136         STT_OBJECT symbol.
5137         * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
5138         is set.
5139
5140         * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
5141         copying relocs into a shared object, treat a defined global symbol
5142         as a local symbol.
5143         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
5144         * elf32-mips.c (mips_elf_relocate_section): Likewise.
5145         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5146
5147         * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
5148         real defined symbol, not to a weak defined symbol.
5149
5150 Mon Jan 29 11:34:36 1996  Kim Knuttila  <krk@cygnus.com>
5151
5152         * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
5153         and made a few static functions externs.
5154
5155         * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
5156         POWERPC_LE_PE hack in cofflink.
5157
5158         * libcoff-in.h: promoted the following from cofflink.c to allow
5159         _bfd_coff_final_link to be overridden -  STRING_SIZE_SIZE,
5160         coff_debug_merge_element, struct coff_debug_merge_type,
5161         coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
5162         coff_debug_merge_hash_table_init,  coff_debug_merge_hash_table_free,
5163         coff_debug_merge_hash_lookup, coff_link_section_info,
5164         coff_final_link_info, coff_debug_merge_hash_newfunc,
5165         coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
5166
5167         * libcoff.h: re-gen'd
5168
5169 Fri Jan 26 18:33:35 1996  Ian Lance Taylor  <ian@cygnus.com>
5170
5171         * syms.c: Include "bfdlink.h".
5172         (struct stab_find_info): Define.
5173         (_bfd_stab_section_find_nearest_line): New function.
5174         * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
5175         * libbfd.h: Rebuild.
5176         * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
5177         * elf.c (_bfd_elf_find_nearest_line): Try calling
5178         _bfd_stab_section_find_nearest_line before searching the ELF
5179         symbol table.  Find the closest STT_FUNC symbol, not the last one.
5180         * libcoff-in.h (coff_data_type): Add line_info field.
5181         * libcoff.h: Rebuild.
5182         * coffgen.c (coff_find_nearest_line): Try calling
5183         _bfd_stab_section_find_nearest_line before searching the COFF
5184         symbol table.
5185         * Makefile.in: Rebuild dependencies.
5186
5187 Fri Jan 26 16:11:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5188
5189         * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
5190         4 bytes, so we get the correct value when updating the register
5191         field in little endian mode.
5192
5193 Thu Jan 25 12:14:16 1996  Ian Lance Taylor  <ian@cygnus.com>
5194
5195         * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
5196         entry_section fields.  Add sntoc and snentry fields.
5197         * libcoff.h: Rebuild.
5198         * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
5199         not toc_section and entry_section (the COFF file does not have any
5200         sections at this point).
5201         (coff_write_object_contents): Set o_snentry and o_sntoc from
5202         snentry and sntoc rather than entry_section and toc_section.
5203         * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
5204         snentry, not toc_section and entry_section.
5205         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
5206         entry_section from hentry.
5207         (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
5208         set snenty.
5209         (xcoff_link_input_bfd): Set sntoc, not toc_section.
5210         (xcoff_write_global_symbol): Get toc_section from sntoc, rather
5211         than using toc_section directly.
5212
5213         * archures.c: Add missing `.' in enum bfd_architecture.
5214         * bfd-in2.h: Rebuild.
5215
5216         * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec.  From
5217         Robert Lipe <robertl@arnet.com>.
5218
5219 Thu Jan 25 12:08:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5220
5221         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
5222         to sections we allocate.  Use bfd_zalloc to allocate initialial
5223         sections, not bfd_alloc.
5224         (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
5225         SDA{,2}I16 relocations.
5226         (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
5227         whether to put something in .sbss or not.
5228         (ppc_elf_relocate_section): Add support for more relocations.  Add
5229         in sec->output_offset where appropriate.  Make error messages
5230         include the symbol name.
5231
5232         * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
5233         trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
5234         doesn't get redefined messages if -shared.
5235
5236         * elflink.h (elf_create_pointer_linker_section) Only bump RELA
5237         section if the rel_section field has been set up.
5238
5239 Wed Jan 24 20:40:26 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5240
5241         * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
5242         relocations.
5243
5244 Wed Jan 24 10:38:34 1996  Doug Evans  <dje@charmed.cygnus.com>
5245
5246         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
5247         of flags, only flags used are controlled by mach number.  Bump up
5248         output file mach number to highest of input file mach numbers.
5249         (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
5250         (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
5251
5252         * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
5253         bfd_elf64_sparc_vec support.
5254
5255 Tue Jan 23 14:33:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5256
5257         * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
5258         the embedded bit is set on some objects and not on others.  Just
5259         or it together.
5260         (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
5261         relocations.
5262
5263 Tue Jan 23 14:22:45 1996  Ian Lance Taylor  <ian@cygnus.com>
5264
5265         * coffcode.h (coff_new_section_hook): Don't try to align the
5266         .stabstr section.
5267
5268         * coffcode.h (coff_set_section_contents): Fix the handling of the
5269         .lib section to work even if the entire section contents are
5270         written at once.  From Gvran Uddeborg <gvran@uddeborg.pp.se> and
5271         Robert Lipe <robertl@arnet.com>.
5272
5273 Mon Jan 22 18:45:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5274
5275         * elflink.h (elf_finish_pointer_linker_section): Don't allocate
5276         memory here for contents.
5277
5278         * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
5279         _SDA2_BASE_ by 32768.
5280         (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
5281         started using.  Allocate contents for .sdata and .sdata2 sections
5282         also.
5283         (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
5284         rather than _name.
5285         (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
5286         size _SDA{,2}_BASE_.
5287         (ppc_elf_relocate_section): Change how sdata{,2} relocations are
5288         done.
5289
5290 Mon Jan 22 08:52:04 1996  Doug Evans  <dje@charmed.cygnus.com>
5291
5292         * elflink.h (elf_finish_pointer_linker_section): Fix typo.
5293
5294         * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
5295         (bfd_mach_sparc_{v8plus,v8plusa}): Define.
5296         (bfd_mach_sparc_v9a): Define.
5297         (bfd_mach_sparc_v9_p): Define.
5298         * bfd-in2.h: Regenerated.
5299         * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
5300         bfd_mach_sparc_v9.
5301         * elf64-sparc.c (sparc64_elf_object_p): Likewise.
5302         * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
5303         to bfd_elf32_sparc_vec.
5304         * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
5305         Add v8plus{,a} support.
5306         Add v9a support.
5307         (sparc_compatible): New function.
5308         * elf32-sparc.h: #include "elf/sparc.h".
5309         (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
5310         elf32_sparc_final_write_processing): New functions.
5311         (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
5312         elf_backend_final_write_processing): Define.
5313
5314 Mon Jan 22 11:21:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5315
5316         * elf-bfd.h (struct elf_link_hash_entry): Add
5317         linker_section_pointer field.
5318         (enum elf_linker_section_enum): Enumeration for new way of
5319         creating linker dynamic sections and symbols.
5320         (elf_linker_section{,_pointers}): New structures for creating
5321         dynamic sections and symbols.
5322         (elf_obj_tdata): Add linker_section_pointers and linker_section
5323         fields.
5324         (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
5325         (_bfd_elf_create_linker_section): New declarations.
5326         (_bfd_elf_find_pointer_linker_section): Ditto.
5327         (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
5328         (_bfd_elf_make_linker_section_rela): Ditto.
5329
5330         * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
5331
5332         * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
5333         (ppc_elf_create_linker_section): New function to create the
5334         sections .got, .sdata, and .sdata2.
5335         (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
5336         needed.
5337         (ppc_elf_check_relocs): Support more of the eabi relocations.
5338         (ppc_elf_relocate_section): Ditto.
5339         (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
5340         if the .sdata{,2} + .sbss{,2} section size is > 32k.
5341
5342         * elflink.h (elf_create_pointer_linker_section): New function to
5343         create initialized pointers in dynamic linker sections.
5344         (elf_finish_pointer_linker_section): Actually intialize the
5345         pointers created above.
5346
5347         * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
5348         macros to provide both 32 and 64 bit versions of
5349         elf_create_pointer_linker_section.
5350         (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
5351         provide both 32 and 64 bit versions of
5352         elf_finish_pointer_linker_section.
5353
5354         * elflink.c (_bfd_elf_create_linker_section): New function to
5355         create a linker section.
5356         (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
5357         given address in the linker pointer offsets created for a given
5358         symbol.
5359         (_bfd_elf_make_linker_section_rela): Make a RELA section
5360         corresponding to the generated linker section.
5361
5362 Sat Jan 20 08:36:10 1996  Doug Evans  <dje@canuck.cygnus.com>
5363
5364         * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
5365
5366 Thu Jan 18 18:25:34 1996  Kim Knuttila  <krk@cygnus.com>
5367
5368         * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
5369         (coff_ppc_relocate_section): Handle special values for gcc built dlls.
5370         (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
5371         Also begin the toc at 4 as an eye catcher ('31313131' marks the first
5372         toc entry in an objdump) for now.
5373         (ppc_do_last, ppc_get_last): New function - needed to save processing
5374         the toc owner to the end.
5375         (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
5376         toc owner last.
5377
5378         * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
5379         toc owner from being done till last. Must define POWERPC_LE_PC
5380         to enable it.
5381
5382         * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
5383
5384         * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
5385         to INFO.
5386         (coff_swap_aouthdr_out): Removed a non-working hack for computing the
5387         SizeOfImage for PowerPC. Ignore the size of the .junk section.
5388
5389 Thu Jan 18 17:42:12 1996  Ian Lance Taylor  <ian@cygnus.com>
5390
5391         * elfcore.h: Include <signal.h> before <sys/procfs.h>.
5392
5393 Wed Jan 17 12:40:14 1996  Ian Lance Taylor  <ian@cygnus.com>
5394
5395         * cpu-powerpc.c (arch_info_struct): Change last entry to not point
5396         back to first.
5397         (bfd_powerpc_arch): Point at first entry in arch_info_struct.
5398
5399 Tue Jan 16 15:10:49 1996  Ian Lance Taylor  <ian@cygnus.com>
5400
5401         * elf.c (assign_file_positions_for_segments): Don't increment file
5402         offset for a segment which contains no loadable sections.
5403
5404 Mon Jan 15 17:46:27 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5405
5406         * reloc.c: Add new PowerPC relocations.
5407         * {bfd-in2,libbfd}.h: Regenerate.
5408
5409         * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
5410         (ppc_elf_reloc_type_lookup): Lookup new relocations.
5411
5412 Mon Jan 15 14:29:44 1996  Ian Lance Taylor  <ian@cygnus.com>
5413
5414         * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
5415         entries.
5416
5417         * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
5418         info->shared.
5419
5420         * coffgen.c (coff_find_nearest_line): Don't try to cache
5421         information in sections that are not owned by a BFD.  From Richard
5422         Henderson <richard@atheist.tamu.edu>.
5423
5424         * elf32-mips.c: Numerous changes to dynamic linking code, mostly
5425         from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
5426         * elflink.h (elf_link_output_extsym): Remove special check for
5427         _rld_new_interface.
5428
5429         * ecoffswap.h: Add prototypes for static functions.
5430
5431 Sun Jan 14 21:36:08 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5432
5433         * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
5434         (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
5435         references.
5436         (ppc_elf_relocate_section):  No longer allow .sdata/.sbss sections
5437         to satisfy a TOC16 relocation.  Rewrite unsupported relocation
5438         support.  Begin support for R_PPC_SDA{2,}REL.
5439
5440 Sat Jan 13 09:36:52 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5441
5442         * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
5443         create the .got and .got.neg sections.
5444         (ppc_elf_size_dynamic_sections): Call it.
5445         (ppc_elf_check_relocs): Call it.
5446         (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
5447         (ppc_elf_check_relocs): Add error messages for relocations we
5448         don't yet support.  Do not include R_PPC_SDAREL16 like a GOT
5449         relocation.
5450
5451 Fri Jan 12 15:27:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5452
5453         * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
5454         section flags for V.4 and eabi.
5455
5456 Fri Jan 12 13:59:16 1996  Ian Lance Taylor  <ian@cygnus.com>
5457
5458         * elf.c (assign_file_positions_for_segments): If a segment
5459         contains no sections, don't mark it as readable.
5460
5461         * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
5462         * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
5463
5464         * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
5465         dynamic section, if there is one.
5466         * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
5467         (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
5468         (bfd_elf64_swap_dyn_in): Likewise.
5469         * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
5470         PTR.
5471         (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
5472
5473         * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
5474         DT_TEXTREL entry because of .rel.plt.  From Martin Pirker
5475         <pirker@eiunix.tuwien.ac.at>.
5476
5477 Thu Jan 11 17:06:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5478
5479         * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
5480         PowerPC V.4 and eabi.
5481         * bfd-in2.h: Regenerate.
5482         * libfd.h: Regenerate.
5483
5484         * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
5485
5486         * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
5487         section type and SHF_EXCLUDE section flag, turning them into the
5488         appropriate bfd section flag.
5489
5490 Thu Jan 11 11:23:30 1996  Ian Lance Taylor  <ian@cygnus.com>
5491
5492         * xcofflink.c (xcoff_link_add_symbols): Create the special
5493         sections if we see a DYNAMIC object, in case that is the only
5494         XCOFF input object we see.
5495
5496         * elf32-mips.c: Extensive changes for a start at dynamic linking
5497         support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
5498
5499         * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
5500         (struct elf_backend_data): Remove
5501         elf_backend_create_program_headers field.  Add
5502         elf_backend_additional_program_headers and
5503         elf_backend_modify_segment_map fields.
5504         * elfxx-target.h (elf_backend_type_change_ok): Define if not
5505         defined.
5506         (elf_backend_additional_program_headers): Likewise.
5507         (elf_backend_modify_segment_map): Likewise.
5508         (elf_backend_create_program_headers): Don't define.
5509         (elfNN_bed): Change to account for field changes.
5510         * elf.c (assign_file_positions_for_segments): Call new
5511         modify_segment_map backend function.  Don't call old
5512         create_program_headers backend function.
5513         (get_program_header_size): Call additional_program_headers rather
5514         than create_program_headers.
5515         * elflink.h (elf_link_add_object_symbols): Initialize
5516         type_change_ok from new backend field.
5517         (elf_link_output_extsym): Don't warn if _rld_new_interface is
5518         defined.
5519         (elf_reloc_link_order): Treat a reloc against a defined symbol as
5520         a reloc against the appropriate section.
5521
5522         * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
5523         (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
5524         (elf_flags_init): Rename from elf_ppc_flags_init.
5525         * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
5526         elf_ppc_flags_init.
5527         (ppc_elf_copy_private_bfd_data): Likewise.
5528         (ppc_elf_merge_private_bfd_data): Likewise.
5529
5530         * elf32-m68k.c (howto_table): Change src_mask to 0 for all
5531         relocation entries.
5532
5533 Tue Jan  9 15:22:53 1996  David Mosberger-Tang  <davidm@azstarnet.com>
5534
5535         * coff-alpha.c (alpha_relocate_section): During final link, allow
5536         output .lita section to be bigger than 64k by adjusting gp value
5537         on a per-input section basis.
5538         * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
5539         field.
5540         (struct ecoff_section_tdata): Add gp field.
5541
5542 Tue Jan  9 12:00:36 1996  Ian Lance Taylor  <ian@cygnus.com>
5543
5544         Handle Alpha ECOFF changes in OSF/1 3.2.
5545         * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
5546         field.
5547         * coff-alpha.c: Include "aout/ar.h".
5548         (alpha_ecoff_get_relocated_section_contents): Don't require an
5549         ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
5550         3.2 doesn't generate one.
5551         (alpha_relocate_section): Likewise.
5552         (alpha_ecoff_slurp_armap): Define.
5553         (alpha_ecoff_slurp_extended_name_table): Define.
5554         (alpha_ecoff_construct_extended_name_table): Define.
5555         (alpha_ecoff_truncate_arname): Define.
5556         (alpha_ecoff_write_armap): Define.
5557         (alpha_ecoff_generic_stat_arch_elt): Define.
5558         (alpha_ecoff_update_armap_timestamp): Define.
5559         (ARFZMAG): Define.
5560         (alpha_ecoff_read_ar_hdr): New static function.
5561         (alpha_ecoff_get_elt_at_filepos): New static function.
5562         (alpha_ecoff_openr_next_archived_file): New static function.
5563         (alpha_ecoff_get_elt_at_index): New static function.
5564         (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
5565         (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
5566         _bfd_ecoff to alpha_ecoff.
5567         * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
5568         field from backend structure, rather than always calling
5569         _bfd_get_elt_at_filepos.
5570         * coff-mips.c (mips_ecoff_backend_data): Initialize
5571         get_elt_at_filepos field.
5572         * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
5573         from _bfd_generic_read_ar_hdr with minor changes.
5574         (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
5575         * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
5576         * libbfd.h: Rebuild.
5577
5578         * bfd-in.h (BFD_IN_MEMORY): Define.
5579         * libbfd-in.h (struct bfd_in_memory): Define.
5580         * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
5581         (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
5582         (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
5583         (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
5584         * bfd.c (struct _bfd): Change iostream field from char * to PTR.
5585         (bfd_get_size): Handle BFD_IN_MEMORY flag.
5586         * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
5587         (bfd_open_file): Cast to PTR, not char *, when setting iostream.
5588         (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
5589         * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
5590         iostream.
5591         (bfd_openstreamr): Likewise.
5592         * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
5593         BFD_IN_MEMORY is not set.
5594         * riscix.c (riscix_some_aout_object_p): Likewise.
5595         * bfd-in2.h, libbfd.h: Rebuild.
5596
5597         * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
5598         (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
5599         (bfd_get_elt_at_index): Define.
5600         * archive.c (_bfd_generic_get_elt_at_index): Rename from
5601         bfd_get_elt_at_index.  Change index parameter from int to
5602         symindex.
5603         * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
5604         (_bfd_noarchive_get_elt_at_index): Define.
5605         (_bfd_archive_bsd_get_elt_at_index): Define.
5606         (_bfd_archive_coff_get_elt_at_index): Define.
5607         * bfd-in2.h, libbfd.h: Rebuild.
5608         * aout-target.h (MY_get_elt_at_index): Define if not defined.
5609         * coff-rs6000.c (xcoff_get_elt_at_index): Define.
5610         * ieee.c (ieee_get_elt_at_index): Define.
5611         * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
5612         * oasys.c (oasys_get_elt_at_index): Define.
5613         * som.c (som_get_elt_at_index): Define.
5614
5615         * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
5616         numbers to the .text section.
5617
5618 Mon Jan  8 17:00:57 1996  Ian Lance Taylor  <ian@cygnus.com>
5619
5620         * ieee.c (ieee_write_debug_part): Change return type to boolean.
5621         If there is a SEC_DEBUGGING section, get the contents of the debug
5622         information part from it.
5623         (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
5624         section in memory.
5625         (ieee_write_object_contents): Check ieee_write_debug_part return.
5626
5627 Thu Jan  4 17:12:37 1996  Fred Fish  <fnf@cygnus.com>
5628
5629         * config.bfd (i[345]86-*-freebsd*): Add target.
5630         * configure.in (i386freebsd_vec): Add vec.
5631         * configure: Regenerate.
5632         * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
5633         (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
5634         Rebuild dependencies..
5635         * freebsd.h: New file.
5636         * i386freebsd.c: New file.
5637         * targets.c (i386freebsd_vec): Declare.
5638         (bfd_target_vector): Add i386freebsd_vec.
5639         * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
5640         * i386netbsd.c (SEGMENT_SIZE):  Define as TARGET_PAGE_SIZE
5641
5642 Thu Jan  4 16:27:46 1996  Ian Lance Taylor  <ian@cygnus.com>
5643
5644         * ieee.c (ieee_slurp_debug): New static function.
5645         (ieee_object_p): Call it.
5646         (ieee_slurp_section_data): Skip debugging sections.
5647         (ieee_get_reloc_upper_bound): Likewise.
5648         (ieee_get_section_contents): Likewise.
5649         (ieee_canonicalize_reloc): Likewise.
5650         (ieee_write_section_part): Likewise.
5651         (ieee_write_debug_part): Likewise.
5652         (ieee_write_data_part): Likewise.
5653         (init_for_output): Likewise.
5654
5655 Wed Jan  3 19:42:47 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
5656
5657         * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
5658         work.
5659         (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
5660         relocs, since ppc_elf_relocate_section handles the linker case.
5661         (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
5662         used.
5663         (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
5664         ppc_elf_relocate_section since that is now the only caller.
5665         (ppc_elf_relocate_section): Ditto.
5666
5667 Wed Jan  3 15:11:30 1996  Ian Lance Taylor  <ian@cygnus.com>
5668
5669         * coffcode.h (coff_write_object_contents): If we don't know the
5670         section of the entry point for an XCOFF executable, always set the
5671         entry address to -1.
5672
5673 Tue Jan  2 14:17:15 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5674
5675         * elf.c (bfd_section_from_shdr): Add support for note sections.
5676
5677 Tue Jan  2 13:10:25 1996  Ian Lance Taylor  <ian@cygnus.com>
5678
5679         * bfd-in.h (struct _symbol_info): Add stab_type field.
5680         * bfd-in2.h: Rebuild.
5681         * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
5682
5683         * elf32-ppc.c: Remove trailing newline from calls to
5684         _bfd_error_handler.
5685         (ppc_elf_merge_private_bfd_data): Only warn about endianness
5686         difference if target endianness is known.
5687
5688 Thu Dec 21 12:43:49 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5689
5690         * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
5691         old style TOC16 references without using R_PPC_GOT.
5692         (ppc_reloc_type): Ditto.
5693         (ppc_elf_reloc_type_lookup): Add support for TOC16.
5694         (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
5695         (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
5696         (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
5697         (ppc_elf_check_relocs): New function for GOT/PLT support that is
5698         work in progress.
5699         (ppc_elf_adjust_dynamic_symbol): Ditto.
5700         (ppc_elf_adjust_dynindx): Ditto.
5701         (ppc_elf_size_dynamic_sections): Ditto.
5702         (ppc_elf_finish_dynamic_symbol): Ditto.
5703         (ppc_elf_finish_dynamic_sections): Ditto.
5704         (ELF_DYNAMIC_INTERPRETER): Define.
5705
5706 Wed Dec 20 19:14:18 1995  Ken Raeburn  <raeburn@cygnus.com>
5707
5708         * elf.c (copy_private_bfd_data): When attaching sections to
5709         segments ignore sections that won't be allocated.  Patch from
5710         Andreas Schwab.
5711
5712 Tue Dec 19 20:01:43 1995  Ken Raeburn  <raeburn@cygnus.com>
5713
5714         * config.bfd: Match on m68k-cbm-* only if OS doesn't match
5715         anything else.
5716
5717 Tue Dec 19 16:38:59 1995  Ian Lance Taylor  <ian@cygnus.com>
5718
5719         * coff-i960.c (CALC_ADDEND): Define.
5720         (coff_i960_relocate_section): Add the input section VMA to the
5721         addend for PC relative relocs.
5722
5723 Sun Dec 17 20:11:55 1995  Kim Knuttila  <krk@cygnus.com>
5724
5725         * peicode.h (pe_print_pdata): Must test the entire entry for zero
5726         to correctly terminate.
5727
5728 Fri Dec 15 12:05:57 1995  Ian Lance Taylor  <ian@cygnus.com>
5729
5730         * targets.c (enum bfd_endian): Define.
5731         (bfd_target): Rename byteorder_big_p to byteorder, and change it
5732         from boolean to enum bfd_endian.  Change header_byteorder_big_p
5733         correspondingly.
5734         * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
5735         (bfd_header_big_endian, bfd_header_little_endian): New macros.
5736         * bfd-in2.h: Rebuild.
5737         * All targets: Change initialization of byteorder and
5738         header_byteorder to use enum bfd_endian values rather than
5739         booleans.
5740         * All files: Change all references to byteorder_big_p and
5741         header_byteorder_big_p to use new bfd_*_endian macros.
5742
5743         * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
5744         s_vaddr.
5745         * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
5746         vma.
5747         * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
5748
5749 Fri Dec 15 07:32:09 1995  steve chamberlain  <sac@slash.cygnus.com>
5750
5751         * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
5752
5753 Thu Dec 14 13:45:37 1995  Ian Lance Taylor  <ian@cygnus.com>
5754
5755         * ieee.c: Lots of minor cleanups.  Make many functions return
5756         errors rather than calling abort.  Also:
5757         (ieee_write_twobyte): Remove; change callers to call existing
5758         ieee_write_2bytes function.
5759         (ieee_write_expression): Don't output the section twice when
5760         outputting a local symbol.  Don't emit an extraneous zero if there
5761         is only one term.
5762         (ieee_slurp_sections): Set the lma as well as the vma.
5763         (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
5764
5765         * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
5766         a recognized one or bfd_arch_unknown.
5767         (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
5768         to succeed.
5769         (ihex_get_symtab): Likewise.
5770
5771 Wed Dec 13 15:44:06 1995  Ian Lance Taylor  <ian@cygnus.com>
5772
5773         * aoutx.h: Include <ctype.h>.
5774         (struct aout_link_includes_table): Define.
5775         (struct aout_link_includes_totals): Define.
5776         (struct aout_link_includes_entry): Define.
5777         (aout_link_includes_lookup): Define macro.
5778         (struct aout_final_link_info): Add includes field.
5779         (aout_link_includes_newfunc): New static function.
5780         (NAME(aout,final_link)): Initialize includes hash table.
5781         (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
5782
5783 Wed Dec 13 10:52:14 1995  Stan Shebs  <shebs@andros.cygnus.com>
5784
5785         * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
5786
5787 Wed Dec 13 11:07:45 1995  Kim Knuttila  <krk@cygnus.com>
5788
5789         * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
5790
5791 Tue Dec 12 17:42:06 1995  Kim Knuttila  <krk@cygnus.com>
5792
5793         * peicode.h (pe_print_reloc): New function to dump the .reloc section.
5794         (pe_print_private_bfd_data): call pe_print_reloc.
5795         * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
5796         * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
5797         up some debugging as well.
5798
5799 Tue Dec 12 11:34:23 1995  Ian Lance Taylor  <ian@cygnus.com>
5800
5801         * config.bfd: Handle sparc-*-elf*.  From Ronald F. Guilmette
5802         <rfg@monkeys.com>.
5803
5804 Fri Dec  8 17:47:07 1995  Ian Lance Taylor  <ian@cygnus.com>
5805
5806         * elflink.h (elf_link_add_object_symbols): Set section_count to 0
5807         when setting sections to NULL.
5808
5809 Wed Dec  6 17:05:37 1995  Ian Lance Taylor  <ian@cygnus.com>
5810
5811         * xcofflink.c (struct xcoff_loader_info): Add export_defineds
5812         field.
5813         (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
5814         (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
5815         for all symbols.
5816         * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
5817         * bfd-in2.h: Rebuild.
5818
5819 Mon Dec  4 16:40:47 1995  Kim Knuttila  <krk@cygnus.com>
5820
5821         * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
5822
5823 Mon Dec  4 11:25:39 1995  Ian Lance Taylor  <ian@cygnus.com>
5824
5825         * ihex.c (ihex_scan): Handle record types 4 and 5.
5826         (ihex_object_p): Permit types 4 and 5.
5827         (ihex_set_section_contents): Remove check for out of range
5828         addresses.
5829         (ihex_write_object_contents): Generate types 4 and 5.
5830
5831         * elflink.h (elf_link_output_extsym): Just ignore warning and
5832         indirect references to symbols which don't really exist.
5833
5834 Sun Dec  3 19:00:27 1995  Kim Knuttila  <krk@cygnus.com>
5835
5836         * peicode.h (pe_print_idata): Minor format fixes
5837         (pe_print_edata): New function. Under private printing, this formats
5838         the edata section of a PE file.
5839         (pe_print_private_bfd_data): Added call to pe_print_edata.
5840
5841 Sun Dec  3 16:46:54 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
5842
5843         * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
5844         index, don't call stoi.
5845
5846 Fri Dec  1 14:46:51 1995  Ian Lance Taylor  <ian@cygnus.com>
5847
5848         * srec.c (srec_scan): Set lma as well as vma.
5849
5850         * ihex.c: New file; support for Intel Hex format.
5851         * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
5852         (ihex_vec): Declare.
5853         (bfd_target_vector): Always include ihex_vec.
5854         * bfd.c (struct _bfd): Add ihex_data field to tdata union.
5855         * Makefile.in: Rebuild dependencies.
5856         (BFD_LIBS): Add ihex.o
5857         (BFD_LIBS_CFILES): Add ihex.c.
5858         * bfd-in2.h: Rebuild.
5859
5860         * elf.c (assign_file_positions_for_segments): Sort the sections in
5861         each segment.
5862         (get_program_header_size): Return the right size if segment_map is
5863         not NULL.
5864         (copy_private_bfd_data): Don't bother to sort the sections.
5865
5866         * bfd.c (bfd_record_phdr): New function.
5867         * bfd-in.h (bfd_record_phdr): Declare.
5868         * bfd_in2.h: Rebuild.
5869
5870         * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
5871         BFD_ASSERT.
5872
5873         * libbfd.c (bfd_malloc, bfd_realloc): New functions.
5874         (bfd_zmalloc): Return PTR, not char *.  Take size_t, not
5875         bfd_size_type.
5876         * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
5877         (bfd_zmalloc): Change declaration.
5878         * libbfd.h: Rebuild.
5879         * Many files: Use bfd_malloc and bfd_realloc rather than malloc
5880         and realloc.  Don't set bfd_error_no_memory if they fail.
5881
5882 Thu Nov 30 19:32:26 1995  Kim Knuttila  <krk@cygnus.com>
5883
5884         * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
5885         uses as well. Added a new howto to deal with TOCREL16 relocs that
5886         are TOCDEFN as well.
5887         (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
5888         to handle RVA relocs from dlltool.
5889         (ppc_coff_rtype2howto): TOCDEFN reloc addition.
5890         (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
5891         (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
5892
5893         * coffcode.h (coff_set_alignment_hook): check idata$X sections
5894         to get the right section alignment.
5895
5896 Thu Nov 30 16:48:18 1995  Ian Lance Taylor  <ian@cygnus.com>
5897
5898         * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
5899         p_paddr if p_paddr is zero.
5900         (make_mapping): Set includes_filehdr and includes_phdrs for first
5901         PT_LOAD segment.
5902         (map_sections_to_segments): Set includes_phdrs for PT_PHDR
5903         segment.
5904         (assign_file_positions_for_segments): Handle includes_filehdr and
5905         includes_phdrs.  Remove special handling of PT_PHDR and first
5906         PT_LOAD segments.
5907         (copy_private_bfd_data): Set includes_filehdr and includes_phdr
5908         when appropriate.  Remove special handling of PT_PHDR segment.
5909         Use a more complex condition for when a section is included in a
5910         segment to handle Solaris linker oddities.
5911
5912 Thu Nov 30 11:17:33 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
5913
5914         * coff-m88k.c (howto_table): Reformatted for easier reading;
5915         special_function now points to new function m88k_special_reloc.
5916         (howto_hvrt16): Function previously used for handling HVRT16 relocs
5917         removed.
5918         (rtype2howto): Do not add reloc's r_offset to the addend, this will
5919         be done correctly by m88k_special_reloc.
5920         (reloc_processing): New function to be used by RELOC_PROCESSING.
5921         (RELOC_PROCESSING): Define to call reloc_processing.
5922
5923 Wed Nov 29 12:42:36 1995  Ian Lance Taylor  <ian@cygnus.com>
5924
5925         * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
5926         (pe_print_pdata): Likewise.
5927
5928         * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
5929         obstack_alloc fails.
5930         (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
5931         fails.
5932         * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
5933         * Many files: don't set bfd_error_no_memory if one of the above
5934         routines fails.
5935
5936         * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
5937         if p_paddr_valid is set.
5938         (copy_private_bfd_data): New static function.
5939         (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
5940
5941         * elf.c (assign_file_positions_for_segments): Fix case where extra
5942         program headers were allocated.
5943
5944         * elf.c (_bfd_elf_print_private_bfd_data): New function.
5945         * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
5946         * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
5947         _bfd_elf_print_private_bfd_data.
5948
5949         * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
5950         r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
5951         Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
5952         (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
5953         RELOC_SECTION_LITA for ALPHA_R_IGNORE.
5954         (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
5955         RELOC_SECTION_ABS to RELOC_SECTION_NONE.
5956
5957 Tue Nov 28 16:59:50 1995  Ian Lance Taylor  <ian@cygnus.com>
5958
5959         * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
5960         * elf.c (make_mapping): New static function.
5961         (map_sections_to_segments): New static function.
5962         (elf_sort_sections): New static function.
5963         (assign_file_positions_for_segments): New static function.
5964         (map_program_segments): Remove.
5965         (get_program_header_size): Remove sorted_hdrs, count, and
5966         maxpagesize parameters.  Simplify.
5967         (assign_file_positions_except_relocs): When generating an
5968         executable, use assign_file_positions_for_segments.
5969         (elf_sort_hdrs): Remove.
5970         (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
5971         to get_program_header_size.
5972
5973 Mon Nov 27 12:27:46 1995  Ian Lance Taylor  <ian@cygnus.com>
5974
5975         * hp300hpux.c (MY(callback)): Set lma as well as vma.
5976
5977         * configure, config.in: Regenerate with autoconf 2.7.
5978
5979         * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
5980         * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
5981
5982 Wed Nov 22 12:02:09 1995  Ian Lance Taylor  <ian@cygnus.com>
5983
5984         * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
5985         (ecoff_sec_to_styp_flags): Likewise.
5986         (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
5987         (ecoff_set_symbol_info): Handle scRConst.
5988         (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
5989         (ecoff_compute_section_file_positions): Handle .rconst section.
5990         (_bfd_ecoff_write_object_contents): Likewise.
5991         (ecoff_link_check_archive_element): Handle scRConst.
5992         (ecoff_link_add_externals): Likewise.
5993         (ecoff_link_write_external): Handle .rconst section.
5994         (ecoff_reloc_link_order): Likewise.
5995         * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
5996         * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
5997         section.
5998         (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
5999
6000         * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
6001         DEF_DYNAMIC flag is set.
6002
6003 Tue Nov 21 13:25:29 1995  Ken Raeburn  <raeburn@cygnus.com>
6004
6005         * host-aout.c: If TRAD_HEADER is defined, include it.
6006
6007 Tue Nov 21 13:03:57 1995  Ian Lance Taylor  <ian@cygnus.com>
6008
6009         * aclocal.m4 (AC_PROG_CC): Remove local definition.
6010         (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
6011         (BFD_NEED_DECLARATION): New function.
6012         * configure.in: Use BFD_NEED_DECLARATION.
6013         * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
6014         * configure, config.in: Rebuild with autoconf 2.6.
6015
6016         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
6017         special_sections before returning when called with a non XCOFF
6018         BFD.
6019
6020         * coffgen.c (coff_renumber_symbols): Sort common symbols with
6021         global symbols.
6022
6023         * coffcode.h (coff_compute_section_file_positions): Only pad the
6024         previous section to force file alignment when creating an
6025         executable.
6026
6027 Mon Nov 20 14:54:09 1995  Ian Lance Taylor  <ian@cygnus.com>
6028
6029         * coffcode.h (coff_compute_section_file_positions): If
6030         RS6000COFF_C, set up the .debug section.
6031
6032         * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
6033         if it is not large enough to accomodate the entire TOC area with
6034         signed 16 bit offsets.
6035         (xcoff_write_global_symbol): Handle negative TOC offsets in global
6036         linkage code.
6037         (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
6038         TOC anchor to use the TOC value used in the output file.
6039
6040 Sat Nov 18 18:01:41 1995  Ian Lance Taylor  <ian@cygnus.com>
6041
6042         * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
6043         (_bfd_coff_read_string_table): Likewise.
6044
6045 Sat Nov 18 19:43:04 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
6046
6047         * pe-arm.c: Fix typos.
6048         * coff-arm.c: Likewise.
6049
6050 Fri Nov 17 16:22:04 1995  Kim Knuttila  <krk@cygnus.com>
6051
6052         * coff-ppc.c (list_ele): Added "cat"egory member.
6053         (record_toc): New category parameter (priv or pub).
6054         (ppc_record_toc_entry): Check to see if toc bounds exceeded.
6055         (ppc_process_before_allocation): Removed embrionic data-in-toc from
6056         the mainline. It addes extra toc cells in error.
6057         (ppc_coff_swap_sym_in_hook): Added some documentation.
6058         (dump_toc): Can now diagnose "virtual toc" chicanery.
6059
6060 Fri Nov 17 10:41:25 1995  Philippe De Muyter  <phdm@info.ucl.ac.be>
6061
6062         * elf-bfd.h (struct elf_link_hash_table): Change type of
6063         dynsymcount and bucketcount fields from size_t to bfd_size_type.
6064
6065 Fri Nov 17 10:02:58 1995  Ian Lance Taylor  <ian@cygnus.com>
6066
6067         * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
6068         pointerize C_LEAFSTAT or C_LEAFEXT entries.
6069
6070         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
6071         DT_INIT and DT_FINI entries if the _init or _fini symbol is
6072         defined or mentioned in a regular file.
6073
6074 Thu Nov 16 15:16:42 1995  Kim Knuttila  <krk@cygnus.com>
6075
6076         * coff-ppc.c (ppc_record_data_in_toc_entry): new function
6077         (coff_ppc_relocate_section): Handle TOCDEFN attribute
6078         (coff_ppc_relocate_section): Correct REL24 handling
6079         (ppc_process_before_allocation): Correct TOCDEFN handling
6080
6081         * peicode.h (dir_names): Added name descriptions
6082
6083 Thu Nov 16 03:38:03 1995  Ken Raeburn  <raeburn@cygnus.com>
6084
6085         * VERSION: Updated to cygnus-2.6.
6086
6087 Wed Nov 15 19:30:07 1995  Ken Raeburn  <raeburn@cygnus.com>
6088
6089         * targets.c (m68k4knetbsd_vec): Declare.
6090
6091 Wed Nov 15 18:05:52 1995  Ian Lance Taylor  <ian@cygnus.com>
6092
6093         * targets.c (bfd_target): Change type of second argument to
6094         _bfd_print_private_bfd_data from void * to PTR.
6095         * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
6096         using PTR rather than void *.
6097         * bfd-in2, libbfd.h: Rebuild.
6098         * peicode.h (pe_print_private_bfd_data): Change vfile from void *
6099         to PTR.
6100         * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
6101         _bfd_generic_bfd_print_private_bfd_data rather than casting
6102         bfd_true.
6103
6104 Wed Nov 15 04:09:14 1995  Ken Raeburn  <raeburn@cygnus.com>
6105
6106         * Makefile.in (.dep1): Fix stupid typo in last change.  Remove any
6107         "DO NOT DELETE" lines or blank lines that mkdep writes on some
6108         systems.
6109         (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
6110         BFD64_BACKENDS_CFILES): New variables.
6111         (CFILES): Use them.
6112
6113 Tue Nov 14 11:52:23 1995  Ian Lance Taylor  <ian@cygnus.com>
6114
6115         * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
6116         not at the file position of the first section.
6117         * coffcode.h (coff_compute_section_file_positions): Avoid using
6118         unportable #elif.
6119         (coff_write_object_contents): When generating a PPC PE executable
6120         with no symbols, round up the file size to a COFF_PAGE_SIZE
6121         boundary.
6122         * cofflink.c (_bfd_coff_final_link): If there are no symbols,
6123         don't write out a string table.
6124
6125         * elf.c (bfd_section_from_shdr): When using a different section
6126         header, pass the new one to _bfd_elf_make_section_from_shdr.
6127         (elf_fake_sections): Don't set sh_info and sh_entsize fields.
6128         (elf_map_symbols): Add section VMA to symbol value when comparing
6129         against 0.
6130         (_bfd_elf_compute_section_file_positions): Only build symbol table
6131         if there are some symbols.  Set file offset of symtab and strtab
6132         sections.
6133         (assign_file_positions_except_relocs): Remove dosyms parameter.
6134         Change all callers.  Never set file offset of symtab and strtab
6135         sections.
6136         (_bfd_elf_copy_private_section_data): New function.
6137         (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
6138         (_bfd_elf_copy_private_symbol_data): New function.
6139         (swap_out_syms): Check for special mapping of st_shndx created by
6140         copy_private_symbol_data.
6141         * elfxx-target.h: Use new copy routines.
6142         * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
6143         (_bfd_elf_copy_private_section_data): Declare.
6144
6145         * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
6146
6147         * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
6148         C_NT_WEAK.
6149
6150         * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
6151         _bfd_dummy_target, matching the recent change to archive
6152         recognition.
6153
6154 Mon Nov 13 13:24:38 1995  Ian Lance Taylor  <ian@cygnus.com>
6155
6156         * libbfd.c (bfd_get_file_window): Use casts to avoid doing
6157         arithmetic on PTR types.
6158
6159         * aout-target.h (MY(callback)): Set the lma of the sections.
6160
6161         * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
6162         symbol into a reloc against the section.
6163
6164 Mon Nov 13 07:31:35 1995  Kim Knuttila  <krk@cygnus.com>
6165
6166         * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
6167         glue for the relocs: IMGLUE and IFGLUE.
6168         (record_toc): new function - tracks toc contents
6169         (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
6170         (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
6171         (ppc_coff_rtype2howto): removed invalid IMGLUE hack
6172         (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
6173         (ppc_record_toc_entry): Removed a debug define (duh)
6174
6175         * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
6176         (pe_print_idata): New function - formats the idata section data
6177         (pe_print_pdata): New function - formats the pdata section data
6178         (pe_print_private_bfd_data): calls to above
6179
6180 Sun Nov 12 12:23:24 1995  Stan Shebs  <shebs@andros.cygnus.com>
6181
6182         * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
6183         * coff-rs6000.c (rs6000coff_vec): Add conditional defines
6184         TARGET_SYM and TARGET_NAME for vector and BFD name.
6185         * coff-pmac.c (pmac_xcoff_vec): Remove.
6186         (TARGET_SYM, TARGET_NAME): Define.
6187         * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
6188         machine to 0, not all PowerMacs are 601s.
6189
6190 Fri Nov 10 12:10:14 1995  Ian Lance Taylor  <ian@cygnus.com>
6191
6192         * elfcode.h (elf_object_p): Read in any program headers.
6193         * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
6194         based on the program headers, if any.
6195         (elf_fake_sections): Set sh_addr from the vma, not the lma.
6196         (map_program_segments): Set p_paddr of program headers based on
6197         the lma.
6198
6199 Thu Nov  9 13:01:31 1995  Ian Lance Taylor  <ian@cygnus.com>
6200
6201         * archive.c (bfd_generic_archive_p): Preserve tdata in case of
6202         failure.
6203
6204         * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
6205         trying to do a relocateable link with a non-a.out object file.
6206
6207         * archive.c (bfd_generic_archive_p): Check the first object file
6208         in an archive even if target_defaulted is set.  If the object file
6209         has the wrong xvec, reject it.
6210
6211         * aoutx.h (NAME(aout,set_section_contents)): If a section can not
6212         be represented, report the name via _bfd_error_handler.
6213         (translate_to_native_sym_flags): Likewise.
6214         * elf32-mips.c (mips_elf_final_link): Likewise.
6215         * oasys.c (oasys_write_sections): Likewise.
6216
6217         * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
6218         which checks for STYP_OVRFLO sections.
6219         (coff_compute_section_file_positions): If RS6000COFF_C, handle
6220         reloc and lineno count overflows.
6221         (coff_write_object_contents): Call coff_count_linenumbers before
6222         coff_compute_section_file_positions.  If RS6000COFF_C, handle
6223         reloc and lineno count overflows.
6224         * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
6225         relocs before dealing with .pad sections.  Count overflow section
6226         headers when handling .pad sections.
6227
6228         * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
6229         if RS6000COFF_C.
6230
6231         * xcofflink.c (XCOFF_DESCRIPTOR): Define.
6232         (struct xcoff_link_hash_table): Add descriptor_section and
6233         special_sections fields.
6234         (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
6235         (xcoff_link_add_symbols): Set linkage section alignment.  Create
6236         descriptor section.  Check for magic symbol names (_text, etc.),
6237         and record them in special_sections if found.  Set
6238         XCOFF_DESCRIPTOR flag for a function descriptor, and set its
6239         descriptor field to point back to the function code symbol.
6240         (xcoff_sweep): Always mark the special descriptor_section.
6241         (bfd_xcoff_export_symbol): Check whether the symbol might be a
6242         function descriptor, and mark it if it is.
6243         (bfd_xcoff_size_dynamic_sections): Add new special_sections
6244         parameter, and fill it in.  Allocate space for the descriptor
6245         section.
6246         (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
6247         global linkage code.  If an undefined function descriptor is
6248         exported, arrange to define it.  Warn about any other undefined
6249         exported symbol.
6250         (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
6251         (xcoff_write_global_symbol): Create a function descriptor when
6252         necessary.
6253         * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
6254         * bfd-in2.h: Rebuild.
6255
6256 Thu Nov  9 08:40:23 1995  Kim Knuttila  <krk@cygnus.com>
6257
6258         * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
6259         (ppc_coff_link_hash_table): new types for hashing
6260         (ppc_coff_link_hash_newfunc): hash entry constructor
6261         (ppc_coff_link_hash_table_init): hash table initializer
6262         (ppc_coff_link_hash_table_create): hash table constructor
6263         (ppc_record_toc_entry): changed references to hash table
6264         (coff_ppc_relocate_section): changed references to hash table
6265
6266         * libcoff-in.h (coff_link_hash_entry): removed toc_offset
6267         * libcoff.h: Rebuild
6268
6269         * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
6270         (coff_link_add_symbols): removed toc_offset init
6271
6272 Thu Nov  9 04:00:38 1995  Ken Raeburn  <raeburn@cygnus.com>
6273
6274         * Makefile.in (.dep1): Make sure the file mkdep is to write exists
6275         first.
6276
6277         * configure.in: Added new option --with[out]-mmap.  Set USE_MMAP
6278         if it is given and mmep is available.
6279         * acconfig.h: Undef USE_MMAP.
6280         * configure, config.in: Regenerated.
6281         * aoutx.h: If USE_MMAP is not defined, do all symbol and string
6282         table handling the old way.
6283         (aout_get_external_symbols): Don't complain if last byte of string
6284         table is nonzero.
6285         * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
6286         (bfd_free_window) [! USE_MMAP]: Don't define.
6287         (bfd_get_file_window,
6288         _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
6289
6290 Wed Nov  8 20:03:44 1995  Eric Freudenthal <freudenthal@nyu.edu>
6291
6292         * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
6293         0xffff0000.
6294
6295 Wed Nov  8 11:31:11 1995  Ian Lance Taylor  <ian@cygnus.com>
6296
6297         * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
6298         compatible with AMD generated COFF files.  Try to support both AMD
6299         and GNU formats simultaneously.
6300         (coff_a29k_relocate_section): Likewise.
6301
6302         * libbfd.c (bfd_get_file_window): Change writable parameter from
6303         int to boolean; update all callers.  Pass MAP_SHARED if not
6304         writable--it's required on Solaris.  Cast fprintf argument to
6305         avoid warning.
6306         * bfd-in.h (bfd_get_file_window): Update declaration.
6307         * bfd-in2.h: Rebuild.
6308         * aoutx.h: Update calls to bfd_get_file_window.
6309
6310         * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
6311         Change all uses.
6312         (xcoff_swap_ldhdr_in): New static function.
6313         (xcoff_swap_ldsym_in): New static function.
6314         (xcoff_find_reloc): Handle the case of a single reloc correctly.
6315         (xcoff_link_add_symbols): If we just created a descriptor, pass it
6316         to _bfd_generic_link_add_one_symbol, to save a hash lookup.
6317         Handle XTY_ER/XMC_XO symbols correctly.
6318         (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
6319         rather than normal symbol table.
6320         (bfd_xcoff_import_symbol): It's not an error if the symbol is
6321         already defined with the same absolute value.
6322         (xcoff_mark): When considering called symbols, check whether the
6323         descriptor is from a dynamic object, rather than the symbol
6324         itself.
6325         (xcoff_build_ldsyms): Likewise.
6326
6327         * libbfd.c (bfd_get_file_window): Change return type to boolean.
6328         Cast realloc and malloc return values.  If malloc or realloc fail,
6329         set bfd_error_no_memory.
6330         * bfd-in.h (bfd_get_file_window): Change type to boolean.
6331         * bfd-in2.h: Rebuild.
6332
6333 Tue Nov  7 11:53:48 1995  Kim Knuttila  <krk@cygnus.com>
6334
6335         * coff-ppc.c (ppc_record_toc_entry): new function.
6336         (in_reloc_p): changed return value.
6337         (coff_ppc_relocate_section): much rework.
6338         (ppc_allocate_toc_section): new function.
6339         (ppc_process_before_allocation): new function.
6340         (ppc_coff_swap_sym_in_hook): new function.
6341
6342         * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
6343         (coff_link_add_symbols): initialize toc_offset.
6344
6345         * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
6346         (coff_swap_aouthdr_out): Added more sections to the data
6347         dictionary for the pe file header. Also changed linker version
6348         number on the ppc side.
6349         (dir_names): small improvements to the dictionary printing.
6350         (pe_mkobject_hook): save the file level flags.
6351
6352         * libcoff-in.h (coff_link_hash_entry): added toc_offset field
6353         (pe_tdata): added real_flags field
6354         (coff_tdata): added local_toc_sym_map and access macro
6355
6356         * libcoff.h (coff_link_hash_entry): added toc_offset field
6357         (pe_tdata): added real_flags field
6358         (coff_tdata): added local_toc_sym_map and access macro
6359
6360         * coffcode.h (coff_set_alignment_hook): added hook for PE.
6361         (coff_mkobject): init for local_toc_sym_map
6362         (coff_write_object_contents): set the internal_a.magic to
6363         IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
6364         ppc compilers use.
6365
6366 Tue Nov  7 13:48:58 1995  Ian Lance Taylor  <ian@cygnus.com>
6367
6368         * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
6369         entries until both the line number address and the function name
6370         address are too large.
6371
6372         * configure.in: Call AC_CHECK_PROG to find and cache AR.
6373         * configure: Rebuilt.
6374
6375         * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
6376         is defined in the environment.
6377
6378 Tue Nov  7 10:57:24 1995  Jeffrey A Law  (law@cygnus.com)
6379
6380         * som.c (som_get_section_contents_in_window): Define to use
6381         generic version.
6382
6383 Mon Nov  6 17:13:15 1995  Harry Dolan  <dolan@ssd.intel.com>
6384
6385         * coff-i860.c: New file, based on coff-i386.c.
6386         * cpu-i860.c: New file, based on cpu-i386.c.
6387         * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
6388         * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
6389         targets, using i860coff_vec.
6390         * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
6391         trad-core.o and hosts/i860mach3.h.
6392         (i860coff_vec): Use coff-i860.o and cofflink.o.
6393         * configure: Rebuild.
6394         * Makefile.in: Rebuild dependencies.
6395         (ALL_MACHINES): Add cpu-i860.o.
6396         (BFD32_BACKENDS): Add coff-i860.o.
6397         (CFILES): Add cpu-i860.c and coff-i860.c.
6398         * targets.c (i860coff_vec): Declare.
6399         (bfd_target_vector): Add &i860coff_vec.
6400         * archures.c (bfd_i860_arch): Declare.
6401         (bfd_archures_list): Add &bfd_i860_arch.
6402         * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
6403         (coff_set_flags): Handle bfd_arch_i860.
6404         (coff_write_object_contents): Handle I860 a.out magic number.
6405
6406 Mon Nov  6 14:34:07 1995  Ian Lance Taylor  <ian@cygnus.com>
6407
6408         * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
6409         the created .tc section to 2.
6410         (xcoff_mark): Don't keep a .loader reloc for a call to an
6411         undefined symbol when creating a shared library.
6412         (xcoff_build_ldsyms): When creating a shared library, generate
6413         global linkage code for a call to an undefined symbol.
6414
6415 Sun Nov  5 21:44:13 1995  Ken Raeburn  <raeburn@cygnus.com>
6416
6417         * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
6418         BFD32_BACKENDS, BFD64_BACKENDS.
6419         (.dep1): Put mkdep output in a separate file.
6420         Rebuilt dependencies.
6421
6422         * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
6423         value.
6424
6425         Permit use of mmap when available:
6426
6427         * configure.in: Check for mmap, madvise, mprotect.
6428         * config.in, configure: Regenerated.
6429
6430         * libbfd.c (struct _bfd_window_internal): Define type.
6431         (bfd_init_window, bfd_free_window, bfd_get_file_window): New
6432         functions.
6433         (ok_to_map): New static variable for debugging.
6434         (_bfd_generic_get_section_contents_in_window): New function.
6435         * bfd-in.h (bfd_window_internal): Declare type.
6436         (bfd_window): Define type.
6437         (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
6438         * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
6439         Declare.
6440
6441         * libaout.h (struct aoutdata): Add two window fields.
6442         (obj_aout_sym_window, obj_aout_string_window): New macros.
6443         * aoutx.h (some_aout_object_p): Initialize windows.
6444         (aout_get_external_symbols): Get symbol data and strings in
6445         windows instead of explicitly allocated buffers.
6446         (slurp_symbol_table): Free window instead of memory.
6447         (bfd_free_cached_info): Release windows instead of freeing storage
6448         directly.
6449         (aout_link_free_symbols): Ditto.
6450
6451         * targets.c (bfd_target): Add new field for
6452         get_section_contents_in_window.
6453         (BFD_JUMP_TABLE_GENERIC): Updated.
6454         * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
6455         coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
6456         libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
6457         macros for get_section_contents_in_window field.
6458
6459 Sat Nov  4 12:23:26 1995  Fred Fish  <fnf@cygnus.com>
6460
6461         * core.c: Renamed to corefile.c
6462         * makefile.dos (OBJS): Change core.o to corefile.o
6463         * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
6464
6465 start-sanitize-gm
6466 Sat Nov  4 10:16:54 1995  Stu Grossman  (grossman@cygnus.com)
6467
6468         * config.bfd (mips*-*-magic*):  Add bfd_elf32_bigmips_vec to
6469         targ_selvecs to allow debugging under Irix-5 native.
6470
6471 end-sanitize-gm
6472 Fri Nov  3 15:54:59 1995  Ian Lance Taylor  <ian@cygnus.com>
6473
6474         * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
6475         to o.  Clobber and restore the list of new csects around the call
6476         to _bfd_generic_link_add_one_symbol, in case it wants to report a
6477         linker error and the linker wants to read the symbol table.  Reset
6478         the line number count of a real section even if it has no relocs.
6479         (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
6480
6481         * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
6482         is too small.
6483
6484 Thu Nov  2 23:16:39 1995  Ian Lance Taylor  <ian@cygnus.com>
6485
6486         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
6487         an undefined symbol in a shared link.
6488
6489         * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
6490         oldtype from bfd_link_order_type to bfd_link_hash_type.  From
6491         phdm@info.ucl.ac.be (Philippe De Muyter).
6492
6493 Wed Nov  1 14:26:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
6494
6495         * coff-m88k.c (rtype2howto): New static function.
6496         (RTYPE2HOWTO): Use it rather than a macro definition.
6497
6498         * coffcode.h (coff_write_object_contents): set internal_a.magic
6499         to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
6500
6501         * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
6502         define TRAD_HEADER to new file hosts/delta68.h.
6503         m88*-motorola-sysv*, however, does use ptrace-core.o.
6504         * hosts/delta68.h: New file.
6505
6506         * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
6507         bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
6508
6509 Wed Nov  1 13:51:54 1995  Ken Raeburn  <raeburn@cygnus.com>
6510
6511         * i386linux.c (MY(vec)): Declare before use.
6512
6513 Wed Nov  1 11:45:07 1995  Ian Lance Taylor  <ian@cygnus.com>
6514
6515         * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
6516         Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
6517
6518         * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
6519         BFD is not of the right type.
6520         (bfd_elf_get_needed_list): Likewise.
6521         * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
6522         * sunos.c (bfd_sunos_get_needed_list): Likewise.
6523         * xcofflink.c (XCOFF_XVECP): Define.
6524         (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
6525         of the right type.
6526         (bfd_xcoff_import_symbol): Likewise.
6527         (bfd_xcoff_export_symbol): Likewise.
6528         (bfd_xcoff_link_count_reloc): Likewise.
6529         (bfd_xcoff_record_link_assignment): Likewise.
6530         (bfd_xcoff_size_dynamic_sections): Likewise.
6531
6532         * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
6533         table index against the number of symbols for a base relative
6534         reloc.
6535
6536         * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
6537         static function.
6538         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
6539         full_aouthdr flag here...
6540         (_bfd_xcoff_bfd_final_link): ...not here.
6541
6542 Tue Oct 31 12:52:02 1995  Fred Fish  <fnf@cygnus.com>
6543
6544         * libelf.h:  Rename to elf-bfd.h to avoid conflict with
6545         systems that have a system <libelf.h>.
6546         * Makefile.in: Globally replace libelf.h with elf-bfd.h.
6547         * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
6548         elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
6549         elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
6550         elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
6551         elfxx-target.h: Include elf-bfd.h rather than libelf.h.
6552         * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
6553
6554 Tue Oct 31 15:30:07 1995  David Mosberger-Tang  <davidm@azstarnet.com>
6555
6556         * ecoff.c (ecoff_set_symbol_info): Add new parameter weak.  If
6557         set, set BSF_WEAK in symbol.  Change all callers.
6558         (ecoff_get_extr): Set weakext based on BSF_WEAK.
6559         (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
6560         _bfd_generic_link_add_one_symbol.
6561         (ecoff_indirect_link_order): Check that the section tdata relocs
6562         are not NULL before using them.
6563
6564         * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
6565         define TRAD_HEADER as hosts/alphalinux.h.
6566         * configure: Rebuild.
6567         * hosts/alphalinux.h: New file.
6568         * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
6569         not int.
6570
6571 Tue Oct 31 12:34:11 1995  Ian Lance Taylor  <ian@cygnus.com>
6572
6573         * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
6574         C_ECOMM storage classes.
6575
6576         * xcofflink.c (xcoff_mark_symbol): New static function, broken out
6577         of xcoff_mark.
6578         (xcoff_mark): Call xcoff_mark_symbol.
6579         (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
6580         (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
6581         doing it by hand.
6582         (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
6583
6584 Mon Oct 30 14:53:48 1995  Ian Lance Taylor  <ian@cygnus.com>
6585
6586         * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
6587         field.
6588         (xcoff_find_reloc): New static function.
6589         (xcoff_link_add_symbols): Use it.
6590         (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
6591         (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL.  Don't
6592         relocate the value of C_DECL.
6593
6594         * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
6595
6596 Sat Oct 28 01:25:34 1995  steve chamberlain  <sac@slash.cygnus.com>
6597
6598         * cofflink.c (_bfd_coff_generic_relocate_section): Make
6599         callback decide what goes in .relocs.
6600         * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
6601         * peicode.h (pe_mkobject_hook): Only copy aouthdr if
6602         there is one.
6603
6604 Sat Oct 28 01:51:02 1995  Ian Lance Taylor  <ian@cygnus.com>
6605
6606         * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
6607         absolute section.
6608
6609 Fri Oct 27 18:14:39 1995  Ian Lance Taylor  <ian@cygnus.com>
6610
6611         * xcofflink.c: More improvements, mostly to fix handling of
6612         constructors and a few other special cases.
6613         * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
6614         zero, reverting yesterday's change.
6615         * bfd-in.h (bfd_xcoff_link_record_set): Declare.
6616         (bfd_xcoff_link_count_reloc): Declare.
6617         (bfd_xcoff_record_link_assignment): Declare.
6618         * bfd-in2.h: Rebuild.
6619
6620 Fri Oct 27 14:42:15 1995  Niklas Hallqvist  <niklas@appli.se>
6621
6622         * PORTING, aout-arm.c, aout-encap.c, aout-target.h,
6623         aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
6624         i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
6625         i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
6626         ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
6627         Change PAGE_SIZE to TARGET_PAGE_SIZE.
6628
6629         * m68knetbsd.c: Ditto as well as add support for the m68k4k object
6630         format.
6631
6632         * netbsd.h: Double ditto (incl. m68k4k support).  NetBSD's text
6633         segments includes the a.out header.  See to that the magic number
6634         *always* is big-endian.
6635
6636         * config.bfd: Add m68*-hp*-netbsd* case.  Cross-pollinate m68k and
6637         m68k4k NetBSD configurations.
6638
6639         * configure.in, configure: Separate i386 & mips NetBSD
6640         configurations from other BSD ones.  Don't assume DEC is the only
6641         thing NetBSD/mips run on.  Add {m68k,ns32k,sparc}-*-netbsd*
6642         configurations.  Add support for m68k4k NetBSD object format.
6643
6644         * libaout.h: Added M_68K4K_NETBSD magic.
6645
6646         * m68k4knetbsd.c: New file.
6647
6648         * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
6649
6650         * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
6651         <machine/endian.h>.
6652
6653         * hosts/mipsnbsd.h: New file.
6654
6655 start-sanitize-gm
6656 Fri Oct 27 09:41:51 1995  Stu Grossman  (grossman@cygnus.com)
6657
6658         * config.bfd:  Add config stuff for mips*-*-magic* to set
6659         targ_defvec to ecoff_big_vec.
6660
6661 end-sanitize-gm
6662 Thu Oct 26 14:16:47 1995  Ian Lance Taylor  <ian@cygnus.com>
6663
6664         * xcofflink.c: Numerous changes to get closer to a working XCOFF
6665         linker.
6666         * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
6667         toc_section, and entry_section fields.
6668         (struct xcoff_section_tdata): Remove ldrel_count field.
6669         * libcoff.h: Rebuild.
6670         * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
6671         fields.
6672         (coff_compute_section_file_positions): If RS6000COFF_C, generate
6673         full a.out header if full_aouthdr is set in xcoff_data.
6674         (coff_write_object_contents): Likewise.  Set o_snentry and o_sntoc
6675         based on sections stored in xcoff_data.
6676         * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
6677         fields.
6678         (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
6679         (rs6000coff_vec): Set symbol_leading_char to '.'.
6680         * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
6681         value stored in ret rather than returning a pointer value.
6682
6683 Wed Oct 25 23:10:39 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6684
6685         * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
6686         format for now.
6687
6688 Wed Oct 25 16:19:27 1995  Jeffrey A Law  (law@cygnus.com)
6689
6690         * som.c (som_slurp_string_table): Allocate the strings with malloc
6691         since they're free'd by free_cached_info.
6692         (som_slurp_symbol_table): Similarly for the symbol table.
6693
6694 Wed Oct 25 14:59:22 1995  Per Bothner  <bothner@kalessin.cygnus.com>
6695
6696         * Makefile.in (diststuff):  Don't make headers.
6697
6698 Wed Oct 25 11:32:54 1995  Ian Lance Taylor  <ian@cygnus.com>
6699
6700         * Makefile.in: Rebuild dependencies.
6701
6702         * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
6703         output_bfd is not SunOS.
6704         (bfd_sunos_size_dynamic_sections): Likewise.  Don't scan relocs of
6705         non-SunOS input files.
6706
6707         * xcofflink.c: Extensive changes to support linking shared objects
6708         and generating a .loader section.
6709         * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
6710         (struct xcoff_section_tdata): Add lineno_count, first_symndx,
6711         last_symndx, and ldrel_count fields.
6712         * libcoff.h: Rebuild.
6713         * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
6714         * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
6715         is set.
6716         * bfd-in.h (bfd_xcoff_import_symbol): Declare.
6717         (bfd_xcoff_export_symbol): Declare.
6718         (bfd_xcoff_size_dynamic_sections): Declare.
6719         * bfd-in2.h: Rebuild.
6720
6721 Tue Oct 24 17:44:20 1995  Stan Shebs  <shebs@andros.cygnus.com>
6722
6723         * configure.in: Add xcofflink.o to pmac_xcoff_vec.
6724         * configure: Rebuild.
6725         * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
6726         * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
6727         contents.
6728         (pmac_xcoff_vec): Update to use new xcoff support.
6729         * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
6730         (xcoff_write_armap): Declare buf as unsigned char.
6731         * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
6732
6733         * mpw-make.sed: Generalize subdir_do edit.
6734
6735 Tue Oct 24 10:25:01 1995  Jeffrey A Law  (law@cygnus.com)
6736
6737         * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
6738         correctly.  Don't initialize asect->vma.
6739
6740 Fri Oct 20 13:23:48 1995  Ken Raeburn  <raeburn@cygnus.com>
6741
6742         * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
6743         something a little less than the page size.
6744
6745 Thu Oct 19 13:06:09 1995  Ian Lance Taylor  <ian@cygnus.com>
6746
6747         * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
6748
6749 Wed Oct 18 16:20:08 1995  steve chamberlain  <sac@slash.cygnus.com>
6750
6751         * coff-i386.c (coff_i386_reloc_type_lookup): New.
6752         * coffcode.h (coff_write_object_contents): If .bss is before
6753         .data us that as data_start.
6754         * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
6755         calc correct.
6756         * peicode.h (add_data_entry): Use _cooked_size of data directory.
6757         (coff_swap_outhdr_out): Hardwire in version number.
6758
6759 Wed Oct 18 16:50:54 1995  Ken Raeburn  <raeburn@cygnus.com>
6760
6761         * sunos.c (sunos_add_dynamic_symbols): Rename local variables
6762         major and minor to *_vno, since the former are also macros in
6763         SunOS header files.  Cast result of bfd_alloc to appropriate
6764         type.
6765
6766         * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
6767         before assigning to sec_data.
6768
6769 Wed Oct 18 13:25:17 1995  Ian Lance Taylor  <ian@cygnus.com>
6770
6771         * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
6772         now relative to the section, not absolute.
6773         * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
6774         get the file name when there is a N_SO directory name.  When
6775         handling stabs, remember that section->vma was added to the
6776         offset.
6777
6778 Tue Oct 17 18:24:54 1995  Ian Lance Taylor  <ian@cygnus.com>
6779
6780         * sunos.c (struct sunos_link_hash_table): Add needed field.
6781         (sunos_link_hash_table_create): Call bfd_release, not free.
6782         (sunos_link_hash_table_create): Initialize needed field.
6783         (sunos_add_dynamic_symbols): Record needed objects.
6784         (bfd_sunos_get_needed_list): New function.
6785         * bfd-in.h (bfd_sunos_get_needed_list): Declare.
6786         * bfd-in2.h: Rebuild.
6787
6788 Mon Oct 16 14:43:59 1995  steve chamberlain  <sac@slash.cygnus.com>
6789
6790         * libcoff-in.h (pe_data_type.in_reloc_p): New.
6791
6792 Mon Oct 16 10:52:50 1995  Ian Lance Taylor  <ian@cygnus.com>
6793
6794         * bfd-in.h (struct bfd_link_needed_list): Rename from
6795         bfd_elf_link_needed_list.
6796         * bfd-in2.h: Rebuild.
6797         * elf.c, elflink.h, libelf.h: Corresponding changes.
6798
6799         Add start at AIX linker support; no shared libraries yet.
6800         * xcofflink.c: New file.
6801         * configure.in (rs600coff_vec): Use xcofflink.o.
6802         * configure: Rebuild.
6803         * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
6804         fields.
6805         (struct xcoff_section_tdata): Define.
6806         (xcoff_section_data): Define macro.
6807         (_bfd_xcoff_bfd_link_hash_table_create): Declare.
6808         (_bfd_xcoff_bfd_link_add_symbols): Declare.
6809         (_bfd_xcoff_bfd_final_link): Declare.
6810         (_bfd_ppc_xcoff_relocate_section): Declare.
6811         * libcoff.h: Rebuild.
6812         * coff-rs6000.c: Clean up a bit.
6813         (xcoff_mkobject): Default modtype to 1L, not RE.  Initialize
6814         cputype, csects, and debug_indices.
6815         (xcoff_copy_private_bfd_data): Copy cputype.
6816         (xcoff_howto_table): Rename from rs6000coff_howto_table.
6817         (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
6818         (xcoff_reloc_type_lookup): Rename from
6819         rs6000coff_reloc_type_lookup.
6820         (coff_relocate_section): Define.
6821         (_bfd_xcoff_sizeof_headers): Define.
6822         (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
6823         (_bfd_xcoff_bfd_relax_section): Define.
6824         (_bfd_xcoff_bfd_link_split_section): Define.
6825         (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
6826         coff.
6827         * coffcode.h (coff_compute_section_file_positions): If AIX,
6828         increment sofar by SMALL_AOUTSZ if not executable.
6829         (coff_write_object_contents): If AIX, always output an a.out
6830         header; if not executable, header size of SMALL_AOUTSZ.
6831         * hash.c (struct bfd_strtab_hash): Add xcoff field.
6832         (_bfd_stringtab_init): Initialize xcoff field.
6833         (_bfd_xcoff_stringtab_init): New function.
6834         (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
6835         (_bfd_stringtab_emit): In XCOFF mode, write out length.
6836         * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
6837         * libbfd.h: Rebuild.
6838         * Makefile.in: Rebuild dependencies.
6839         (BFD32_BACKENDS): Add xcofflink.o.
6840         (CFILES): Add xcofflink.c.
6841
6842         * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
6843         SEC_NO_FLAGS, for .acommon section.  From Peter Schauer
6844         <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
6845
6846 Sat Oct 14 21:36:02 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6847
6848         * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
6849
6850 Fri Oct 13 17:48:43 1995  Ken Raeburn  <raeburn@cygnus.com>
6851
6852         * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
6853         * config.in: Regenerated.
6854
6855         * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
6856         (_bfd_chunksize): New variable.
6857         (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
6858         for obstack chunk size.
6859         * configure.in: Check for getpagesize.
6860         * configure: Regenerated.
6861
6862         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6863
6864         * trad-core.c (rawptr): Make it a local variable of
6865         ptrace_unix_core_file_p.
6866
6867 Fri Oct 13 11:22:01 1995  steve chamberlain  <sac@slash.cygnus.com>
6868
6869         * coff-arm.c (in_reloc_p): New.
6870         * coff-i386.c (in_reloc_p): New.
6871         * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
6872         (coff_write_object_contents): Only set has_reloc_section
6873         if PE_IMAGE.
6874         * cofflink.c (_bfd_coff_generic_relocate_section): Call
6875         in_reloc_p to decide if reloc should be emitted.
6876         * libcoff.h (pe_data_type.in_reloc_p): New.
6877         * peicode.h (pe_mkobject): Initialize in_reloc_p.
6878
6879 Wed Oct 11 00:49:29 1995  Ian Lance Taylor  <ian@cygnus.com>
6880
6881         * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
6882         (_bfd_coff_read_internal_relocs): Likewise.
6883         * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
6884         (_bfd_coff_read_internal_relocs): Likewise.
6885
6886         * elflink.h (elf_link_add_object_symbols): Correct conditions
6887         under which type and size change warnings are issued.
6888
6889 Tue Oct 10 18:32:46 1995  Ian Lance Taylor  <ian@cygnus.com>
6890
6891         * coffgen.c (coff_count_linenumbers): Don't count line numbers for
6892         a symbol which is not in a real section.
6893         (coff_write_native_symbol): Corresponding change.
6894
6895         * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
6896         coff_link_hash_newfunc and make non-static.
6897         (_bfd_coff_link_hash_table_init): New function, broken out of
6898         _bfd_coff_link_hash_table_create.
6899         (_bfd_coff_link_hash_table_create): Use it.
6900         (process_embedded_commands): Make static.
6901         * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
6902         (_bfd_coff_link_hash_table_init): Declare.
6903         * libcoff.h: Rebuild.
6904
6905         * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
6906         field in XCOFF tdata.
6907         (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
6908         U802ROMAGIC, for clarity.  Try to set arch and machine correctly
6909         based on cputype stored in a.out header, or in n_type of initial
6910         .file symbol.
6911         (coff_write_object_contents): Set cputype correctly in a.out
6912         header.
6913         (coff_slurp_symbol_table): Add casts to file_ptr to avoid
6914         warnings.
6915         * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
6916         (coff_swap_aouthdr_out): Swap out cputype field.  Don't clear
6917         old resv1 field.
6918         * libcoff-in.h (struct xcoff_tdata): Add cputype field.
6919         * libcoff.h: Rebuild.
6920
6921         * cpu-rs6000.c (rs6000_compatible): New static function.
6922         (bfd_rs6000_arch): Use it.
6923         * cpu-powerpc.c (powerpc_compatible): New static function.
6924         (arch_info_struct): Define various flavours of PowerPC.
6925         (bfd_powerpc_arch): Use powerpc_compatible.  Point at
6926         arch_info_struct.
6927
6928 Tue Oct 10 10:50:46 1995  Fred Fish  <fnf@cygnus.com>
6929
6930         * Makefile.in (FLAGS_TO_PASS):  Remove BISON.
6931
6932 Tue Oct 10 01:28:29 1995  Ian Lance Taylor  <ian@cygnus.com>
6933
6934         * elflink.h (elf_link_add_object_symbols): Don't warn about
6935         changing the size or type if the old definition was weak.
6936
6937 Mon Oct  9 11:24:08 1995  Ian Lance Taylor  <ian@cygnus.com>
6938
6939         * coffcode.h (combined_entry_type): Add fix_line field.
6940         (coff_slurp_line_table): Warn if we try to set the lineno field of
6941         a symbol twice.
6942         (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
6943         C_EINCL by setting fix_line.  Fix C_BSTAT symbol value.
6944         * coffgen.c (coff_mangle_symbols): Handle fix_line.
6945         (coff_write_symbol): Only use N_DEBUG if the symbol is in the
6946         absolute section.
6947         (coff_print_symbol): Print fix_value symbols in a useful fashion.
6948         * libcoff.h: Rebuild.
6949
6950         * libcoff-in.h (struct xcoff_tdata): Define.
6951         (xcoff_data): Define.
6952         * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
6953         * bfd-in2.h, libcoff.h: Rebuild.
6954         * coff-rs6000.c (xcoff_mkobject): New static function.
6955         (coff_mkobject): Define.
6956         (xcoff_copy_private_bfd_data): New static function.
6957         (coff_bfd_copy_private_bfd_data): Define.
6958         (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
6959         signed to bitfield.
6960         (rs6000coff_vec): Add DYNAMIC to object_flags.
6961         * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
6962         .loader sections specially.
6963         (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
6964         section alignment from the XCOFF tdata information.
6965         (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
6966         F_SHROBJ, and copy the extra a.out header information into the
6967         XCOFF tdata structure.
6968         (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
6969         F_DYNLOAD and the extra a.out header information.
6970         (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
6971         C_HIDEXT symbol with attached csect information.
6972         * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
6973         in the o_maxdata field.
6974         (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
6975         * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
6976         end if BSF_NOT_AT_END is set.
6977
6978         * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
6979         _bfd_read_ar_hdr_fn.
6980         * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
6981         * bfd-in2.h, libbfd.h: Rebuild.
6982         * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
6983         return value.
6984         (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
6985         (bfd_slurp_bsd_armap_f2): Likewise.
6986         (_bfd_slurp_extended_name_table): Likewise.
6987
6988 Fri Oct  6 16:18:35 1995  Ken Raeburn  <raeburn@cygnus.com>
6989
6990         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6991
6992         * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
6993         when the symbol table is empty.
6994
6995         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
6996         space for section symbols, since we don't output them either.
6997         (elf_m68k_adjust_dynindx): Removed.
6998
6999         * ptrace-core.c (rawptr): Make it a local variable of
7000         ptrace_unix_core_file_p.
7001
7002 Fri Oct  6 12:24:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
7003
7004         * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
7005         NULL.
7006
7007         * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
7008         Mac object file formats.
7009
7010 Fri Oct  6 12:04:02 1995  Ian Lance Taylor  <ian@cygnus.com>
7011
7012         * coffgen.c (coff_fix_symbol_name): Don't try to set up file
7013         auxent if there isn't one.
7014         (coff_write_symbols): If there is no file auxent, use SYMNMLEN
7015         rather than FILNMLEN as the maximum name length.
7016
7017         * coffcode.h (bfd_coff_backend_data): Add new field
7018         _bfd_coff_print_aux.
7019         (bfd_coff_print_aux): New static function.
7020         (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
7021         scnlen field of an XTY_LD csect aux entry.
7022         (coff_print_aux): New static function.
7023         (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
7024         in coff_pointerize_aux_hook.
7025         (bfd_coff_std_swap_table): Initialize new field.
7026         * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
7027         * libcoff.h: Rebuild.
7028         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
7029         * coff-mips.c (mips_ecoff_backend_data): Likewise.
7030
7031         * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
7032         if there are symbols, for native AIX ld compatibility.
7033
7034         * coffcode.h (bfd_coff_backend_data): Add new field
7035         _bfd_coff_pointerize_aux_hook.
7036         (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
7037         or I960, and as 0 otherwise.
7038         (bfd_coff_std_swap_table): Initialize new field.
7039         * libcoff.h: Rebuild.
7040         * coffgen.c (coff_pointerize_aux): Change parameters  to take
7041         symbol pointer instead of type and class, and to take aux index.
7042         Call _bfd_coff_pointerize_aux_hook if it is defined.
7043         (coff_get_normalized_symtab): Always call coff_pointerize_aux.
7044         * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
7045         * coff-mips.c (mips_ecoff_backend_data): Likewise.
7046
7047         * coff-rs6000.c: Add full support for AIX archives.  Rewrite old
7048         read-only/host-only support.
7049
7050         * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
7051         BSF_LOCAL.
7052         (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
7053         RS6000COFF_C.
7054
7055         * targets.c (bfd_target): Add _bfd_read_ar_hdr field.  Modify
7056         BFD_JUMP_TABLE_ARCHIVE accordingly.
7057         * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
7058         (_bfd_compute_and_write_armap): Declare.
7059         (_bfd_generic_read_ar_hdr): Declare.
7060         (_bfd_read_ar_hdr): Define.
7061         (_bfd_noarchive_read_ar_hdr): Define.
7062         (_bfd_archive_bsd_read_ar_hdr): Define.
7063         (_bfd_archive_coff_read_ar_hdr): Define.
7064         * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
7065         _bfd_read_ar_hdr instead.
7066         (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
7067         (_bfd_compute_and_write_armap): Rename from
7068         compute_and_write_armap.  Make non-static.  Change all callers.
7069         * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
7070         than _bfd_snarf_ar_hdr.
7071         * aout-target.h (MY_read_ar_hdr): Define if not defined.
7072         * ieee.c (ieee_read_ar_hdr): Define.
7073         * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
7074         * oasys.c (oasys_read_ar_hdr): Define.
7075         * som.c (som_read_ar_hdr): Define.
7076         * bfd-in2.h, libbfd.h: Rebuild.
7077
7078 Thu Oct  5 14:04:07 1995  steve chamberlain  <sac@slash.cygnus.com>
7079
7080         * peicode.c (coff_swap_filehdr_in): If symptr is
7081         zero, there aren't any symbols, even if nsyms is set.
7082
7083 Thu Oct  5 11:45:02 1995  Ian Lance Taylor  <ian@cygnus.com>
7084
7085         * libecoff.h (struct ecoff_backend_data): Add adjust_headers
7086         field.
7087         * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
7088         sections, and set styp correctly for them: .got, .hash, .dynamic,
7089         .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
7090         (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
7091         types.
7092         (ecoff_sort_hdrs): New static function.
7093         (ecoff_compute_section_file_positions): Return boolean, not void.
7094         Sort the sections by VMA before looking through them.  Put the
7095         first non SEC_ALLOC section on a new page.  Put every SEC_ALLOC
7096         section on an appropriate boundary within the page.
7097         (ecoff_compute_reloc_file_positions): Check return value of
7098         ecoff_compute_section_file_positions.
7099         (_bfd_ecoff_set_section_contents): Likewise.
7100         (_bfd_ecoff_write_object_contents): Check for various Alpha
7101         section types when incrementing text_size and data_size.  Call
7102         adjust_headers backend function if it exists.
7103         * coff-alpha.c (alpha_adjust_headers): New static function.
7104         (alpha_ecoff_backend_data): Initialize adjust_headers field.
7105         * coff-mips.c (mips_ecoff_backend_data): Likewise.
7106
7107         * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
7108
7109 Wed Oct  4 18:15:02 1995  Jeff Law  (law@hurl.cygnus.com)
7110
7111         * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
7112         of ALTERNATE_AIX_CORE_FORMAT.
7113         * configure.in (aix4): No longer need CORE_FLAGS.
7114         * configure: Updated.
7115
7116 Wed Oct  4 15:36:36 1995  Ken Raeburn  <raeburn@cygnus.com>
7117
7118         NS32k changes from Ian Dall:
7119         * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
7120         macros.
7121         (aout_link_input_section_std, aout_link_input_section_ext,
7122         aout_link_reloc_link_order): Call them instead of _bfd_*
7123         versions.
7124         * aout-target.h (MY_exec_header_not_counted): New macro, defaults
7125         to zero.
7126         (backend_data): Use it instead of hardcoded zero.
7127
7128         * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
7129         (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
7130
7131         * ns32knetbsd.c: Include bfd.h.
7132         (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
7133         (MY_bfd_reloc_type_lookup): Declare function too.
7134         * pc532-mach.c (set_sizes): Don't declare.
7135         (MY_text_includes_header, MY_exec_header_not_counted): Define.
7136         (backend_data, MY_backend_data): Don't define.
7137
7138         * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
7139         ns32k-*-lites* like ns32k-*-netbsd*.
7140
7141         * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
7142         compile on lites.
7143
7144 Wed Oct  4 14:15:52 1995  Ian Lance Taylor  <ian@cygnus.com>
7145
7146         * coffcode.h (coff_write_object_contents): Restore setting
7147         f_timdat to 0, deleted on August 22.
7148
7149 Tue Oct  3 16:28:32 1995  steve chamberlain  <sac@slash.cygnus.com>
7150
7151         * coffcode.h (coff_bfd_copy_private_symbol_data,
7152         coff_bfd_copy_private_section_data,
7153         coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
7154         * peicode.h (coff_bfd_copy_private_bfd_data): New
7155         (pe_bfd_copy_private_bfd_data): New.
7156         (coff_swap_scnhdr_in): Swap bss size into the right place.
7157         (pe_print_private_bfd_data): Add some newlines.
7158
7159 Tue Oct  3 11:53:04 1995  Jeff Law  (law@hurl.cygnus.com)
7160
7161         * som.c (setup_sections): Don't die if a space has no subspaces.
7162
7163 Mon Oct  2 14:08:55 1995  Ian Lance Taylor  <ian@cygnus.com>
7164
7165         * elflink.h (elf_link_add_object_symbols): Don't let a weak
7166         dynamic symbol override a common symbol.  Don't change the size or
7167         type if they have been set and the new symbol is not a definition.
7168         Warn if the size or type changes.
7169
7170 Sun Oct  1 01:34:41 1995  Jeff Law  (law@hurl.cygnus.com)
7171
7172         * som.c (som_begin_writing): Don't write the symbol table or
7173         symbol  strings.
7174         (som_finish_writing): Write them here.  Place them after the
7175         subspace data, but before the relocs.
7176
7177 Fri Sep 29 11:01:55 1995  Ian Lance Taylor  <ian@cygnus.com>
7178
7179         * sunos.c (sunos_add_one_symbol): Just pass false, not
7180         info->shared_library, to sunos_create_dynamic_sections.
7181         (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
7182         section.
7183         (sunos_check_dynamic_reloc): Remove .text section assertion.
7184
7185 Thu Sep 28 18:48:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
7186
7187         * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
7188         * configure, configure.in: Add pmac_xcoff_vec case.
7189         * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
7190         * coff-pmac.c: New file, PowerMac XCOFF support.
7191         * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
7192         * targets.c (pmac_xcoff_vec): Declare.
7193
7194         * mpw-config.in: Various changes to be compatible with the
7195         autoconf-based configury.
7196         * mpw-make.sed: New file, sed commands to translate Unix
7197         makefile into MPW syntax.
7198         * mpw-make.in: Remove.
7199         * hosts/mpw.h: Remove.
7200         * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
7201         true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
7202
7203 Thu Sep 28 17:06:23 1995  steve chamberlain  <sac@slash.cygnus.com>
7204
7205         * binary.c (binary_get_symtab): Return an empty string on error.
7206         * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
7207
7208 Thu Sep 28 15:30:44 1995  Kim Knuttila  <krk@nellie>
7209
7210         * coff-ppc.c: Reformatted according to gnu conventions
7211                       Removed irrelevant "if 0" code
7212
7213 Thu Sep 28 11:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
7214
7215         * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
7216         symbols rather than as indirect symbols.
7217         (MY(slurp_symbol_table)): Don't do anything special about
7218         secondary symbols.
7219
7220         * coffcode.h (coff_new_section_hook): Make sure that the alignment
7221         of .ctors and .dtors sections is no larger than 2.
7222
7223         * sunos.c (sunos_add_one_symbol): Don't change
7224         bfd_link_hash_common to bfd_link_hash_new, since it may be on the
7225         undef list.
7226         (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
7227         dynamic symbols when creating a shared library.
7228         (sunos_scan_ext_relocs): Handle relocs correctly when creating a
7229         shared library.
7230         (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
7231         written even if it is not defined in a regular object.
7232         (sunos_write_dynamic_symbol): Use plt_offset for the address of
7233         the jump table reloc.  Add an assertion.  Use RELOC_JMP_SLOT
7234         rather than the constant 22.
7235         (sunos_check_dynamic_reloc): Handle creating a shared library.
7236         (sunos_finish_dynamic_link): Set the first entry in the GOT to
7237         zero when creating a shared library.
7238         * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
7239         write it out at the start of the symbol table.
7240
7241         * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
7242
7243 Thu Sep 28 00:58:05 1995  Doug Evans  <dje@deneb.cygnus.com>
7244
7245         * config.bfd: Add arm-*-coff.
7246         * configure.in, configure: Add armcoff_{little,big}_vec.
7247         * targets.c (armcoff_{little,big}_vec): Declare.
7248         (bfd_target_vector): Add armcoff_{little,big}_vec.
7249         * coff-arm.c (armcoff_{little,big}_vec): Always define.
7250
7251 Wed Sep 27 10:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>
7252
7253         * targets.c (bfd_find_target): Remove debugging code.
7254
7255 Wed Sep 27 07:23:39 1995  Kim Knuttila  <krk@nellie>
7256
7257         * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
7258         support on powerpc.
7259         * Makefile.in: added *-ppc files
7260         * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
7261         allow pe based .o's to be shared with other tools on ppc/NT
7262         * config.bfd: added powerpc[le]-[pe|winnt] config support
7263         * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
7264         * peicode.h: Added more section flags for PE on ppc
7265                      Added coff_swap_filehdr_out to allow peicode.h to be
7266                      used for non-image PE files on ppc.
7267                      Check for image, or not, before copying pe_opthdr
7268         * targets.c: Added new bfd's
7269         * targets.c: Removed two inactive bfds that shouldn't have made it this
7270                      far.
7271
7272 Tue Sep 26 14:06:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
7273
7274         * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
7275         explicit values to initialize all relocs.  Change all users.
7276         (ppc_elf_brtaken_inner): New function to handle branch predicition
7277         relocs.
7278         (ppc_elf_brtaken_reloc): Ditto.
7279         (ppc_elf_howto_raw): Use new functions.  Make sure all unsupported
7280         relocs use ppc_elf_unsupported_reloc.
7281         (ppc_elf_merge_private_bfd_data): Keep track of whether an error
7282         needs to be reported.
7283         (ppc_elf_relocate_section): Support branch prediction relocs.
7284
7285 Tue Sep 26 12:48:05 1995  Ian Lance Taylor  <ian@cygnus.com>
7286
7287         * bfd.c (bfd_assert): Remove \n from string passed to
7288         _bfd_error_handler.
7289
7290         * coff-i386.c: (TWO_DATA_SECS): Don't define.
7291         * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
7292         (bfd_coff_make_section_hook): Don't define.
7293         (coff_make_section_hook): Remove.
7294         (sec_to_styp_flags): Remove TWO_DATA_SECS case.
7295         (styp_to_sec_flags): Likewise.
7296         (coff_write_object_contents): Likewise.
7297         (bfd_coff_std_swap_table): Don't initialize make_section_hook
7298         field.
7299         * libcoff.h: Rebuild.
7300         * coffgen.c (make_a_section_from_file): Just call
7301         bfd_make_section_anyway, not bfd_make_section or
7302         bfd_coff_make_section_hook.
7303         * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
7304         * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
7305         * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
7306         make_section_hook field.
7307         * coff-mips.c (mips_ecoff_backend_data): Likewise.
7308
7309         * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
7310         pointers into value field for warning and indirect symbols; just
7311         leave the value field alone.
7312         * linker.c (generic_link_add_symbol_list): Use next symbol for
7313         warning and indirect symbols, rather than looking in symbol value.
7314         * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
7315         parameter.  Change all callers.  Remove support for indirect
7316         symbols; it didn't work anyhow.
7317         (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
7318         * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
7319         * bfd-in2.h: Rebuild.
7320
7321 Mon Sep 25 16:04:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
7322
7323         * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
7324         go back to telling the tools this reloc operates on 32 bits.
7325
7326 Mon Sep 25 11:48:02 1995  Ian Lance Taylor  <ian@cygnus.com>
7327
7328         * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
7329         rather than a direct fprintf.
7330         * archive.c (_bfd_write_archive_contents): Likewise.
7331         * coffcode.h (coff_slurp_symbol_table): Likewise.
7332         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
7333         (ppc_elf_unsupported_reloc): Likewise.
7334         (ppc_elf_relocate_section): Likewise.
7335         * i386linux.c (linux_tally_symbols): Likewise.
7336         (linux_finish_dynamic_link): Likewise.
7337         * osf-core.c (osf_core_core_file_p): Likewise.
7338         * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
7339         * som.c (som_sizeof_headers): Likewise.
7340         * srec.c (srec_bad_byte): Likewise.
7341         * bfd.c (bfd_assert): Likewise.  Also change file to be const.
7342         * libbfd-in.h (bfd_assert): Declare first parameter const.
7343         * libbfd.h: Rebuild.
7344         * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
7345         bfd_reloc_overflow is enough.
7346         * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
7347         * coff-h8500.c (rtype2howto): Likewise.
7348         * coff-z8k.c (rtype2howto): Likewise.
7349         * coffcode.h (dummy_reloc16_extra_cases): Likewise.
7350         * elf.c (_bfd_elf_get_lineno): Likewise.
7351         (_bfd_elf_no_info_to_howto): Likewise.
7352         (_bfd_elf_no_info_to_howto_rel): Likewise.
7353         * hp300hpux.c (convert_sym_type): Likewise.
7354         (MY(swap_std_reloc_in)): Likewise.
7355         * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
7356
7357         * libaout.h (struct aoutdata): Add line_buf field.
7358         * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
7359         and filename_buffer.  Instead, use a malloc buffer stored in the
7360         new line_buf field.  Remove length restrictions.
7361
7362         * coffgen.c (string_size): Remove static variable.
7363         (debug_string_size, debug_string_section): Likewise.
7364         (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
7365         and debug_string_size_p parameters.  Use them instead of the
7366         global variables.  Change all callers.
7367         (coff_write_symbol): Likewise.
7368         (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
7369         (coff_write_symbols): Add local variables to replace removed
7370         global variables.
7371
7372         * libcoff-in.h (struct coff_section_tdata): Add offset, i,
7373         function, and line_base fields.
7374         * libcoff.h: Rebuild.
7375         * coffgen.c (coff_find_nearest_line): Use section tdata to cache
7376         information, rather than using static variables.
7377
7378         * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
7379         file.  From Peter DeWolf <pld@amt.tay1.dec.com>.
7380
7381         * init.c (initialized): Remove static variable.
7382         (bfd_init): Don't bother setting initialized.
7383         (bfd_check_init): Remove.
7384         * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
7385         * libbfd.h: Rebuild.
7386
7387 Sat Sep 23 01:22:23 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
7388
7389         * rs6000-core.c (rs6000coff_core_p):  Don't check the core file
7390         size for full core dumps. Copy core file header to private data.
7391         (rs6000coff_core_file_failing_command,
7392         rs6000coff_core_file_failing_signal):  New functions to extract
7393         the file name and terminating signal from the core file.
7394         * coff-rs6000.c:  Use them.
7395
7396 Fri Sep 22 17:44:47 1995  Ian Lance Taylor  <ian@cygnus.com>
7397
7398         Change arch info to be const, initialized at compile time.
7399         * archures.c: Reindent many functions.  Change CONST to const.
7400         (bfd_arch_info_type): Make arch_name const.  Remove disassemble;
7401         nothing set it anyhow.  Make next const.
7402         (bfd_arch_info_list): Remove.
7403         (bfd_archures_list): Rename from archures_init_table.  Change from
7404         a table of function pointers to a table of bfd_arch_info_type
7405         structure addresses.
7406         (bfd_scan_arch): Rewrite accordingly.  Return a const pointer.
7407         (bfd_lookup_arch): Likewise.
7408         (bfd_set_arch_info): Rewrite accordingly.  Change argument to be a
7409         const pointer.
7410         (bfd_default_arch_struct): Make const.
7411         (bfd_arch_init, bfd_arch_linkin): Remove.
7412         (bfd_get_arch_info): Return a const pointer.
7413         * init.c (bfd_init): Don't call bfd_arch_init.
7414         * bfd.c (struct _bfd): Make arch_info const.
7415         * bfd-in2.h: Rebuild.
7416         * libbfd.h: Rebuild.
7417         * configure.in: Put & before everything in $selarchs.
7418         * configure: Rebuild.
7419         * cpu-*.c: Change bfd_*_arch from a function which calls
7420         bfd_arch_linkin to a const structure.
7421         * ieee.c (ieee_object_p): Make arch const.
7422
7423 Fri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
7424
7425         * reloc.c (bfd_reloc_code_type): Add relocations to support all of
7426         PowerPC V.4.
7427         * bfd-in2.h: Regenerate.
7428         * libbfd.h: Regenerate.
7429
7430         * elf32-ppc.c (reloc_type): Update names to match current draft.
7431         (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
7432         relative.  Update names to current V.4 draft.
7433         (ppc_elf_reloc_type_lookup): Add support for more relocations.
7434         (ppc_elf_relocate_section): Rename relocations to match draft.
7435
7436 Thu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
7437
7438         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
7439         compiled with -mrelocatable-lib to be linked with either normal
7440         modules or -mrelocatable modules.
7441
7442 Wed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
7443
7444         * coffcode.h (coff_write_object_contents): Clear the vstamp field
7445         in the a.out header.
7446
7447         * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
7448         a reloc against a local symbol, even if it's not a section.
7449
7450 Tue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
7451
7452         * targets.c (bfd_target): Remove unused align_power_min field.
7453         * bfd-in2.h: Rebuild.
7454         * All backends: Remove initialization of align_power_min.
7455
7456 Tue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
7457
7458         * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
7459
7460 Mon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
7461
7462         * config.bfd (mips-dec-netbsd*): New target.
7463         * configure.host (mips-dec-netbsd*): New host.
7464         * configure.in (mips-dec-netbsd*): New native.
7465         * configure: Rebuild.
7466
7467 Fri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
7468
7469         Make the COFF backend linker merge common types:
7470         * cofflink.c (struct coff_debug_merge_element): Define.
7471         (struct coff_debug_merge_type): Define.
7472         (struct coff_debug_merge_hash_entry): Define.
7473         (struct coff_debug_merge_hash_table): Define.
7474         (coff_debug_merge_hash_table_init): Define.
7475         (coff_debug_merge_hash_table_free): Define.
7476         (coff_debug_merge_hash_lookup): Define.
7477         (struct coff_final_link_info): Add debug_merge field.
7478         (coff_debug_merge_hash_newfunc): New static function.
7479         (_bfd_coff_final_link): Allocate and free debug_merge table.
7480         (coff_link_input_bfd): Merge identical enum, struct and union
7481         types.
7482
7483 Thu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
7484
7485         Convert i960 COFF to use COFF backend linker.
7486         * coff-i960.c (coff_i960_relocate): Use a coff_section_data
7487         structure to store the symbol being used.
7488         (coff_i960_start_final_link): New static function.
7489         (coff_i960_relocate_section): New static function.
7490         (coff_i960_adjust_symndx): New static function.
7491         (coff_start_final_link): Define.
7492         (coff_relocate_section): Define.
7493         (coff_adjust_symndx): Define.
7494         * coffcode.h (bfd_coff_backend_data): Add new callback function
7495         _bfd_coff_start_final_link.
7496         (bfd_coff_start_final_link): Define.
7497         (coff_start_final_link): Define if not defined.
7498         (bfd_coff_std_swap_table): Add coff_start_final_link.
7499         * cofflink.c (_bfd_coff_internal_syment_name): Make globally
7500         visible.
7501         (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
7502         function callback is not NULL.
7503         * libcoff-in.h (struct coff_section_tdata): Add tdata field.
7504         (_bfd_coff_internal_syment_name): Declare.
7505         * libcoff.h: Rebuild.
7506         * configure.in (icoff_big_vec): Add cofflink.o.
7507         (icoff_little_vec): Likewise.
7508         * configure: Rebuild.
7509
7510 Wed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
7511
7512         * Makefile.in (clean-info): Remove extraneous tab from line
7513         following action.
7514
7515 Wed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
7516
7517         * cofflink.c (coff_link_input_bfd): Fail if a section with no
7518         contents has relocs.
7519
7520 Thu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
7521
7522         * coffcode.h (coff_compute_section_file_positions): Keep the
7523         raw size safe.
7524         (coff_write_object_contents): Remember if it's a relocatable
7525         file.
7526         * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
7527         * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
7528         if relocatable file. Swap out saved raw size.
7529
7530 Tue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
7531
7532         * Makefile.in (do_maintainer_clean): Rename from do_realclean.
7533         (maintainer-clean): Rename from realclean, passing
7534         maintainer-clean down to subdirectories, but leave realclean as a
7535         synonym.
7536
7537         * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
7538         warning callback.
7539
7540         * dep-in.sed: Remove config.h from generated dependencies.
7541
7542         * sunos.c (sunos_slurp_dynamic_symtab): New static function,
7543         broken out of sunos_canonicalize_dynamic_symtab.
7544         (sunos_canonicalize_dynamic_symtab): Call new function
7545         sunos_slurp_dynamic_symtab.
7546         (sunos_add_dynamic_symbols): Add three new parameters.  Return the
7547         dynamic symbol table to the caller.
7548         * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
7549         callback to override the symbols being read.
7550         * libaout.h (struct aout_backend_data): Add three new parameters
7551         to add_dynamic_symbols callback.
7552
7553         Extensive minor changes to avoid various gcc warnings.  Also:
7554         * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
7555         * archures.c (bfd_arch_info_type): Change mach field from long to
7556         unsigned long.
7557         (bfd_lookup_arch): Change machine parameter from long to unsigned
7558         long.
7559
7560 Mon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
7561
7562         * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
7563         a symbol with a non-zero plt_offset.
7564
7565 Fri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
7566
7567         * elfcode.h (align_file_position): Remove; not used.
7568
7569         * configure.in: Only check for <sys/procfs.h> on a native system,
7570         and make sure it defines prstatus_t.
7571         * configure: Rebuild.
7572
7573 Thu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
7574
7575         * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
7576
7577         * config.in: Rename from config.h.in.
7578         * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
7579         Check for config.h:config.in when creating stamp-h.
7580         * configure: Rebuild.
7581         * Makefile.in (stamp-h): Depend upon config.in rather than
7582         config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
7583         calling config.status.
7584
7585         * Makefile.in (do_distclean): Remove config.h and stamp-h.
7586         (Makefile): Just rebuild Makefile.
7587         (config.h, stamp-h): New targets.
7588         * configure.in: Create stamp-h when rebuilding config.h.
7589         * configure: Rebuild.
7590
7591 Wed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
7592
7593         * configure.in: Call AC_CONFIG_HEADER.  Substitute
7594         HOST_64BIT_LONG.  Check that various header files exist.  Check
7595         that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
7596         and/or free need to be declared.  Don't make a link to sysdep.h.
7597         Define TRAD_HEADER for various hosts.
7598         * configure: Rebuild.
7599         * configure.host: Don't set my_host.  Add definitions taken from
7600         host header files for various entries.  Remove entries which now
7601         do nothing.
7602         * acconfig.h: New file.
7603         * config.h.in: New file, built by autoheader.
7604         * sysdep.h: New file.
7605         * Makefile.in (do_distclean): Don't remove sysdep.h.
7606         (RECONFIG): Remove.
7607         (LOCAL_H_DEPS): New variable.
7608         ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
7609         $(RECONFIG).
7610         ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
7611         ($(OPTIONAL_BACKENDS)): Likewise.
7612         (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
7613         looking through sysdep.h.
7614         * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
7615         (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
7616         (fprintf_vma, sprintf_vma): Likewise.
7617         (int64_type, uint64_type): Don't define.
7618         * bfd-in2.h: Rebuild.
7619         * archures.c, bfd.c, srec.c: Include <ctype.h>.
7620         * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
7621         * lynx-core.c: Include stuff from old hosts/lynx.h.
7622         * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
7623         rather than NO_FCNTL.
7624         * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
7625         rather than NATIVE_HPPAHPUX_COMPILER.
7626         * trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
7627         is defined.
7628         * hosts/*.h: Remove all header files which merely include,
7629         declare, and define things.  Leave header files which define
7630         information needed by trad-core.c.
7631
7632         * aclocal.m4 (BFD_BINARY_FOPEN): Define.
7633         (BFD_CC_FOR_BUILD): Define.
7634         * configure.in: Use BFD_CC_FOR_BUILD.
7635         * configure: Rebuild.
7636
7637 Tue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
7638
7639         * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
7640         * configure: Rebuild.
7641
7642         * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
7643         a global symbol.
7644
7645 Tue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
7646
7647         * config.bfd: i386pe_ve -> i386pe_vec.
7648
7649 Mon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
7650
7651         * configure.host: Incorporate host Makefile fragments by setting
7652         shell variables.
7653         * configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
7654         AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
7655         value based on whether the code is being compiled by a cross
7656         compiler.  Don't substitute host_makefile_frag or frags.
7657         * aclocal.m4: New file to define local AC_PROG_CC.
7658         * configure: Rebuild.
7659         * Makefile.in (INSTALL): Set to @INSTALL@.
7660         (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
7661         (INSTALL_DATA): Set to @INSTALL_DATA@.
7662         (AR): Set to @AR@.
7663         (CC): Define as @CC@.
7664         (CFLAGS): Set to @CFLAGS@.
7665         (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
7666         (@host_makefile_frag@): Remove.
7667         (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
7668         after other options.
7669         (config.status): Remove dependency upon @frags@.
7670         * config/*.mh, config/README: Remove.
7671
7672         * config.bfd: Rewrite to incorporate the contents of the Makefile
7673         fragments by setting shell variables, rather than merely returning
7674         the name of a Makefile fragment.
7675         * configure.in: Use shell variables set by config.bfd rather than
7676         looking at the target Makefile fragment files.  Don't substitute
7677         target_makefile_frag.  Do substitute TDEFINES.
7678         * configure: Rebuild.
7679         * Makefile.in (@target_makefile_frag@): Remove.
7680         (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
7681         * config/*.mt: Remove.
7682
7683 Mon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
7684
7685         * configure.in: Put changequote lines around "i[345]86" patterns
7686         section of core file support.
7687
7688 Sun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
7689
7690         * som.c (som_bfd_print_private_bfd_data): Define to use the
7691         generic version.
7692
7693 Fri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
7694
7695         * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
7696         entry, text_start and data_start.
7697
7698 Fri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
7699
7700         * Makefile.in (OFILES): Remove $(TDEPFILES).
7701         * config/apollo.mt (TDEPFILES): Remove.
7702         * config/README: Update.
7703
7704         * configure.in: For a native configuration, set COREFILE and
7705         COREFLAG based on the canonical host name.
7706         * configure: Rebuild.
7707         * Makefile.in: Rebuild dependencies.
7708         (ALL_CFLAGS): Add @COREFLAG@.
7709         (OFILES): Replace $(HDEPFILES) with @COREFILE@.
7710         * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
7711         support routines.  Check LYNX_CORE rather than HOST_LYNX.
7712         * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
7713         * i386lynx.c: Likewise.
7714         * m68klynx.c: Likewise.
7715         * sparclynx.c: Likewise.
7716         * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
7717         * *-core.c: Comment changes.
7718         * config/decstation.mh (HDEPFILES): Remove.
7719         (HDEFINES): Remove -DTRAD_CORE.
7720         * config/irix3.mh (RANLIB): Remove.
7721         * config/irix4.mh (HDEPFILES, RANLIB): Remove.
7722         (HDEFINES): Remove -DIRIX_CORE.
7723         * config/riscos.mh (RANLIB, HDEPFILES): Remove.
7724         (HDEFINES): Remove -DTRAD_CORE.
7725         * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
7726         * config/ultra3.mh (RANLIB): Remove.
7727         * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
7728         * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
7729         * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
7730         * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
7731         * config/hppahpux.mh, config/hppaosf.mh: Remove.
7732         * config/i386aix.mh, config/i386bsd.mh: Remove.
7733         * config/i386linux.mh, config/i386mach3.mh: Remove.
7734         * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
7735         * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
7736         * config/mipsmach3.mh, config/news-mips.mh: Remove.
7737         * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
7738         * config/rs600.mh, config/rs6000lynx.mh: Remove.
7739         * config/solaris2.mh, config/stratus.mh: Remove.
7740         * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
7741         * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
7742
7743 Fri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
7744
7745         * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
7746         DT_FINI entry if the appropriate symbol is not in the hash table.
7747
7748         * libelf.h (struct elf_backend_data): Add create_program_headers
7749         and want_hdr_in_seg fields.
7750         * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
7751         defined.
7752         (elf_backend_create_program_headers): Likewise.
7753         (elfNN_bed): Initialize create_program_headers and
7754         want_hdr_in_seg.
7755         * elf.c (get_program_header_size): Call create_program_headers
7756         backend routine.
7757         (map_program_segments): Check want_hdr_in_seg backend field.  Call
7758         create_program_headers backend routine.
7759
7760         * elf.c (assign_file_positions_except_relocs): Align non allocated
7761         sections when creating an executable.
7762
7763         * elfcode.h (elf_swap_phdr_in): Make non static.
7764         (elf_swap_phdr_out): Make non static.
7765         * libelf.h (bfd_elf32_swap_phdr_in): Declare.
7766         (bfd_elf32_swap_phdr_out): Declare.
7767         (bfd_elf64_swap_phdr_in): Declare.
7768         (bfd_elf64_swap_phdr_out): Declare.
7769
7770         * ecofflink.c (ecoff_collect_shuffle): New static function.
7771         (_bfd_ecoff_get_accumulated_pdr): New function.
7772         (_bfd_ecoff_get_accumulated_sym): New function.
7773         (_bfd_ecoff_get_accumulated_ss): New function.
7774         * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
7775         (_bfd_ecoff_get_accumulated_sym): Declare.
7776         (_bfd_ecoff_get_accumulated_ss): Declare.
7777         * libbfd.h: Rebuild.
7778
7779 Fri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
7780
7781         * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
7782
7783         * elflink.h (elf_link_add_object_symbols): Handle indirect and
7784         warning symbols.  If any section is named .gnu.warning.XXX, treat
7785         the contents as a warning to be issued if the symbol XXX is
7786         referenced.
7787         (elf_link_output_extsym): For an indirect or warning symbol, just
7788         output the symbol it points to.
7789
7790         * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
7791         if bfd_hash_allocate fails, since it will already be set.
7792         (generic_link_hash_newfunc): Likewise.
7793         (archive_hash_newfunc): Likewise.
7794         (hash_entry_bfd): New static function.
7795         (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
7796         callback.  Allocate a new warning using the hash table newfunc.
7797         Use bfd_hash_replace to update the entry in the hash table, rather
7798         than assuming we can copy the fields with structure assignment.
7799
7800         * hash.c (bfd_hash_replace): New function.
7801         * bfd-in.h (bfd_hash_replace): Declare.
7802         * bfd-in2.h: Rebuild.
7803
7804 Fri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
7805
7806         * config.bfd: Add mips*vr4300-*-elf* target.
7807         * config/mipsbvr4300.mt: Added.
7808
7809 See file ChangeLog.2
7810
7811 \f
7812 Local Variables:
7813 mode: change-log
7814 left-margin: 8
7815 fill-column: 74
7816 version-control: never
7817 End: