linker.c (FAIL): Undefine macro before defining as enum.
[external/binutils.git] / bfd / ChangeLog
1 Wed Jun 22 17:59:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
2
3         * config.bfd (powerpc-*-elf*): New target, just like
4         powerpc-*-sysv4*.
5
6         * linker.c (FAIL): Undefine macro before defining as enum.
7
8 Wed Jun 22 10:52:47 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
9
10         * hash.c (bfd_hash_allocate): Don't call bfd_set_error if
11         obstack_alloc returns NULL unless the size is non-zero.
12
13         * linker.c (archive_hash_allocate): Define.
14         (_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate
15         rather than obstack_alloc, for clarity.
16
17         * elfcode.h (elf_get_reloc_upper_bound): Correct.
18
19         * aout64.c (BMAGIC, QMAGIC): Define if not already defined.  From
20         Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
21
22         Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>.
23         * libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
24         * aout-target.h (MY(callback)): Only set alignment according to
25         architecture if the section sizes are aligned to that alignment,
26         for backward compatibility.
27         (MY(set_sizes)): Initialize zmagic_disk_block_size field.
28         * aoutx.h (adjust_z_magic): Set ztih if using q_magic_format.  Set
29         text section filepos to zmagic_disk_block_size if not ztih.  Use a
30         different padding algorithm if not ztih.
31         * i386linux.c (MY_text_includes_header): Don't define.
32
33         * aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
34         symbols; don't look them up in the hash table.  From
35         ralphc@pyramid.com (Ralph Campbell).
36
37 Tue Jun 21 11:47:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
38
39         * coff-go32.c (go32coff_archive_p): Remove unused function.
40
41         * section.c (bfd_abs_section): Make const.
42         (bfd_abs_section_ptr, bfd_is_abs_section): Define.
43         (bfd_und_section): Make const.
44         (bfd_und_section_ptr, bfd_is_und_section): Define.
45         (bfd_com_section): Make const.
46         (bfd_com_section_ptr): Define.
47         (bfd_ind_section): Make const.
48         (bfd_ind_section_ptr, bfd_is_ind_section): Define.
49         (bfd_abs_symbol, bfd_com_symbol): Make const.
50         (bfd_und_symbol, bfd_ind_symbol): Likewise.
51         (global_syms): Cast initialization of section field.
52         (STD_SECTION): Define as const, and cast initializations.
53         * bfd-in2.h: Rebuilt.
54         * Many files: Change uses of bfd_abs_section, etc., to use
55         bfd_abs_section_ptr or bfd_is_abs_section, etc.
56
57 Mon Jun 20 11:06:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
58
59         * Many files: change all bfd_target vectors to be const.  Change
60         all uses of bfd_target * to be const bfd_target *.  Change
61         bfd_target_vector and bfd_default_vector arrays to be const
62         bfd_target * const *.
63
64         * ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
65         elf32-mips.c: Renamed all externally visible ECOFF routines which
66         are local to BFD to start with _bfd_ecoff instead of just ecoff.
67
68         * ecoff.c (ecoff_swap_tir_in): Change input argument to const.
69         (ecoff_swap_tir_out): Likewise.
70         (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
71         (ecoff_slurp_symbolic_info): Add new arguments to correspond to
72         read_debug_info entry point in ecoff_debug_swap structure.
73         Change all calls.
74         * libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
75         * ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
76         (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
77         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new
78         ecoff_debug_swap fields.
79         * coff-mips.c (mips_ecoff_backend_data): Likewise.
80         * elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
81         (mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
82         fields.
83         * configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
84         ecofflink.o.
85         (bfd_elf32_littlemips_vec): Likewise.
86         (ecoff_big_vec, ecoff_little_vec): Likewise.
87         (ecoffalpha_little_vec): Likewise.
88         * Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
89         (BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
90
91         * aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
92         when computing reloc sizes.  From Eric Youngdale
93         <ericy@cais.cais.com>.
94         * elfcode.h (elf_bfd_final_link): Don't try to compute maximum
95         reloc count or size for a non-ELF file.
96
97         * mipsbsd.c (MY_final_link_callback): Define to avoid warning.
98
99         * hp300hpux.c (MY_final_link_callback): Define to avoid warning.
100         (BMAGIC, QMAGIC): Define; used by aoutx.h.
101         (MY(slurp_symbol_table)): Change translate_from_native_sym_flags
102         calls to use new parameters.
103
104 Fri Jun 17 14:45:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
105
106         * aout-target.h (MY(callback)): Set the alignments of the text,
107         data and bss sections after determining the architecture.
108
109         * sunos.c (sunos_add_one_symbol): Treat a common symbol from a
110         dynamic object as being in the .bss section of the object, rather
111         than as being undefined.
112
113 Fri Jun 17 11:16:50 1994  Jeff Law  (law@snake.cs.utah.edu)
114
115         * libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
116
117         * elf32-hppa.h (elf_hppa_final_processing): Delete decl.
118
119 Thu Jun 16 23:36:23 1994  Jeff Law  (law@snake.cs.utah.edu)
120
121         * elfcode.h (elf_link_input_bfd): Don't try to read local symbols
122         if there aren't any in the input file.
123
124 Thu Jun 16 14:25:22 1994  Eric Youngdale  (ericy@cais.cais.com)
125
126         * i386linux.c: Many new functions and definitions for linker
127         support for Linux shared libraries.
128         * bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
129         * bfd-in2.h: Rebuild.
130
131 Thu Jun 16 14:23:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
132
133         * config.bfd: If second argument is ``_'', then, instead of
134         echoing config file name, echo whether target uses leading
135         underscores on symbol names.  Add appropriate settings to
136         different cases.  Used by binutils/configure.in to set default for
137         c++filt.
138
139         * elfcode.h (elf_bfd_final_link): If trying to generate a shared
140         object, warn and return false.
141
142         * aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
143         and treat them as OMAGIC.
144
145 Wed Jun 15 18:02:21 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
146
147         Enable sparc v9 support for release.  Note that this is still a
148         work in progress, pending release of an ABI specification.
149         * config.bfd, configure.in: Include sparc v9 elf config.
150         * elfcode.h (prep_headers): Handle sparc v9 (64 bit).
151         * reloc.c (bfd_reloc_code_real): New reloc types.
152         * elf64-sparc.c: Implement elf64-sparc target.
153         * Makefile.in, targets.c: Updated.
154
155 Wed Jun 15 01:34:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
156
157         * libelf.h (struct elf_obj_tdata): New field dt_needed_name.
158         (elf_dt_needed_name): New accessor macro.
159         * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
160         is set, use that instead of the filename for the DT_NEEDED dynamic
161         entry.
162         * elf.c (bfd_elf_set_dt_needed_name): New function.
163         * bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
164         * bfd-in2.h: Rebuilt.
165
166         * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
167         argument, and set it to the .interp section.
168         * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
169         (bfd_elf64_size_dynamic_sections): Likewise.
170         * bfd-in2.h: Rebuilt.
171
172         * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
173         field of the reloc rather than letting it be garbage.
174
175         * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
176         __.SYMDEF; the former was used in old Linux archives.  From
177         jrs@world.std.com (Rick Sladkey).
178
179         * i386linux.c (i386linux_write_object_contents): Define; like
180         MY(write_object_contents) in aout-target.h, but set MACHTYPE to
181         M_386.  From jrs@world.std.com (Rick Sladkey).
182         (MY_write_object_contents): Define.
183
184         * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
185         as N_DATA symbols.
186         (aout_link_add_symbols): Likewise.
187
188         * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
189         tables.
190         (struct stringtab_entry, struct stringtab_data): Remove.
191         (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
192         (struct strtab_hash_entry, struct strtab_hash): Define.
193         (strtab_hash_newfunc, strtab_hash_lookup): Define.
194         (stringtab_free, emit_stringtab): Define.
195         (stringtab_init, add_to_stringtab): Rewrite.
196         (NAME(aout,write_syms)): Use new stringtab code.
197         (struct aout_final_link_info, NAME(aout,final_link)): Likewise.
198         (aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
199
200         * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
201         request BFD to write object in the traditional format, whatever
202         that means for the particular backend.
203         * bfd-in2.h: Rebuilt.
204
205         * hash.c (bfd_hash_allocate): If obstack_alloc fails, set
206         bfd_error_no_memory.
207
208 Tue Jun 14 13:00:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
209
210         * libaout.h (struct aoutdata): Add q_magic_format to subformat
211         enum.
212         * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
213         if not already defined.  Copy subformat information.
214         (MY_text_includes_header): Define as 0 if not already defined.
215         (MY(backend_data)): Use MY_text_includes_header rather than 0.
216         (MY_final_link_callback): Rename from final_link_callback, and
217         define only if MY_final_link_callback is not already defined.
218         (MY_bfd_final_link): Rename use of final_link_callback to
219         MY_final_link_callback.
220         * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
221         ZMAGIC, but set the subformat to q_magic_format.  Abort if the
222         magic number if not recognized.
223         (adjust_z_magic): Use QMAGIC if q_magic_format.
224         * i386linux.c (MY_text_includes_header): Define as 1.
225         (i386linux_bfd_final_link): New static function.
226         (MY_bfd_final_link): Define as i386linux_bfd_final_link.
227
228         * aoutx.h (translate_to_native_sym_flags): Check both section and
229         output_section against sections of abfd.
230
231         * libecoff.h (struct ecoff_link_hash_entry): Change type of
232         written from boolean to char.  Add new field small.
233         * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
234         rather than false.  Initialize small to 0.
235         (ecoff_link_add_externals): If ECOFF type is scSUndefined, set
236         small.  If small is set, and hash table type is common, force the
237         symbol into a section named SCOMMON and change the ECOFF type from
238         scCommon to scSCommon.
239         (ecoff_link_write_external): Set written to 1 rather than true.
240         * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
241         overflow check to consider section VMA of input file.
242
243 Mon Jun 13 14:20:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
244
245         * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
246         machine type of 68000.
247         * aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
248         Set *unknown to true if machine type is really unknown, as opposed
249         to M_UNKNOWN for the 68000.
250         (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
251         accordingly.
252         * libaout.h (NAME(aout,machine_type)): Add new argument to
253         prototype.
254
255 Sun Jun 12 20:21:03 1994  Jeff Law  (law@snake.cs.utah.edu)
256
257         * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
258         or HIUX_AUX_ID.
259         (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
260         (som_write_armap): Use CPU_PA_RISC1_0 as the magic number.  Note
261         som.c is careful to always define CPU_PA_RISC1_0.
262
263 Sat Jun 11 16:32:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
264
265         Add weak symbols as an extension to a.out.
266         * aoutx.h (sym_in_text_section): Don't define.
267         (sym_in_data_section, sym_in_bss_section): Likewise.
268         (sym_is_undefined, sym_is_global_defn): Likewise.
269         (sym_is_debugger_info, sym_is_fortrancommon): Likewise.
270         (sym_is_absolute, sym_is_indirect): Likewise.
271         (translate_from_native_sym_flags): Rewrite for clarity.  Rearrange
272         arguments and change caller.  Handle weak symbols.
273         (translate_to_native_sym_flags): Likewise.
274         (aout_link_check_ar_symbols): Don't ignore weak symbols.  Pull
275         object in from archive if a weak defintion is found for an
276         existing undefined symbol.
277         (aout_link_add_symbols): Put all cases in switch.  Set flags of an
278         undefined symbol to 0.  Handle weak symbols.
279         (aout_link_write_symbols): Handle weak symbols.
280         (aout_link_write_other_symbol): Likewise.
281         (aout_link_input_section_std): Likewise.
282         (aout_link_input_section_ext): Likewise.
283         * sunos.c (sunos_write_dynamic_symbol): Likewise.
284
285 Fri Jun 10 13:25:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
286
287         * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
288         (NAME(aout,get_reloc_upper_bound)): Likewise.
289
290         * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
291         * linker.c (_bfd_generic_link_write_global_symbol): Don't assume
292         the section of a common symbol is not NULL.
293
294 Wed Jun  8 23:15:53 1994  Stu Grossman  (grossman@cygnus.com)
295
296         * nlmcode.h (nlm_object_p):  Set EXEC_P and start address for GDB.
297
298 Wed Jun  8 23:57:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
299
300         * aoutx.h (aout_get_external_symbols): Don't try to read the
301         strings if there are no symbols.
302         (aout_link_write_other_symbol): Use the output section when
303         working out the type.
304
305 Tue Jun  7 13:25:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
306
307         * elfcode.h (assign_section_numbers): Put shstrtab, symtab and
308         strtab sections at end of file.  Avoids bug in some versions of
309         SVR4 strip.  From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
310
311         * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
312         set SEC_DEBUGGING for STYP_INFO sections.
313         (coff_compute_section_file_positions): If COFF_PAGE_SIZE is
314         defined, and D_PAGED is set, set the file position equal to the
315         section VMA modulo COFF_PAGE_SIZE.
316         * coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
317         * coff-i386.c: Set D_PAGED in BFD target.
318         (COFF_PAGE_SIZE): Define.
319         * coff-m68k.c, coff-sparc.c: Likewise.
320
321 Mon Jun  6 10:57:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
322
323         * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
324         into a BFD section just because SHF_ALLOC is set; require that it
325         not use the normal symbol table.
326         (elf_section_from_bfd_section): Corresponding change.
327
328         Better indirect and warning symbol handling inspired by Stuart
329         Quick <stuck@cs.man.ac.uk>.
330         * linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
331         (link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
332         to REF.  Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
333         REFC.  Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
334         Change DEFW_ROW/indr from CYCLE to NOACT.  Change INDR_ROW/indr
335         from MDEF to MIND.  Change INDR_ROW/warn from WARNC to CYCLE.
336         Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN.  Change
337         WARN_ROW/com from MWARN to WARN.  Change WARN_ROW/warn from NOACT
338         to CYCLE.  Change SET_ROW/warn from WARNC to CYCLE>
339         (_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
340         REFC.  If a new indirect symbol has been referenced, push the
341         reference down to the symbol it points to.  FIx handling of WARN.
342         * aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
343         clobber e_type of next symbol.
344         (translate_to_native_sym_flags): Likewise.
345         (aout_link_write_symbols): Loop on bfd_link_hash_warning as well
346         as bfd_link_hash_indirect.
347
348         * libaout.h (struct aout_link_hash_entry): New field written.
349         * aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
350         (aout_link_write_symbols): Use written, not root.written.
351         (aout_link_write_other_symbol): Likewise.
352         * sunos.c (sunos_scan_dynamic_symbol): Likewise.
353         * libecoff.h (struct ecoff_link_hash_entry): New field written.
354         * ecoff.c (ecoff_link_hash_newfunc): Initialize written.
355         (ecoff_link_write_external): use written, not root.written.
356         * genlink.h (struct generic_link_hash_entry): New field written.
357         * linker.c (_bfd_link_hash_newfunc): Don't initialize written.
358         (generic_link_hash_newfunc): Initialize written.
359         (_bfd_generic_link_output_symbols): Use written, not root.written.
360         (_bfd_generic_link_write_global_symbol): Likewise.
361         (_bfd_generic_reloc_link_order): Likewise.
362
363         * libecoff.h (ecoff_data_type): Add linker field.
364         * ecoff.c (ecoff_write_object_contents): Check new tdata linker
365         field, rather than outsymbols being non-NULL, to decide whether to
366         output the symbols and relocs.
367         (ecoff_bfd_final_link): Set new tdata linker field to true.
368
369         * ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
370         data to a non-ECOFF file.
371
372         * libbfd-in.h: Add warning that libbfd.h is a generated file.
373         * libbfd.h: Rebuilt.
374
375 Sun Jun  5 15:02:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
376
377         Changes to support ELF strip and objcopy on dynamically linked
378         files.
379         * elfcode.h (elf_fake_sections): Add prototype.
380         (bfd_section_from_shdr): Make a BFD section from an SHT_HASH
381         section, and from an SHT_DYNSYM section, and from the dynamic
382         string table section.
383         (elf_object_p): Set D_PAGED if there is a program header.
384         (elf_make_sections): Remove.
385         (fix_up_strtabs): Remove.
386         (elf_fake_sections): Rewrite.  Now sets sh_entsize.
387         (assign_section_numbers): Rewrite.  Now sets sh_link and sh_info
388         for all sections.
389         (elf_compute_section_file_positions):  Don't call obsolete
390         functions elf_make_sections or fix_up_strtabs.
391         (swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
392         (NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
393         objects.
394         (elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
395         sections.  If an SHT_REL or SHT_RELA section is allocated or uses
396         an unusual symbol table, permit a BFD section to map to it.
397         Permit most SHT_STRTAB sections to have a BFD section mapped to
398         them.
399         (elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
400         fields of dynamic sections here; do it in assign_section_numbers.
401         * elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
402         flags.
403
404         * elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
405         SEC_LOAD is set, rather than checking SEC_ALLOC.
406
407         * libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
408
409 Fri Jun  3 10:58:02 1994  Jeff Law  (law@snake.cs.utah.edu)
410
411         * som.c (som_write_object_contents): Don't compute the file header's
412         checksum here.
413         (som_write_headers): Instead do it here.
414
415         * libbfd.h (bfd_realloc): Change last arg to "size_t size".
416
417 Thu Jun  2 17:39:22 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
418
419         * hosts/sun3.h: Include <stdlib.h>.  Don't declare free, exit or
420         getenv.
421
422         Add linker support for SunOS shared libraries.
423         * sunos.c: Include bfdlink.h.  Add many new functions and
424         definitions for SunOS shared library support.
425         * bfd-in.h (bfd_sunos_record_link_assignment): Declare.
426         (bfd_sunos_size_dynamic_sections): Declare.
427         * bfd-in2.h: Rebuilt.
428         * aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
429         (struct aout_link_hash_table): Likewise.
430         (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
431         (aout_hash_table): Likewise.
432         (NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
433         and make externally visible.
434         (NAME(aout,link_hash_table_init)): New function.
435         (NAME(aout,link_hash_table_create)): Call
436         NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
437         (aout_link_add_symbols): Don't fail if no symbols.  If it exists,
438         call add_dynamic_symbols backend entry point for dynamic objects.
439         Use add_one_symbol backend entry point if it exists.
440         (NAME(aout,final_link)): Call finish_dynamic_link backend entry
441         point, if it exists.
442         (aout_link_input_bfd): For a dynamic object, call
443         link_dynamic_object backend entry point, if it exists.
444         (aout_link_write_other_symbol): Call write_dynamic_symbol backend
445         entry point, if it exists.
446         (aout_link_input_section): Don't read the relocs if they have
447         already been read.
448         (aout_link_input_section_std): When doing a final link, for a
449         reloc against an external symbol, call check_dynamic_reloc backend
450         entry point, if it exists.
451         (aout_link_input_section_ext): Likewise.
452         * libaout.h: Protect against multiple inclusion.  Include
453         bfdlink.h.
454         (struct aout_link_hash_entry): Move in from aoutx.h.
455         (struct aout_link_hash_table): Likewise.
456         (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
457         (aout_hash_table): Likewise.
458         (struct aout_backend_data): Add fields add_dynamic_symbols,
459         add_one_symbol, link_dynamic_object, write_dynamic_symbol,
460         check_dynamic_reloc, and finish_dynamic_link.
461         (struct aout_section_data_struct): Define new structure.
462         (aout_section_data): Define new accessor macro.
463         (NAME(aout,link_hash_newfunc)): Declare.
464         (NAME(aout,link_hash_table_init)): Declare.
465         * aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
466         fields.
467         * aout-target.h (MY(backend_data)): Likewise.
468         * i386aout.c (MY(backend_data)): Likewise.
469         * i386mach3.c (MY(backend_data)): Likewise.
470         * mipsbsd.c (MY(backend_data)): Likewise.
471         * sparclynx.c (sparclynx_aout_backend): Likewise.
472
473         * aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached
474         until we know it is non-NULL.
475         (aout_link_write_symbols): Don't skip a warning symbol even if it
476         has already been written out.  If skipping an indirect symbol,
477         skip the next symbol as well.
478
479 Wed Jun  1 14:37:50 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
480
481         * hosts/sun3.h: Don't declare qsort, malloc or realloc.
482
483 Thu May 26 13:56:03 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
484
485         * nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer
486         to char pointer to avoid compiler warnings.
487
488         * dep-in.sed: Remove spaces before colons.
489
490         Merged changes back in from FSF gas release 2.3:
491
492         * Makefile.in (stmp-bfd.h): Wrap `if' block around grep
493         invocation, to avoid a bug in BSD 4.4 make.
494
495         From Ralph Campbell:
496         * mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an
497         error.
498         (mips_fix_hi16_s): Ditto.
499
500         Fri May 13 21:21:00 1994  DJ Delorie (dj@ctron.com)
501
502         * makefile.dos: define a default target, or archives won't work
503           due to multiple matches.
504
505         Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
506
507         * configure.bat: update for latest files
508         * makefile.dos: update for correct targets and sources
509         * coff-go32.c: [new] go32's COFF format (i386coff with underscores)
510         * targets.c: add go32coff target
511         * makefile.in: add coff-go32.c support
512
513 Thu May 26 10:10:21 1994  Jeff Law  (law@snake.cs.utah.edu)
514
515         * som.c (som_prep_headers): Do not set the system_id here, private
516         bfd data has not been copied yet.
517         (som_write_headers): Instead do it here.
518
519 Tue May 24 16:17:18 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
520
521         Make MIPS ELF use new ELF backend linker.  No shared library
522         support yet.
523         * elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
524         (bfd_mips_elf32_swap_gptab_out): New function.
525         (mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
526         (mips_elf_final_write_processing): Set sh_info field for .gptab.*
527         sections.
528         (mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
529         (mips_elf_read_ecoff_info): Read and free external symbols last,
530         not first, for clarity.
531         (struct mips_elf_link_hash_entry): Define new structure.
532         (struct mips_elf_link_hash_table): Define new structure.
533         (mips_elf_link_hash_lookup): Define new macro.
534         (mips_elf_link_hash_traverse): Define new macro.
535         (mips_elf_hash_table): Define new macro.
536         (mips_elf_link_hash_newfunc): New static function.
537         (mips_elf_link_hash_table_create): New static function.
538         (mips_elf_add_symbol_hook): New static function.
539         (struct extsym_info): Define new structure.
540         (mips_elf_get_extr, mips_elf_set_index): Remove.
541         (mips_elf_output_extsym): New static function.
542         (gptab_compare): New static function.
543         (mips_elf_final_link): Rewrite to use ELF backend linker, and to
544         merge gptab information in input files.
545         (mips_elf_relocate_hi16): New static function.
546         (mips_elf_relocate_section): New static function.
547         (bfd_elf32_bfd_link_hash_table_create): Define as macro before
548         including elf32-target.h.
549         (elf_backend_relocate_section): Likewise.
550         (elf_backend_add_symbol_hook): Likewise.
551         * elf.c (_bfd_elf_link_hash_newfunc): Rename from
552         elf_link_hash_newfunc and make globally visible.  Change caller.
553         (_bfd_elf_link_hash_table_init): New function, broken out of
554         _bfd_elf_link_hash_table_create.
555         (_bfd_elf_link_hash_table_create): Use
556         _bfd_elf_link_hash_table_init.
557         * libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
558         (elf_bad_symtab): Define new accessor macro.
559         (_bfd_elf_link_hash_newfunc): Declare.
560         (_bew_elf_link_hash_table_init): Declare.
561         * elfcode.h (elf_object_p): Call backend object_p hook after
562         swapping in all the section headers.
563         (map_program_segments): Correct typo: Internal for External.
564         (elf_link_add_object_symbols): If elf_bad_symtab is set, read all
565         the symbols.  Skip STB_LOCAL symbols rather than giving an error.
566         (elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
567         all symbols, not just locals.
568         (elf_link_output_extsym): Only skip a symbol not mentioned by a
569         regular file if it is mentioned by a dynamic object.
570         (elf_link_input_bfd): If elf_bad_symtab is set, read all the
571         symbols.
572
573 Fri May 20 13:38:23 1994  Jeff Law  (law@snake.cs.utah.edu)
574
575         * som.c (som_set_reloc_info): Do not set any relocation info
576         for SOM fixups which are never passed to BFD.
577
578 Fri May 20 11:57:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
579
580         * coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
581         checking.
582
583         * elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
584         the dynamic linking information for the benefit of the debugger.
585         From Peter Schauer.
586         * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
587
588         * elf.c (_bfd_elf_make_section_from_shdr): New function, based on
589         code repeated three times in bfd_section_from_shdr in elfcode.h.
590         * libelf.h (_bfd_elf_make_section_from_shdr): Declare.
591         * elfcode.h (bfd_section_from_shdr): Use new function
592         _bfd_elf_make_section_from_shdr to create BFD sections.  If a
593         reloc section does not use the main symbol table, or it is part of
594         the process image, treat it as a normal section, not relocs.
595         * elf32-mips.c (mips_elf_section_from_shdr): Use new function
596         _bfd_elf_make_section_from_shdr.
597
598 Thu May 19 11:37:11 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
599
600         * elf32-target.h, elf64-target.h: Change ar_max_namelen value from
601         15 to 14 to match SVR4 ar.
602
603         Add support for ELF shared libraries.  Loosely based on work by
604         Eric Youngdale <ericy@cais.com>.
605         * libelf.h (struct elf_backend_data): Add new fields for dynamic
606         linking: elf_backend_create_dynamic_sections,
607         elf_backend_adjust_dynamic_symbol,
608         elf_backend_size_dynamic_sections,
609         elf_backend_finish_dynamic_symbol,
610         elf_backend_finish_dynamic_sections.
611         (struct elf_link_hash_entry): Change type of align field to
612         bfd_size_type.  Add fields dynindx, dynstr_index, weakdef,
613         elf_link_hash_flags.
614         (struct elf_link_hash_table): Add fields dynobj, dynsymcount,
615         dynstr, bucketcount.
616         (bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
617         (bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
618         (bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
619         (bfd_elf32_add_dynamic_entry): Declare.
620         (bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
621         (bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
622         (bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
623         (bfd_elf64_add_dynamic_entry): Declare.
624         * elfcode.h (Elf_External_Dyn): Define.
625         (elf_swap_reloc_in): Define as macro using NAME.  Make externally
626         visible.
627         (elf_swap_reloc_out): Likewise.
628         (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
629         (elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
630         and as new externally visible function.
631         (elf_fake_sections): Set section type of dynamic sections based on
632         section names.
633         (elf_write_phdrs): Remove.
634         (assign_file_position_for_section): Add new align argument.
635         Change all callers.
636         (get_program_header_size): New static function.
637         (struct seg_info): Remove.
638         (map_program_segments): Completely rewrite.
639         (assign_file_positions_except_relocs): Completely rewrite.
640         (assign_file_positions_for_relocs): Don't set a file position for
641         sections which already have one.  Don't bother to align the file
642         position here.
643         (section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
644         section types.
645         (elf_section_from_bfd_section): Likewise.
646         (elf_slurp_symbol_table): If section_from_elf_index fails, just
647         use bfd_abs_section rather than returning an error.
648         (elf_sizeof_headers): Make useful.
649         (elf_link_record_dynamic_symbol): New static function.
650         (elf_link_add_object_symbols): Handle dynamic objects.
651         (elf_link_create_dynamic_sections): New static function.
652         (elf_add_dynamic_entry): Define as macro using NAME and as new
653         externally visible function.
654         (NAME(bfd_elf,record_link_assignment)): New function.
655         (elf_buckets): New static variable.
656         (NAME(bfd_elf,size_dynamic_sections)): New function.
657         (struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
658         (elf_bfd_final_link): Handle dynamic linking.  Create a section
659         symbol for all ELF sections, not all BFD sections.  Store section
660         symbol index in target_index field, not index field.  Traverse
661         over global symbols even if stripping.
662         (elf_link_output_extsym): Output dynamic symbols.  Mark symbols
663         defined by dynamic objects as undefined.
664         (elf_link_input_bfd): Ignore dynamic objects.  Use target_index
665         field for section relocs, and make sure it is set.
666         (elf_reloc_link_order): Use target_index field for section relocs,
667         and make sure it is set.
668         * elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
669         weakdef and elf_link_hash_flags fields.
670         (_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
671         dynstr and bucketcount fields.
672         * elf32-target.h: Initialize new dynamic linking fields.
673         * elf64-target.h: Likewise.  
674         * elf32-i386.c: New functions for dynamic linking support.
675         * elf32-sparc.c: Likewise.
676         * bfd-in.h (bfd_elf32_record_link_assignment): Declare.
677         (bfd_elf64_record_link_assignment): Declare.
678         (bfd_elf32_size_dynamic_sections): Declare.
679         (bfd_elf64_size_dynamic_sections): Declare.
680         * bfd-in2.h: Rebuilt.
681
682 Wed May 18 08:29:04 1994  Ian Lance Taylor  (ian@cygnus.com)
683
684         * som.c: Don't include <sys/dir.h> or <sys/user.h>.
685         (som_reloc_queue_find): Call memcmp instead of bcmp.
686         (som_bfd_reloc_type_lookup): Change first argument to bfd *.
687         (compare_syms): Change types of arguments to const void *.
688         (bfd_section_from_som_symbol): Removed unused local found.
689         (som_write_armap): Add elength, map, orl_count and int arguments.
690         (som_write_armap): Use %ld and cast to long for getuid result.
691
692 Wed May 18 09:09:32 1994  Jeff Law  (law@snake.cs.utah.edu)
693
694         * elf32-hppa.h (R_HPPA_ABS_CALL): Define.
695         * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.
696
697         * som.h (R_HPPA_ABS_CALL): Define.
698         * som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
699
700 Tue May 17 19:33:12 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
701
702         * coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading
703         underscore, for compatibility with Intel tool chain (gnu960v2).
704
705 Mon May 16 10:09:22 1994  Jeff Law  (law@snake.cs.utah.edu)
706
707         * bfd-in2.h: Rebuilt.
708
709         * elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
710         likewise for other PA specific sections.
711         (hppa_elf_relocate_unwind_table): Delete unused
712         function.
713         (elf_hppa_howto_table): Completely new table based on 94-02-02
714         draft PA ELF spec.  Change relocation tags appropriately
715         throughout elf32-hppa.c
716         (hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
717         spec.
718         (hppa_elf_reloc): Likewise.
719         (hppa_look_for_stubs_in_section): Likewise
720         (ELF_MACHINE_CODE): Change to EM_PARISC.
721         * elf32-hppa.h: Include "elf/hppa.h".  Change relocation tags 
722         appropriately throughout elf32-hppa.h.
723         (elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
724         spec.
725         (R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
726         * elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
727         * reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
728         * som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.
729
730         * libhppa.h (hppa_field_adjust): Avoid adding constant_value into
731         the final value twice for LR and RR field selectors.
732
733 Sat May 14 09:09:19 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
734
735         * aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert.  This
736         avoids __eprintf troubles.
737
738 Fri May 13 10:51:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
739
740         * bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR.
741
742         * config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and
743         ecoff_little_vec since Irix 5 supports ECOFF executables.
744
745 Wed May 11 00:31:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
746
747         * ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr
748         correctly.
749
750         * Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS
751         make to invoke the shell.
752
753 Tue May 10 14:23:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
754
755         * section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
756         SEC_SHARED_LIBRARY for clarity.  Changed all uses.
757         * bfd-in2.h: Rebuilt.
758         * coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
759         set, set STYP_NOLOAD.
760         * coffgen.c (coff_section_from_bfd_index): Don't get an assertion
761         failure because of a bad shared library.
762
763 Mon May  9 18:53:40 1994  Bill Cox  (bill@rtl.cygnus.com)
764
765         * linker.c: Add missing comment terminator.
766
767 Mon May  9 11:53:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
768
769         * linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
770         are not NULL, assume the caller has already looked up the symbol
771         in the hash table and has stored the entry in *hashp.
772         (generic_link_add_symbol_list): Set h to NULL before calling
773         _bfd_generic_link_add_one_symbol.
774         * ecoff.c (ecoff_link_add_externals): Likewise.
775
776         * elfcode.h (assign_file_positions_except_relocs): Don't require
777         page shared between .data and .bss segments to contain zeroes.
778
779         * elfcode.h: Include bfdlink.h.  Added several new functions to do
780         linking.
781         (ELF_R_TYPE): Define.
782         (bfd_add_to_strtab): Return unsigned long.  Change check for
783         realloc failure.
784         (elf_fake_sections): Check return value of bfd_add_to_strtab.
785         (elf_compute_section_file_positions): Add link_info argument.
786         Call elf_backend_begin_write_processing hook and prep_headers
787         here.  Only call swap_out_syms if link_info is NULL.  Set up
788         .shstrtab section here.  Pass dosyms argument to
789         assign_file_positions_except_relocs.  Set output_has_begun flag.
790         (assign_file_positions_for_symtab_and_strtabs): Add dosyms
791         argument, and use it to control setting .symtab and .strtab file
792         positions.
793         (assign_file_positions_except_relocs): Add dosyms argument, and
794         pass it on.
795         (prep_headers): Check return value of bfd_add_to_strtab.
796         (swap_out_syms): Likewise.  Also, don't set up .shstrtab here.
797         (NAME(bfd_elf,write_object_contents)): Some calls moved into
798         elf_compute_section_file_positions.
799         (elf_set_section_contents): Likewise.
800         (elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
801         * libelf.h: Include bfdlink.h.
802         (struct elf_backend_data): Add fields collect,
803         elf_add_symbol_hook, elf_backend_relocate_section.
804         (struct bfd_elf_section_data): Add field rel_hashes.
805         (struct elf_obj_tdata): Remove fields internal_syms and symbols.
806         Add field sym_hashes.
807         (obj_symbols, obj_internal_syms): Remove definitions.
808         (elf_sym_hashes): Define.
809         (struct elf_link_hash_entry): Define.
810         (struct elf_link_hash_table): Define.
811         (elf_link_hash_lookup): Define.
812         (elf_link_hash_traverse): Define.
813         (elf_hash_table): Define.
814         (_bfd_elf_link_hash_table_create): Declare.
815         (bfd_elf32_bfd_link_add_symbols): Declare.
816         (bfd_elf32_bfd_final_link): Declare.
817         (bfd_elf64_bfd_link_add_symbols): Declare.
818         (bfd_elf64_bfd_final_link): Declare.
819         * elf.c: Include bfdlink.h.
820         (elf_link_hash_newfunc): New function.
821         (_bfd_elf_link_hash_table_create): New function.
822         * elf32-target.h (elf_backend_relocate_section): If not defined,
823         define as 0 and use generic linker.  Otherwise, use ELF backend
824         linker.
825         (elf_backend_collect): If not defined, define as false.
826         (elf_backend_add_symbol_hook): If not defined, define as 0.
827         (elf32_bed): Initialize new fields.
828         * elf64-target.h: Same changes as elf32-target.h.
829         * elf32-i386.c: Include bfdlink.h.
830         (elf_i386_relocate_section): New function.
831         (elf_backend_relocate_section): Define.
832         * elf32-sparc.c: Include bfdlink.h.
833         (elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
834         to Elf_Internal_Rela (they're the same type anyhow).
835         (elf_sparc_relocate_section): New function.
836         (elf_backend_relocate_section): Define.
837         * elf32-mips.c (elf_backend_collect): Define.
838
839         * Makefile.in (stmp-bfd.h): Avoid useless make error message in a
840         different way; touch takes a numeric argument on some systems.
841
842 Fri May  6 13:34:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
843
844         * nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
845         handling for latest suggested format.
846         (nlm_swap_auxiliary_headers_out): Likewise.
847         (nlm_compute_section_file_positions): Likewise.
848
849 Fri May  6 11:11:50 1994  D. V. Henkel-Wallace  (gumby@rtl.cygnus.com)
850
851         * config.bfd: handle erricsson config (for OSE).
852
853 Thu May  5 15:40:47 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
854
855         Patches from Ralph Campbell:
856         * mipsbsd.c (mips_fix_jmp_addr): New function.
857         (mips_fix_hi16_s): Use bfd_is_com_section.
858         (mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
859
860 Fri May  6 11:48:55 1994  Steve Chamberlain  (sac@cygnus.com)
861
862         * config/go32.mh: XX support.
863
864         From bill
865         * Makefile.in: Build sysdep.h without causing worrying but
866         harmless error message.
867
868 Wed May  4 11:09:53 1994  Ian Lance Taylor  (ian@cygnus.com)
869
870         Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.
871         * aout0.c: New file.
872         * targets.c (aout0_big_vec): Declare.
873         (bfd_target_vector): Add aout0_big_vec.
874         * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout.
875         * config/m68k-aout.mt (SELECT_VECS): Removed.
876         * config/m68k-0aout.mt: New file.
877         * configure.in (aout0_big_vec): New target vector: use aout0.o,
878         aout32.o and stab-syms.o.
879         * Makefile.in: Rebuilt dependencies.
880         (BFD32_BACKENDS): Add aout0.o.
881         (CFILES): Add aout0.c.
882
883         * libaout.h (struct aout_backend_data): Add field exec_hdr_flags.
884         * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0.
885         MY(backend_data): Initialize exec_hdr_flags field.
886         * aoutf1.h (sunos_32_set_arch_mach): Make static.
887         (aout32_sunos4_write_object_contents): Set flags from backend
888         info.
889         (MY_exec_hdr_flags): If not defined, define as 1.
890         (sunos4_aout_backend): Initialize exec_hdr_flags field.
891         * aout-encap.c (encap_write_object_contents): Set flags from
892         backend info.
893         (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE.
894         * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2.
895         (MY(write_object_contents)): Set flags from backend info.
896         * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field.
897         * i386mach3.c (MY(backend_data)): Likewise.
898         * mipsbsd.c (MY(backend_data)): Likewise.
899         * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set
900         flags from backend info.
901         (sparclynx_aout_backend): Initialize exec_hdr_flags field.
902
903 Wed May  4 02:56:00 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
904
905         * config.bfd (i386-*-gnu*): Treat like i386-*-mach*.
906         (m68*-apollo-*): Treat all Apollo configs the same, don't handle
907         BSD specially.
908
909 Tue May  3 19:43:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
910
911         * cache.c: Rewrote to work correctly.
912         * libbfd.h: Rebuilt.
913         * opncls.c (bfd_cache_init, bfd_open_file): Don't declare.
914         (bfd_fdopenr): Check return value of bfd_cache_init.
915
916 Fri Apr 29 15:08:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
917
918         * cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by
919         enumerating them, since the reloc type can not serve as an index
920         into the m68k COFF howto_table.
921
922 Fri Apr 29 09:42:39 1994  Steve Chamberlain  (sac@cygnus.com)
923
924         * config.bfd (*-go32): Changed to coff.
925         * coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.
926         * srec.c (srec_write_symbols): Write out the correct number of
927         symbols and don't stick in extra nulls.
928
929 Tue Apr 26 15:07:24 1994  Stan Shebs  (shebs@andros.cygnus.com)
930
931         * cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
932         * coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
933         (COFF_SPARC): Define.
934         * coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
935         power of data and bss sections to 3.
936         * hosts/lynx.h (__LYNXOS): Define.
937
938 Tue Apr 26 15:04:26 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
939
940         * elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations
941         against section symbols to avoid losing during ld -r.
942
943 Tue Apr 26 12:16:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
944
945         * elfcode.h (shstrtab_length_fixed): Remove useless static
946         variable.
947         (struct elf_sect_data): Remove unused structure.
948         (elf_object_p): Free memory if error occurs.  Check return value
949         of bfd_default_set_arch_mach.  If elf_get_str_section fails,
950         preserve error code rather than setting wrong_format.
951         (null_shdr): Remove static variable.
952         (assign_section_numbers): Remove shstrtab_length_fixed assignment.
953         Allocate first section header on BFD obstack rather than using
954         null_shdr.
955         (bfd_prpsinfo): Remove unused local variable newsect.
956
957 Mon Apr 25 15:31:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
958
959         * elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.
960
961         * elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
962         to create sections.  Check return value of recursive calls.
963         (bfd_section_from_phdr): Check return value of bfd_make_section.
964         (elf_symbol_from_bfd_symbol): Likewise.
965         (elf_object_p): Check return value of bfd_section_from_shdr.
966         (section_from_elf_index): Likewise.
967         (elf_slurp_symbol_table): Check return value of
968         section_from_elf_index.
969         (bfd_prstatus): Return boolean value.  Check return value of
970         bfd_make_section.
971         (bfd_fpregset): Likewise.
972         (bfd_prpsinfo): Return boolean value.
973         (elf_corefile_note): Check return values of bfd_prstatus,
974         bfd_fpregset, and bfd_prpsinfo.
975         (elf_core_file_p): Check return value of elf_corefile_note.
976
977 Fri Apr 22 11:08:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
978
979         Get rid of the ECOFF .reginfo section hack.
980         * ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
981         (ecoff_new_section_hook): Don't handle the .reginfo section.
982         (ecoff_sizeof_headers): Likewise.
983         (ecoff_get_section_contents): Likewise.
984         (ecoff_compute_section_file_positions): Likewise.
985         (ecoff_compute_reloc_file_positions): Likewise.
986         (ecoff_set_section_contents): Likewise.
987         (ecoff_write_object_contents): Likewise.
988         (ecoff_bfd_final_link): Likewise.
989         (ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
990         register masks.
991         (bfd_ecoff_get_gp_value): New function.
992         (bfd_ecoff_set_gp_value): New function.
993         (bfd_ecoff_set_regmasks): New function.
994         * bfd-in.h (bfd_ecoff_get_gp_value): Declare.
995         (bfd_ecoff_set_gp_value): Declare.
996         (bfd_ecoff_set_regmasks): Declare.
997         * bfd-in2.h: Rebuilt.
998
999         Fix ECOFF objcopy to actually copy debugging information.
1000         * ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
1001         (ecoff_get_extr): Assume that any ECOFF symbol with local clear is
1002         an external symbol, rather than checking the symbol flags.  Only
1003         check the flags for non-ECOFF symbols.
1004         * ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
1005         output_section field of the symbol section is NULL.
1006         * libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
1007         function rather than defining as macro.
1008
1009         * ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if
1010         appropriate.
1011
1012         * targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.
1013
1014         * aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
1015         bfd_default_set_arch_mach.  Accept bfd_arch_m68k as well as
1016         bfd_arch_unknown.
1017         * coffcode.h (coff_set_arch_mach): Check return value of
1018         bfd_default_set_arch_mach.
1019         * elfcode.h (elf_set_arch_mach): Don't check a list of ELF
1020         architectures, just see if the desired architecture matches what
1021         the ELF backend permits.
1022
1023         * coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to
1024         SH_ARCH_MAGIC to match change in coff/sh.h.
1025         (coff_set_flags): Likewise.
1026
1027         Follow convention in which each NLM header has an 8 byte stamp
1028         followed by a four byte length.
1029         * libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
1030         to nlm_cygnus_ext_header, and change type to
1031         Nlm_Internal_Cygnus_Ext_Header.
1032         (nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
1033         * nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
1034         of CyGnUsSeCs.  Rename from cygnus_section to cygnus_ext.  Require
1035         length word to be 8.
1036         (nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
1037         cygnus_ext.  Set length word to 8.
1038         (nlm_compute_section_file_positions): Rename from cygnus_section
1039         to cygnus_ext.
1040
1041 Thu Apr 21 22:54:22 1994  Stu Grossman  (grossman at cygnus.com)
1042
1043         * nlmcode.h (nlm_swap_auxiliary_headers_in):  Keep section table
1044         (from CyGnUsSeCs) in more permanent memory to keep section names
1045         from getting trashed.
1046
1047 Thu Apr 21 09:29:37 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
1048
1049         * libelf.h (elf_obj_tdata):  Add members for dynamic symbol table
1050         handling.
1051         * elfcode.h (bfd_section_from_shdr):  Handle dynamic symbol table.
1052         * elfcode.h (elf_slurp_symbol_table):  Take additional parameter
1053         to select static or dynamic symbol table and return number of
1054         symbols slurped or -1 on error.
1055         * elfcode.h (elf_get_symtab):  Set bfd symcount from
1056         elf_slurp_symbol_table result.
1057         * elfcode.h (elf_get_dynamic_symtab_upper_bound,
1058         elf_canonicalize_dynamic_symtab):  New functions to handle dynamic
1059         symbol table.
1060         * elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
1061         Change to handle dynamic symbol table, provide default definitions
1062         for dynamic relocs.
1063         * aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
1064         NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
1065         aout_link_reloc_link_order):  Handle r_jmptable and r_relative
1066         relocations.
1067
1068 Thu Apr 21 11:58:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1069
1070         Clean up uses of _bfd_dummy_target (from Peter Schauer).
1071         * libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
1072         * nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
1073         NULL.
1074         * srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
1075         _bfd_check_format.
1076         (symbolsrec_vec): Likewise.
1077         * tekhex.c (tekhex_vec): Likewise.
1078
1079         * libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
1080         field.
1081         (nlm_cygnus_section_header): New accessor macro.
1082         * nlmcode.h (nlm_object_p): Free new tdata structure if failure.
1083         Add fixed sections before swapping in auxiliary headers.  After
1084         adding sections, treat errors as real, not as wrong format.
1085         (nlm_swap_auxiliary_headers_in): Swap in the sections header; add
1086         sections to the BFD for each section it describes.
1087         (nlm_swap_auxiliary_headers_out): Swap out the sections header.
1088         (nlm_compute_section_file_positions): Account for the size of the
1089         sections header.
1090
1091 Wed Apr 20 16:45:51 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1092
1093         * coff-sparc.c (sparccoff_vec): Change minimum alignment power to
1094         2, so that stab sections can be multiples of 4 bytes only.
1095
1096         * hosts/i386aix.h: Changes to avoid prototypes conflicts with the
1097         ones defined in stdlib.h.  (From Minh Tran-Le.)
1098
1099 Wed Apr 20 14:15:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1100
1101         * nlm32-ppc.c: Complete rewrite for new version of PowerPC
1102         NetWare.  Old code still present, but ifdeffed out.
1103
1104         * nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
1105         particular format for the customer header.  Allocate a block of
1106         memory and read it into that.
1107         (nlm_swap_auxiliary_headers_out): Write out the block of memory.
1108         (nlm_compute_section_file_positions): Include length of customer
1109         header when computing its size.
1110
1111 Mon Apr 18 14:27:17 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1112
1113         * som.c (som_prep_headers): Get the space's number from the
1114         backend private section data rather than target_index.
1115         (bfd_som_set_section_attributes): Store the space's number
1116         in the backend private section data rather than target_index.
1117
1118         * som.h (som_copyable_section_data_struct): Add space_number.
1119
1120 Fri Apr 15 12:22:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1121
1122         * coff-a29k.c (reloc_processing): Always set the address of a
1123         R_IHCONST reloc to that of the immediately preceding R_IHIHALF.
1124         gas does this anyhow, but some other assemblers seem to leave
1125         garbage in the R_IHCONST address field.
1126
1127         * bfd/archive.c: Consistently use ARFMAG; from
1128         schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
1129         (_bfd_write_archive_contents): Use ARFMAG rather than '`' and
1130         '\012'.
1131         (bsd_write_armap): Likewise.
1132         (coff_write_armap): Likewise.
1133
1134         * coff-mips.c (mips_relocate_section): When relaxing, adjust local
1135         relocs against the .text section as required.
1136         * ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust
1137         PDR addresses as required.
1138
1139         * ecoff.c (ecoff_emit_aggregate): Take fdr argument.  Map fdr
1140         index through rfd map if it exists.  Check for a couple of cases
1141         which gdb handles specially.  Change all callers.
1142         (ecoff_type_to_string): Take fdr argument rather than aux_ptr and
1143         bigendian argument.  Change all callers.
1144         (ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
1145
1146 Thu Apr 14 13:05:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1147
1148         * coff-mips.c (mips_howto_table): Add dummy entries to account for
1149         numbering changes in include/coff/mips.h.  Add entries for
1150         MIPS_R_RELHI and MIPS_R_RELLO.
1151         (mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
1152         when little endian.  Treat internal MIPS_R_RELLO or MIPS_R_RELHI
1153         relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
1154         bits.
1155         (mips_ecoff_swap_reloc_out): Likewise.
1156         (mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
1157         MIPS_R_RELHI relocs like MIPS_R_SWITCH.
1158         (mips_adjust_reloc_out): Likewise.
1159         (mips_relhi_addr, mips_relhi_addend): New static variables.
1160         (mips_relhi_reloc, mips_rello_reloc): New functions.
1161         (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
1162         MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
1163         (mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
1164         argument.  Changed all callers.
1165         (mips_relocate_section): Rename got_reflo to got_lo and
1166         reflo_int_rel to lo_int_rel.  Handle MIPS_R_RELLO and MIPS_R_RELHI
1167         relocs.
1168         (mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
1169         expanding a PC relative call.
1170
1171         * reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S
1172         and BFD_RELOC_PCREL_LO16.
1173         * bfd-in2.h: Rebuilt.
1174
1175 Wed Apr 13 11:50:07 1994  Stan Shebs  (shebs@andros.cygnus.com)
1176
1177         * coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
1178
1179 Tue Apr 12 13:36:20 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1180
1181         * som.c (som_write_fixups): Always emit at least
1182         one relocation for any non-bss section.
1183
1184 Mon Apr 11 14:41:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1185
1186         * elfcode.h (assign_file_positions_except_relocs): Don't require
1187         the file alignment to correspond to the page size when linking
1188         with -N.
1189
1190 Sun Apr 10 01:02:24 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1191
1192         * elfcode.h (write_relocs): For rela relocations, adjust the
1193         addend for relocations involving section symbols to account
1194         for the lossage of 1:1 mapping from input section symbols to
1195         output section symbols.
1196
1197 Fri Apr  8 12:22:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1198
1199         * aoutx.h (NAME(aout,make_sections)): New function.
1200         (NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
1201         rather than making sections inline.
1202         (NAME(aout,mkobject)): Don't make any sections.
1203         (NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
1204         (NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
1205         obj_datasec (abfd) if they are NULL.
1206         * libaout.h (NAME(aout,make_sections)): Declare.
1207         * bout.c (b_out_mkobject): Don't make any sections.
1208         (b_out_write_object_contents): Call aout_32_make_sections.
1209         (b_out_set_section_contents): Likewise.
1210         * i386os9k.c (os9k_mkobject): Don't make any sections.
1211         (os9k_write_object_contents): Call aout_32_make_sections.
1212         (os9k_set_section_contents): Likewise.
1213
1214         * aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
1215         index.
1216
1217 Wed Apr  6 20:44:56 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
1218
1219         * config.bfd, configure.host:  Add mips-*-sysv4* support.
1220
1221 Thu Apr  7 14:23:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1222
1223         * coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
1224         (mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
1225         r_offset and set r_symndx to RELOC_SECTION_TEXT.
1226         (mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
1227         value from the r_offset field.
1228         (mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
1229         For MIPS_R_SWITCH, copy the r_offset field into the addend field.
1230         (mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
1231         into the r_offset field.
1232         (mips_switch_reloc): New function.
1233         (mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
1234         MIPS_R_SWITCH.
1235         (mips_relocate_section): Handle MIPS_R_SWITCH.
1236         (mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
1237
1238 Thu Apr  7 11:10:51 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1239
1240         * elfcode.h (elf_set_section_contents): Support calling the backend
1241         function elf_backend_begin_write_processing when just beginning to
1242         write an object file.
1243
1244         * libelf.h (elf_backend_begin_write_processing): Declare.
1245
1246         * elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
1247         a default definition.
1248         (elf{32,64}_bed): Add elf_backend_begin_write_processing.
1249         
1250         * elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
1251         (elf_hppa_tc_make_sections): Likewise.
1252
1253         * elf32-hppa.c (symext_chain_built): Delete.
1254         (symext_chain_size): Renamed from symextn_contents_real_size.
1255         (elf32_hppa_backend_{begin,final}_write_processing): New functions.
1256         (add_entry_to_symext_chain): New function.
1257         (hppa_elf_set_section_contents): Ignore writes to the symbol extension
1258         section until it's been rebuilt internally.
1259         (hppa_elf_get_section_contents): Symbol extension section is no
1260         longer special.
1261         (elf_backend_{begin,final}_write_processing): Define.
1262         (elf_hppa_tc_make_sections): Simplify now that much code has
1263         migrated into elf32_hppa_backend_{being,final}_write_processing.
1264
1265 Wed Apr  6 17:24:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1266
1267         Add new target vectors to read the dynamic symbols and dynamic
1268         relocs.  Change a.out to use these rather than reading the dynamic
1269         symbols and relocs along with the normal symbols and relocs.
1270         * targets.c (bfd_target): Add fields
1271         _bfd_get_dynamic_symtab_upper_bound,
1272         _bfd_canonicalize_dynamic_symtab,
1273         _bfd_get_dynamic_reloc_upper_bound,
1274         _bfd_canonicalize_dynamic_reloc.
1275         (BFD_JUMP_TABLE_DYNAMIC): Define.
1276         * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
1277         Define.
1278         (_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
1279         (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
1280         (_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
1281         * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
1282         (bfd_canonicalize_dynamic_symtab): Define.
1283         (bfd_get_dynamic_reloc_upper_bound): Define.
1284         (bfd_canonicalize_dynamic_reloc): Define.
1285         * sunos.c (MY_read_dynamic_symbols): Don't define.
1286         (MY_read_dynamic_relocs): Don't define.
1287         (MY_get_dynamic_symtab_upper_bound): Define.
1288         (MY_canonicalize_dynamic_symtab): Define.
1289         (MY_get_dynamic_reloc_upper_bound): Define.
1290         (MY_canonicalize_dynamic_reloc): Define.
1291         (struct sunos_dynamic_info): Change type of dynsym_count and
1292         dynrel_count to long.  Add fields canonical_dynsym and
1293         canonical_dynrel.
1294         (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
1295         Clear info->canonical_dynsym and info->canonical_dynrel.
1296         (MY(read_dynamic_symbols)): Removed.
1297         (MY(read_dynamic_relocs)): Removed.
1298         (sunos_get_dynamic_symtab_upper_bound): New function.
1299         (sunos_canonicalize_dynamic_symtab): New function.
1300         (sunos_get_dynamic_reloc_upper_bound): New function.
1301         (sunos_canonicalize_dynamic_reloc): New function.
1302         * libaout.h: Declare struct reloc_ext_external and
1303         reloc_std_external to avoid prototype problems.
1304         (struct aout_backend_data): Remove fields read_dynamic_symbols and
1305         read_dynamic_relocs.
1306         (NAME(aout,translate_symbol_table)): Declare.
1307         (NAME(aout,swap_ext_reloc_in)): Declare.
1308         (NAME(aout,swap_std_reloc_in)): Declare.
1309         * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
1310         translate_symbol_table and made non-static.  Changed all callers.
1311         (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
1312         (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
1313         (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
1314         * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
1315         remove dynamic symbols and relocs.  They will no longer be
1316         present.
1317         (MY_read_dynamic_symbols): Don't define.
1318         (MY_read_dynamic_relocs): Don't define.
1319         (sunos4_aout_backend): Don't initialize dynamic entry points.
1320         * aout-target.h (MY_read_dynamic_symbols): Don't define.
1321         (MY_read_dynamic_relocs): Don't define.
1322         (MY(backend_data)): Don't initialize dynamic entry points.
1323         (MY_get_dynamic_symtab_upper_bound): If not defined, define to
1324         _bfd_nodynamic version.
1325         (MY_canonicalize_dynamic_symtab): Likewise.
1326         (MY_get_dynamic_reloc_upper_bound): Likewise.
1327         (MY_canonicalize_dynamic_reloc): Likewise.
1328         * All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
1329         * bfd-in2.h: Rebuilt.
1330         * libbfd.h: Rebuilt.
1331
1332         * cf-m68klynx.c: Include sysdep.h.
1333
1334         * hp300hpux.c: Removed some spaces in uses of NAME to avoid
1335         problems with traditional C compilers.
1336
1337         * targets.c (bfd_target): Rearranged fields in target vector.
1338         Removed _bfd_debug_info_start, _bfd_debug_info_end and
1339         _bfd_debug_info_accumulate, which were never used.
1340         (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
1341         (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
1342         (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
1343         (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
1344         * All backends: Changed to use the new BFD_JUMP_TABLE_* macros
1345         rather than the single JUMP_TABLE macro.  Removed many of the
1346         weird macro definitions needed to support the monolithic
1347         JUMP_TABLE.
1348         * bfd-in.h (JUMP_TABLE): Removed.
1349         * libbfd-in.h: Define a bunch of macros, and declare a few
1350         functions, for use with the new BFD_JUMP_TABLE_* macros.
1351         * libbfd.c (_bfd_dummy_new_section_hook): Removed.
1352         (bfd_false): Set bfd_error_invalid_operation.
1353         (bfd_nullvoidptr): Likewise.
1354         (bfd_n1): New function.
1355         (_bfd_nocore_core_file_matches_executable_p): Renamed from
1356         _bfd_dummy_core_file_matches_executable_p.
1357         (_bfd_nocore_core_file_failing_command): Similar rename.  Set
1358         bfd_error_invalid_operation.
1359         (_bfd_nocore_core_file_failing_signal): Likewise.
1360         (_bfd_generic_get_section_contents): Renamed from
1361         bfd_generic_get_section_contents.  Changed all callers.
1362         (_bfd_generic_set_section_contents): Similar rename.
1363         * ieee.c: #if 0 out ieee_bfd_debug_info_start,
1364         ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate.  They
1365         were never called.
1366         * bfd-in2.h: Rebuilt.
1367         * libbfd.h: Rebuilt.
1368
1369 Tue Apr  5 22:10:04 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1370
1371         * Crude support for examining dynamic libraries.
1372         * som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
1373         DL_MAGIC objects.
1374         (som_prep_headers): Preserve the system_id for DYNAMIC objects.
1375         Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
1376         Write exec headers for DYNAMIC objects.
1377         (som_begin_writing): DYNAMIC objects have the same alignment
1378         restrictions as D_PAGED objects.
1379         (bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
1380         objects.
1381         (object_flags): Add DYNAMIC.
1382
1383 Tue Apr  5 17:48:52 1994  Stan Shebs  (shebs@andros.cygnus.com)
1384
1385         * i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
1386         macro uses, confuses some non-ANSI compilers.
1387
1388 Tue Apr  5 15:50:01 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1389
1390         * som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
1391         Don't free anything if we don't have a bfd_object.
1392         (som_close_and_cleanup): Call som_bfd_free_cached_info.
1393
1394 Tue Apr  5 11:22:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1395
1396         * elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
1397         It turns out not to be required on Irix 5, and it causes problems
1398         if the sections happen to contain symbols.
1399
1400         * elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
1401
1402         * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
1403         section->relocation is NULL; malloc might have returned NULL when
1404         given a zero size if there were no relocations.
1405         * bout.c (b_out_canonicalize_reloc): Likewise.
1406         * coffcode.h (coff_canonicalize_reloc): Likewise.
1407         * ecoff.c (ecoff_canonicalize_reloc): Likewise.
1408         * elfcode.h (elf_canonicalize_reloc): Likewise.
1409         * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
1410         * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
1411         * nlmcode.h (nlm_canonicalize_reloc): Likewise.
1412         * som.c (som_canonicalize_reloc): Likewise.
1413         * hp300hpux.c (MY(slurp_reloc_table)): Likewise.  Also, if malloc
1414         returns NULL, don't report an error if we asked for zero bytes.
1415         * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
1416         NULL, don't report an error if we asked for zero bytes.
1417         * nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
1418
1419 Mon Apr  4 15:30:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1420
1421         * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
1422         if we don't have a bfd_object.
1423
1424         Made sure that every call to bfd_read, bfd_write, and bfd_seek
1425         checks the return value and handled bfd_error correctly.  These
1426         changes are not itemised.  Also:
1427         * aoutx.h (emit_strtab): Change return type to boolean, and return
1428         errors.
1429         (NAME(aout,write_syms)): Check emit_strtab return value.
1430         (NAME(aout,final_link)): Likewise.
1431         * coffcode.h (coff_write_relocs): Change return type to boolean,
1432         and return errors.
1433         (coff_write_object_contents): Check coff_write_relocs return
1434         value.
1435         * i386os9k.c (os9k_swap_exec_header_in): Change return type to
1436         boolean.
1437         (os9k_object_p): Check os9k_swap_exec_header_in return value.
1438         * oasys.c (oasys_read_record): Change return type to boolean.
1439         (oasys_slurp_symbol_table: Check oasys_read_record return value.
1440         (oasys_object_p, oasys_slurp_section_data): Likewise.
1441         (oasys_write_record): Change return type to boolean.
1442         (oasys_write_syms): Likewise.  Also, check oasys_write_record
1443         return value.
1444         (oasys_write_sections): Check oasys_write_record return value.
1445         (oasys_write_header): Change return type to boolean.  Check
1446         oasys_write_record return value.
1447         (oasys_write_end, oasys_write_data): Likewise.
1448         (oasys_write_object_contents): Check return values of
1449         oasys_write_header, oasys_write_syms, oasys_write_data, and
1450         oasys_write_end.
1451         * srec.c (srec_write_record): Change return type to boolean.
1452         (srec_write_header): Likewise.  Also, check srec_write_record
1453         return value.
1454         (srec_write_section, srec_write_terminator): Likewise.
1455         (srec_write_symbols): Change return type to boolean.
1456         (internal_srec_write_object_contents): Check return value of
1457         srec_write_symbols, srec_write_header, srec_write_section, and
1458         srec_write_terminator.
1459
1460         * Makefile.in: Rebuilt dependencies.
1461
1462 Mon Apr  4 10:56:45 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
1463
1464         * aix386-core.c (aix386_bfd_is_local_label):  Correct cast from
1465         asection to asymbol.
1466         * ptrace-core.c (ptrace_unix_bfd_is_local_label):  Correct cast from
1467         bfd to asymbol.
1468         * trad-core.c (trad_unix_bfd_is_local_label):  Correct cast from
1469         asection to asymbol.
1470
1471 Sun Apr  3 18:27:29 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1472
1473         * som.c (som_slurp_string_table): Use malloc to allocate space
1474         for the cached copy of the native string table.
1475         (som_slurp_symbol_table): Likewise for the native symbol table.
1476         (som_slurp_reloc_table): Likewise for the native and generic
1477         relocation tables.
1478         (som_bfd_free_cached_info): Free the cached native strings,
1479         symbols, and relocations.  Also free the canonical cached
1480         relocations.
1481
1482 Fri Apr  1 12:40:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1483
1484         * aoutx.h (aout_link_write_symbols): If keep_memory is false, make
1485         sure the symbol name is stored in permanent memory before adding
1486         it to the string table.
1487
1488         * archive.c (_bfd_write_archive_contents): Once we've found an
1489         object, don't bother to look for more when deciding whether to
1490         build a map.
1491         (compute_and_write_armap): After adding the symbols for a BFD,
1492         call bfd_free_cached_info on it.
1493
1494         Add bfd_free_cached_info support to a.out backends.
1495         * aoutx.h (aout_get_external_symbols): Renamed from
1496         aout_link_get_symbols.  Read strings even if symbols have been
1497         read.  Store string size in obj_aout_string_size.
1498         (NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
1499         read the symbols.  Allocate the cached symbols with malloc, not
1500         bfd_alloc.
1501         (NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
1502         malloc, not bfd_alloc.
1503         (NAME(aout,bfd_free_cached_info)): New function; free cached
1504         symbols and relocs.
1505         * libaout.h (struct aoutdata): Add external_string_size field.
1506         (obj_aout_external_string_size): New accessor macro.
1507         (NAME(aout,close_and_cleanup)): Don't declare.
1508         (NAME(aout,bfd_free_cached_info)): Declare.
1509         (aout_32_close_and_cleanup): Don't define.
1510         (aout_64_close_and_cleanup): Don't define.
1511         * aout-target.h (MY_bfd_free_cached_info): If not already defined,
1512         define as NAME(aout,free_cached_info).
1513         (MY_close_and_cleanup): If not already defined, define as
1514         MY_bfd_free_cached_info.
1515         * aout-adobe.c (aout_32_close_and_cleanup): Define.
1516         (aout_32_bfd_free_cached_info): Don't define.
1517         * bout.c (aout_32_close_and_cleanup): Define.
1518         (aout_32_bfd_free_cached_info): Don't define.
1519         * hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
1520         (MY_close_and_cleanup): Don't define.
1521         * i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
1522         relocs with malloc, not bfd_alloc.
1523         * i386os9k.c (aout_32_close_and_cleanup): Define.
1524         (aout_32_bfd_free_cached_info): Don't define.
1525
1526         Add a new entry point to free memory cached by a BFD.
1527         * targets.c (bfd_target): Add _bfd_free_cached_info field.
1528         * bfd.c (bfd_free_cached_info): Define.
1529         * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
1530         * bfd-in2.h: Rebuilt.
1531         * All backends: Initialize bfd_free_cached_info entry point to
1532         bfd_true.
1533
1534         * elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
1535         first, unused, argument.
1536         (hppa_elf_is_local_label): Declare instead of
1537         som_bfd_is_local_label.
1538
1539         * coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
1540         absolute R_IREL reloc.
1541
1542 Thu Mar 31 11:52:15 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1543
1544         Added some support for Irix 4 shared libraries.
1545         * ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
1546         .lib section.
1547         (ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
1548         STYP_ECOFF_LIB bit is set.
1549         (ecoff_compute_section_file_positions): Round the contents of a
1550         .lib section up to the next page boundary.
1551         (ecoff_set_section_contents): If we see a .lib section, increment
1552         the vma by one to count the number of shared libraries we have.
1553         (ecoff_write_object_contents): Don't crash if we see a
1554         STYP_ECOFF_LIB section, and don't adjust text_start or data_start
1555         or bss_size either.
1556
1557         * coffcode.h (CALC_ADDEND): Change to fetch original symbol value
1558         from original BFD, rather than using value of current BFD symbol.
1559         Needed for new linker.
1560         * coff-sparc.c (CALC_ADDEND): Likewise.
1561
1562         * ecoff.c (ecoff_write_object_contents): Set the text_start and
1563         data_start entries in the optional header correctly even if a text
1564         or data section starts at location zero.
1565
1566         * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef
1567         and raeburn).
1568         * bfd-in2.h: Rebuilt.
1569
1570         * nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
1571         name.
1572         * nlm32-alpha.c (nlm_alpha_read_import): Likewise.
1573         * nlm32-sparc.c (nlm_sparc_read_import): Likewise.
1574
1575         * coffgen.c (coff_write_symbol): Reindented.  Changed to return
1576         boolean, and changed written to unsigned int *.  Check error
1577         returns from called functions.
1578         (coff_write_alien_symbol): Likewise.
1579         (coff_write_native_symbol): Likewise.
1580         (coff_write_symbols): Likewise.  Reworked checks on whether to
1581         write symbol name to string table for clarity and to avoid core
1582         dumping when given a non COFF symbol.
1583         * libcoff-in.h (coff_write_symbols): Declare as returning boolean.
1584         * libcoff.h: Rebuilt.
1585         * coffcode.h (coff_write_object_contents): Check return value of
1586         coff_write_symbols.
1587
1588 Wed Mar 30 16:25:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1589
1590         Changes to let BFD return an error indication from
1591         get_symtab_upper_bound, bfd_canonicalize_symtab,
1592         bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc.  They now
1593         return long instead of unsigned int, and use -1 to indicate an
1594         error.  Along the way, rename get_symtab_upper_bound to
1595         bfd_get_symtab_upper_bound.
1596         * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on
1597         errors.
1598         (bfd_canonicalize_reloc): Likewise.
1599         * syms.c (bfd_get_symtab_upper_bound): Renamed from
1600         get_symtab_upper_bound.
1601         * targets.c (bfd_target): Renamed _get_symtab_upper_bound to
1602         _bfd_get_symtab_upper_bound, and changed it and
1603         _bfd_canonicalize_symtab and _get_reloc_upper_bound and
1604         _bfd_canonicalize_reloc to all return long.
1605         * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors.
1606         (NAME(aout,canonicalize_reloc)): Likewise.
1607         (NAME(aout,get_reloc_upper_bound)): Likewise.
1608         (NAME(aout,get_symtab_upper_bound)): Likewise.
1609         * bout.c (b_out_canonicalize_reloc): Likewise.
1610         (b_out_get_reloc_upper_bound): Likewise.
1611         * coffcode.h (coff_canonicalize_reloc): Likewise.
1612         * coffgen.c (coff_get_symtab_upper_bound): Likewise.
1613         (coff_get_symtab): Likewise.
1614         (coff_get_reloc_upper_bound): Likewise.
1615         * ecoff.c (ecoff_get_symtab_upper_bound): Likewise.
1616         (ecoff_get_symtab): Likewise.
1617         (ecoff_canonicalize_reloc): Likewise.
1618         * elfcode.h (elf_get_symtab_upper_bound): Likewise.
1619         (elf_get_reloc_upper_bound): Likewise.
1620         (elf_canonicalize_reloc): Likewise.
1621         (elf_get_symtab): Likewise.
1622         * hp300hpux.c (MY(get_symtab)): Likewise.
1623         (MY(get_symtab_upper_bound)): Likewise.
1624         (MY(canonicalize_reloc)): Likewise.
1625         * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
1626         * ieee.c (ieee_slurp_external_symbols): Change return type to
1627         boolean.  Check for errors from get_symbol.
1628         (ieee_slurp_symbol_table): Change return type to boolean.  Check
1629         for errors from ieee_slurp_external_symbols.
1630         (ieee_get_symtab_upper_bound): Return long, and -1 on errors.
1631         (ieee_get_symtab): Likewise.
1632         (ieee_get_reloc_upper_bound): Likewise.
1633         (ieee_canonicalize_reloc): Likewise.
1634         * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
1635         * nlmcode.h (nlm_get_symtab_upper_bound): Likewise.
1636         (nlm_get_symtab): Likewise.
1637         (nlm_get_reloc_upper_bound): Likewise.
1638         (nlm_canonicalize_reloc): Likewise.
1639         * oasys.c (oasys_get_symtab_upper_bound): Likewise.
1640         (oasys_get_symtab): Likewise.
1641         (oasys_get_reloc_upper_bound): Likewise.
1642         (oasys_canonicalize_reloc): Likewise.
1643         * som.c (som_get_symtab_upper_bound): Likewise.
1644         (som_get_symtab): Likewise.
1645         (som_get_reloc_upper_bound): Likewise.
1646         (som_canonicalize_reloc): Likewise.
1647         * srec.c (srec_get_symtab_upper_bound): Likewise.
1648         (srec_get_symtab): Likewise.
1649         (srec_get_reloc_upper_bound): Define as bfd_0l.
1650         (srec_canonicalize_reloc): Likewise.
1651         * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors.
1652         (tekhex_get_symtab_upper_bound): Likewise.
1653         (tekhex_get_reloc_upper_bound): Define as bfd_0l.
1654         (tekhex_canonicalize_reloc): Likewise.
1655         * libaout.h (NAME(aout,get_symtab_upper_bound)): Change
1656         declaration to return long.
1657         (NAME(aout,get_symtab)): Likewise.
1658         (NAME(aout,canonicalize_reloc)): Likewise.
1659         (NAME(aout,get_reloc_upper_bound)): Likewise.
1660         * libcoff-in.h (coff_get_symtab_upper_bound): Likewise.
1661         (coff_get_symtab): Likewise.
1662         (coff_get_reloc_upper_bound): Likewise.
1663         * libecoff.h (ecoff_get_symtab_upper_bound): Likewise.
1664         (ecoff_get_symtab): Likewise.
1665         (ecoff_canonicalize_reloc): Likewise.
1666         * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise.
1667         (bfd_elf32_get_symtab): Likewise.
1668         (bfd_elf32_get_reloc_upper_bound): Likewise.
1669         (bfd_elf32_canonicalize_reloc): Likewise.
1670         (bfd_elf64_get_symtab_upper_bound): Likewise.
1671         (bfd_elf64_get_symtab): Likewise.
1672         (bfd_elf64_get_reloc_upper_bound): Likewise.
1673         (bfd_elf64_canonicalize_reloc): Likewise.
1674         * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise.
1675         (nlmNAME(get_symtab)): Likewise.
1676         (nlmNAME(get_reloc_upper_bound)): Likewise.
1677         (nlmNAME(canonicalize_reloc)): Likewise.
1678         * archive.c (compute_and_write_armap): Use error_return and
1679         no_memory_return labels rather than freeing information in various
1680         places.  Change storage, symcount and src_count to long.  Check
1681         errors from bfd_get_symtab_upper_bound and
1682         bfd_canonicalize_symtab.
1683         * bout.c (b_out_relax_section): Change reloc_size to long.  Check
1684         for errors from bfd_get_reloc_upper_bound and
1685         bfd_canonicalize_reloc.
1686         (b_out_get_relocated_section_contents): Likewise.
1687         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
1688         Likewise.
1689         * elf32-mips.c: Likewise.
1690         * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
1691         (hppa_look_for_stubs_in_section): Check for errors from
1692         bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and
1693         bfd_canonicalize_reloc.
1694         * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors
1695         from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
1696         * linker.c (generic_link_read_symbols): Likewise.
1697         (_bfd_generic_final_link): Check for errors from
1698         bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
1699         * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
1700         * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
1701         (bfd_coff_reloc16_get_relocated_section_contents): Likewise.
1702         * libbfd.c (bfd_0l): New function.
1703         * libbfd-in.h (bfd_0l): Declare.
1704         * aix386-core.c: Change get_symtab_upper_bound, get_symtab,
1705         get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather
1706         than bfd_0u.
1707         * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise.
1708         * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise.
1709         * bfd-in2.h: Rebuilt.
1710         * libbfd.h: Rebuilt.
1711         * libcoff.h: Rebuilt.
1712
1713         * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables
1714         temp and name.
1715
1716 Wed Mar 30 08:33:04 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
1717
1718         * hosts/dpx2.h: Define POSIX_UTIME.
1719
1720 Wed Mar 30 00:31:49 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
1721
1722         * i386dynix.c, config/i386-dynix.mt:  New files, handling Dynix
1723         variant of a.out.
1724         * configure.in, config.bfd:  Use them for Dynix.
1725         * Makefile.in:  Add dependencies for i386dynix.o. 
1726         * targets.c:  Add definition for i386dynix_vec.
1727         * hosts/symmetry.h:  Do not define TRAD_CORE_USER_OFFSET for Dynix.
1728         Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL
1729         for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by
1730         i386dynix.c
1731
1732 Mon Mar 28 12:53:27 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1733
1734         * Makefile.in (BFD32_BACKENDS): Add coff-sparc.o.
1735
1736         * coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like
1737         bfd_arch_rs6000.
1738
1739         * config.bfd (powerpc-*-aix*): New target; use rs6000.mt.
1740         * config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch.
1741
1742         * aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag
1743         for generated constructor section.
1744
1745 Sun Mar 27 16:25:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1746
1747         * som.c (som_begin_writing): New approach at dealing with holes
1748         in executables left by the HP linker.  Does not rely on subspace
1749         alignments as subspaces are *NOT* guaranteed to be properly
1750         aligned in an executable (can you believe that!).
1751
1752 Sat Mar 26 10:25:43 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1753
1754         * som.c (som_get_section_contents): New function.  Do not try
1755         to actually read data from a section that doesn't have either
1756         SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
1757
1758         * libbfd.c (bfd_read): Set bfd_error as appropriate for a short
1759         read. (bfd_error_system_call or bfd_error_file_truncated).
1760
1761         * som.c: Do not blindly set bfd_error_system_call after a
1762         failing bfd_read, bfd_write, or bfd_seek.  In a few places
1763         (like som_object_p) override the error status set by bfd_read.
1764
1765         * aix386-core.c, aout-encap,c archive.c, bout.c: Likewise.
1766         * coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise.
1767         * elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise.
1768         * nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise.
1769
1770         * som.c: Check return values from several bfd_{seek,read,write}
1771         calls that we just assumed were not failing.
1772
1773 Fri Mar 25 11:44:06 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
1774
1775         * hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4.
1776         * config/sysv4.mh: Add comment.
1777         * config/symmetry.mh: Change comment.
1778         * configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*.
1779
1780 Fri Mar 25 17:10:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1781
1782         Changes to support linker relaxing of embedded MIPS PIC code to
1783         use a five instruction sequence for function calls which are out of
1784         range of the bal instruction.
1785         * libecoff.h (struct ecoff_section_tdata): Define.
1786         (ecoff_section_data): Define.
1787         (ecoff_bfd_relax_section): Don't define.
1788         * ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free
1789         the debugging information if it has already been read.
1790         (ecoff_indirect_link_order): Handle _cooked_size being different
1791         from _raw_size.  Don't reread the contents or the relocs if they
1792         have already been read in.
1793         * coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from
1794         18 to 16.
1795         (PCREL16_EXPANSION_ADJUSTMENT): Define.
1796         (mips_relocate_refhi): Take adjust argument.
1797         (mips_relocate_section): Handle reloc offsets stored in section
1798         used_by_bfd field.  Call mips_relax_pcrel16 to handle details of
1799         expanding an out of range PCREL16.  Keep trace of adjustments
1800         required by expansions.  Set s and unset h when converting a reloc
1801         from undefined to section.  Change handling of PC relative relocs:
1802         if against a section, they are correct in the object file, if
1803         against an external symbol they are pcrel_offset.
1804         (mips_relax_section): New function.
1805         (mips_relax_pcrel16): New function.
1806         (ecoff_bfd_relax_section): Define.
1807         * coff-alpha.c (ecoff_bfd_relax_section): Define.
1808         * ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments
1809         built by mips_relax_section when writing out addresses.
1810         * elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field.
1811
1812         * aoutx.h (NAME(aout,find_nearest_line)): The caller expects
1813         functionname_ptr to be set to a symbol name, so prepend
1814         symbol_leading_char.
1815
1816 Thu Mar 24 11:33:46 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
1817
1818         * coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info
1819         for 16bit relative branches.
1820         * coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on
1821         overflow.
1822
1823 Thu Mar 24 09:21:13 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1824
1825         * som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects.
1826         (som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise.
1827
1828 Wed Mar 23 14:29:31 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
1829
1830         * netbsd386.c (N_SET_FLAGS): Delete the old definition.
1831
1832 Wed Mar 23 14:58:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1833
1834         Clean up the relaxing code for the new linker.
1835         * targets.c (_bfd_relax_section): Take boolean *again argument
1836         rather than asymbol list.
1837         * bfd.c (bfd_relax_section): Change name of fourth argument from
1838         symbols to again.
1839         * reloc.c (bfd_generic_relax_section): Take boolean *again
1840         argument rather than asymbol list.  Always return true.
1841         * bout.c: Include genlink.h.
1842         (aligncode, perform_slip): Declare.
1843         (perform_slip): Take BFD argument rather than asymbol list.
1844         Changed all callers.  Get the symbols from the BFD.  Change the
1845         hash table entry value as well as the symbol value.
1846         (abs32code): Take BFD argument rather than asymbol list.  Changed
1847         all callers.
1848         (aligncode): Likewise.
1849         (b_out_relax_section): Take boolean *again argument rather than
1850         asymbol list.  Only return false if an error occurred.  Set *again
1851         to false.  Get symbols from BFD.
1852         * reloc16.c: Include genlink.h.
1853         (bfd_perform_slip): Take BFD argument rather than asymbol list.
1854         Get the symbols from the BFD.  Change the hash table entry value
1855         as well as the symbol value.
1856         (bfd_coff_reloc16_relax_section): Take boolean *again argument
1857         rather than asymbol list.  Only return false if an error occurred.
1858         Set *again to false.  Get symbols from BFD.
1859         * coffcode.h (bfd_coff_backend_data): Change
1860         _bfd_coff_reloc16_estimate to take BFD argument rather than
1861         asymbol list.
1862         (bfd_coff_reloc16_estimate): Corresponding change.
1863         (dummy_reloc16_estimate): Corresponding change.
1864         * libcoff-in.h (bfd_coff_reloc16_relax_section): Change
1865         declaration to take boolean * rather than asymbol list.
1866         (bfd_perform_slip): Change declaration to take BFD rather than
1867         asymbol list.
1868         * coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather
1869         than asymbol list.  Changed calls to bfd_perform_slip.
1870         * bfd-in2.h: Rebuilt.
1871         * libbfd.h: Rebuilt.
1872         * libcoff.h: Rebuilt.
1873         * Makefile.in: Rebuilt dependencies.
1874
1875         * genlink.h (_bfd_generic_link_get_symbols): Define.
1876         (_bfd_generic_link_get_symcount): Define.
1877         * linker.c (generic_link_read_symbols): New function.
1878         (generic_link_add_object_symbols): Use it.  Use
1879         _bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount
1880         to get the symbols from the BFD.
1881         (generic_link_check_archive_element): Likewise.
1882         (_bfd_generic_final_link): Likewise.
1883         (_bfd_generic_link_output_symbols): Likewise.
1884         (default_indirect_link_order): Likewise.
1885         (generic_link_add_symbol_list): Store pointer to hash table entry
1886         in asymbol udata field.
1887
1888 Tue Mar 22 13:09:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1889
1890         * coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16
1891         reloc, used in embedded PIC code.
1892         (mips_adjust_reloc_in): Change sanity check to permit new reloc.
1893         (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into
1894         MIPS_R_PCREL16.
1895
1896         * elf32-mips.c (mips_elf_final_link): Account for link_order
1897         relocs when allocating space for relocations.  Set SEC_RELOC flag
1898         for any section which has relocs.  Handle link_order relocs in
1899         link_order loop.  Use _bfd_generic_link_add_symbols_collect for
1900         add_symbls entry point.
1901
1902         * linker.c (_bfd_generic_final_link): Set reloc_count to 0 before
1903         counting relocs.  Set SEC_RELOC flag for any section which has
1904         relocs.
1905
1906         * linker.c (_bfd_default_link_order): Handle bfd_data_link_order.
1907
1908         * linker.c (_bfd_generic_link_add_symbols): Just call
1909         generic_link_add_symbols.
1910         (_bfd_generic_link_add_symbols_collect): New function, like
1911         _bfd_generic_link_add_symbols but also collect constructors and
1912         destructors by name as collect2 does.
1913         (generic_link_add_symbols): New function, like old
1914         _bfd_generic_link_add_symbols but with collect argument.
1915         (generic_link_add_object_symbols): Take collect argument.
1916         (generic_link_check_archive_element_no_collect): New function.
1917         (generic_link_check_archive_element_collect): New function.
1918         (generic_link_check_archive_element): Take collect argument.
1919         (generic_link_add_symbol_list): Take collect argument.
1920         (_bfd_generic_link_add_one_symbol): Rename constructor argument to
1921         collect.
1922         * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare.
1923         * libbfd.h: Rebuilt.
1924
1925 Tue Mar 22 10:04:00 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1926
1927         * archive.c (bfd_construct_extended_name_table): Use ar_padchar
1928         for first character in an extended name.
1929         (_bfd_write_archive_contents): If ar_padchar == '/', then use
1930         "//" as the name of the special archive member holding the
1931         extended name table.
1932
1933 Mon Mar 21 12:28:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1934
1935         Support for link_order types which generate relocs in order to
1936         support -Ur in the linker.
1937         * linker.c (generic_link_add_symbol_list): Remove bitsize argument
1938         from call to _bfd_generic_link_add_one_symbol.
1939         (_bfd_generic_link_add_one_symbol): Remove bitsize argument.
1940         Don't pass bitsize to constructor call back.  Pass BFD_RELOC_CTOR
1941         instead of bitsize to add_to_set call back.
1942         (_bfd_generic_final_link): Account for link_order relocs when
1943         allocating space for relocations.  Handle them in link_order loop.
1944         (_bfd_generic_reloc_link_order): New function.
1945         (_bfd_default_link_order): If a reloc_link_order is seen here,
1946         abort.
1947         (_bfd_count_link_order_relocs): New function.
1948         * libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize
1949         argument from declaration.
1950         (_bfd_generic_reloc_link_order): Declare.
1951         (_bfd_count_link_order_relocs): Declare.
1952         * libbfd.h: Rebuilt.
1953         * aoutx.h (aout_link_add_symbols): Remove bitsize argument from
1954         call to _bfd_generic_link_add_one_symbol.
1955         (NAME(aout,final_link)): Account for link_order relocs when
1956         allocating space for relocations.  Handle them after handling all
1957         input BFDs.
1958         (aout_link_reloc_link_order): New function.
1959         * ecoff.c (ecoff_link_add_externals): Remove bitsize argument from
1960         call to _bfd_generic_link_add_one_symbol.
1961         (ecoff_bfd_final_link): Account for link_order relocs when
1962         allocating space for relocations.  Handle them in link_order loop.
1963         (ecoff_link_write_external): Set the storage class of a defined
1964         linker created symbol based on the section it is in.  Correct
1965         bfd_link_hash_weak case to use .sc rather than .st.
1966         (ecoff_reloc_link_order): New function.
1967         * coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle
1968         BFD_RELOC_CTOR.
1969         * coff-mips.c (mips_bfd_reloc_type_lookup): Likewise.
1970
1971         * sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym
1972         and buf.
1973
1974         * cisco-core.c (cisco_core_file_p): Only pass one argument to
1975         bfd_zmalloc.  Free a pointer, not a union.
1976         (cisco_bfd_is_local_label): Correct cast from asection to asymbol.
1977
1978 Sun Mar 20 09:24:36 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1979
1980         * bfd/som.c (som_begin_writing): Fix thinko (off by one error).
1981
1982         * som.c (bfd_section_from_som_symbol): Only to do the value
1983         comparison for function symbols within executables.
1984
1985         * som.c (bfd_section_from_som_symbol): Renamed from
1986         som_section_from_subspace_index.  Pass in a native SOM symbol.
1987         For executables, iterate through the sections to find out
1988         which contains the symbol's address rather than using the
1989         symbol_info field.  (symbol_info has a different meaning for
1990         dynamicly linked executables.)
1991
1992         * trad-core.c (trad_unix_core_file_p): Don't pass abfd to
1993         bfd_zmalloc.
1994
1995         * som.c (som_begin_writing): Fix braino (one call to align
1996         space/subspace data was done unconditionally rather than
1997         just for executables.)
1998
1999         * som.c (som_begin_writing): Align text in all executables to
2000         make HPUX kernel happy.  Fixes strip/objcopy for shared
2001         executables.
2002
2003 Sat Mar 19 07:06:59 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2004
2005         * som.c (som_begin_writing): Account for alignment needs of
2006         subspaces too when writing executables.  Never request a negative
2007         bss size.  Fixes some problems with demand paged executables,
2008         still having problems with pure executables and shared executables.
2009
2010 Fri Mar 18 19:12:47 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2011
2012         * trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not
2013         bfd_zalloc for rawptr, because later on we may call free, not
2014         bfd_release, on it.
2015
2016         * bfd.c (struct _bfd): Add cisco_core_struct to tdata union.
2017         * libbfd.c (bfd_read, bfd_seek): Add comments regarding errors.
2018         * cisco-core.c: New file.
2019         * Makefile.in: Change accordingly.
2020         * configure.in: Recognize cisco_core_vec.
2021         * config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec.
2022         * targets.c: Add cisco_core_vec.
2023         * bfd-in2.h: Rebuilt.
2024
2025 Fri Mar 18 18:13:49 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2026
2027         * som.h (som_copyable_section_data_struct): New structure
2028         containing all the private section information which needs
2029         to be copied from input section to output section during
2030         objcopy or strip.
2031         (som_section_data_struct): Remove several fields now in
2032         som_copyable_section_data_struct.  Make the space and 
2033         subspace dictionaries be pointers (to save space when
2034         only reading objects).
2035
2036         * som.c (bfd_som_set_section_attributes): Now returns a boolean;
2037         some references changed.  Allocate a copyable data stucture if
2038         none exists.  Store info into the copyable data structure.
2039         (bfd_som_set_subsection_attributes): Likewise.
2040         (som_is_space, som_is_subspace, som_is_container): New functions.
2041         Use these instead of directly accessing private data.
2042         (som_prep_headers): Allocate space and subspace headers here.
2043         Fill in some fields in the space/subspace headers from the
2044         copyable data.
2045         (som_bfd_copy_private_section_data): Only copy the stuff
2046         that we really need to make objcopy and strip work.  Allocate
2047         the copy_data structure for the output bfd before copying.
2048
2049         * som.h (struct som_exec_data): New structure to hold exec
2050         info that must be preserved when running objcopy/strip.
2051         (struct somdata): Add new "exec_data" field and accessor
2052         macro.  Add some comments on how the various fields are used.
2053         (som_section_data_struct): Make is_space and is_subspace bitfields.
2054         Delete unused subspace_index.  All references now use the
2055         target_index field within the section structure itself.
2056
2057         * som.c (make_unique_section): Delete unused declaration.
2058         (som_bfd_copy_private_bfd_data): New function.
2059         (som_object_setup): Allocate space for and save exec information
2060         that needs to be copied during objcopy/strip.
2061         (som_mkobject): Do not allocate space for a file header here.
2062         It is not used when only reading SOM objects.
2063         (som_prep_headers): Allocate space for and attach a file header
2064         to the output bfd.  For executables, use the saved system_id
2065         value rather than trying to guess the right value.  Do not abort
2066         wwhen setting file_hdr->entry* for executables.
2067         (som_begin_writing): For executables, set the exec_entry and
2068         exec_flags fields.
2069         (som_copy_private_backend_section_data): Always return a value.
2070
2071         * libhppa.h (PA_PAGESIZE): Define.
2072
2073         * som.c (SOM_ALIGN): Define.
2074         (som_begin_writing): If writing an executable, initialize all
2075         fields in the exec header to zero.  Update fields in the exec
2076         header as sizes of loadable subspaces are computed.  Carefully
2077         preserve alignments when building executables.  Actually write the
2078         exec after all the fields are filled in.
2079
2080         * Better long-filename handling.  Reads SOM ABI compliant extended
2081         names, but doesn't quite write compliant extended names yet.
2082         * som.c (som_slurp_extended_name_table): Delete function.  The
2083         generic code will handle things correctly.
2084         (som_slurp_armap): Seek to the beginning of the next member.
2085         (normalize): New function.
2086         (som_bfd_ar_write_symbol_stuff): Take the size of the extended
2087         name table into account when computing the file offsets in the
2088         SOM dictionary.  Make sure to align to an even boundary.
2089         (som_write_armap): Initialize the checksum to zero.
2090         (ar_maxchars): Fix.  Opps.
2091
2092 Fri Mar 18 20:35:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
2093
2094         * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit
2095         machine.  Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13.
2096
2097 Thu Mar 17 18:26:46 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
2098
2099         * bfd-in.h (BFD_VERSION): Use @VERSION@.
2100         * Makefile.in (bfd.h): Replace it with contents of VERSION file.
2101         * bfd-in2.h: Regenerated.
2102
2103         * trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where
2104         this was also named trad_unix_bfd_copy_private_bfd_data.
2105
2106 Thu Mar 17 10:37:07 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2107
2108         * aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c,
2109         elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0)
2110         returns NULL, it is not an error.  It's possible that some of
2111         these checks are not necessary (because the size can never be
2112         zero), but putting in the checks is the conservative thing to do
2113         in light of the fact that some of these malloc calls replaced
2114         unchecked alloca calls, in which a zero argument would work fine.
2115
2116 Thu Mar 17 11:44:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2117
2118         * osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove
2119         duplicate definition.
2120         (osf_core_bfd_is_local_label): Define.
2121
2122         * reloc.c (bfd_generic_get_relocated_section_contents): Don't fail
2123         if malloc (0) fails.  bfd_canonicalize_reloc returning 0 is not a
2124         failure indication, it merely means there are no relocs.
2125
2126         * elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space
2127         after NAME, since SunOS /bin/cc can't handle it.
2128
2129 Wed Mar 16 16:43:33 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
2130
2131         * netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field.
2132         From sukes@glue.umd.edu (Tasuki Hirata).
2133
2134 Wed Mar 16 07:55:54 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2135
2136         * aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than
2137         all that convoluted stuff with NAME, CAT3, etc.  The convoluted
2138         stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess).
2139
2140 Wed Mar 16 00:02:05 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2141
2142         * som.c (som_prep_for_fixups): Detect section symbols based
2143         on either the lack of private data or the symbol flags.  Do not
2144         munge section symbol names anymore -- they no longer confuse GDB.
2145         (som_begin_writing): Leave space for an exec header if writing
2146         an executable.
2147         (som_slurp_symbol_table): Recognize both forms of section symbol
2148         names "L$0\002" and "$<FOO>$".  Change the name of "L$0\002"
2149         section symbols to be the name of the section they represent.
2150         Debugging  symbols begin with "L$0\001", not just "L$".
2151
2152 Tue Mar 15 22:58:28 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2153
2154         * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
2155
2156         * bfd-in.h (JUMP_TABLE): Add new entries to the jump table
2157         for bfd_copy_private_section_data, bfd_copy_private_bfd_data,
2158         and bfd_is_local_label.
2159
2160         * targets.c: Add new entries to the bfd_target structure.
2161         
2162         * bfd.c (bfd_copy_private_bfd_data): New definition.
2163
2164         * section.c (bfd_copy_private_section_data): New definition.
2165
2166         * syms.c (bfd_is_local_label): New definition.
2167
2168         * libbfd-in.h (bfd_generic_is_local_label): Declare.
2169
2170         * libbfd.c (bfd_generic_is_local_label): New function.
2171
2172         * *-core.c: Provide default definitions for new functions in
2173         the target vector which all point to bfd_false.
2174
2175         * aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c
2176         libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c
2177         Default new vectors for copying private backend data to bfd_true.
2178         Default new vector for determining if a symbol is a local label
2179         to bfd_generic_is_local_label.
2180
2181         * som.c (som_bfd_copy_private_section_data): New function.
2182         (som_bfd_is_local_label): New function.
2183         (som_bfd_copy_private_bfd_data): For now default to bfd_true.
2184
2185         * elf32-hppa.c (hppa_elf_is_local_label): New function.
2186
2187 Tue Mar 15 23:55:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2188
2189         * cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table.
2190
2191 Tue Mar 15 04:41:13 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
2192
2193         * Most files:
2194         Replace DEFUN and DEFUN_VOID with K&R-style function definition.
2195         Indent some of them to GNU standards.
2196
2197         * aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c,
2198         cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c,
2199         elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h,
2200         libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c:
2201         Update copyright years.
2202
2203 Mon Mar 14 11:41:23 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2204
2205         * som.c (som_prep_for_fixups): A relocation involving the section
2206         symbol for the *ABS* section is really a relocation involving
2207         no symbol.
2208         (som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for
2209         undefined symbols.  Correctly distinguish between debugger symbols
2210         and section symbols.
2211
2212         * som (setup_sections): Set SEC_DEBUGGING and the section attributes
2213         for spaces and subspaces.
2214
2215         * som.c (som_bfd_count_ar_symbols): Fix typo.
2216
2217         * som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and
2218         HAS_RELOC based on the object's magic number.
2219         (make_unique_section): Delete function.  BFD and its users are
2220         prepared to handle multiple sections with the same name.
2221         (setup_sections): Allocate space on the BFD's obstack to hold
2222         section names.  Use bfd_make_setion_anyway rather than the
2223         obsolete make_unique_section.
2224         (som_prep_headers): Choose the correct SOM magic number based
2225         on the BFD's flags.
2226         (som_bfd_fill_in_ar_symbols): Return false, not NULL on error.
2227
2228 Sat Mar 12 09:46:09 1994  Ian Lance Taylor  (ian@cygnus.com)
2229
2230         * elf32-ppc.c: Renamed from elf32-powerpc.c.
2231         * nlm32-ppc.c: Renamed from nlm32-powerpc.c.
2232         * Makefile.in, configure.in: Corresponding changes.
2233
2234 Fri Mar 11 22:27:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2235
2236         * elf32-powerpc.c: Extensive changes to update to preliminary ABI.
2237
2238 Fri Mar 11 00:34:59 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
2239
2240         * sunos.c (sunos_read_dynamic_info):  Assume that dynamic info
2241         is always located at the start of the data section to allow
2242         recovery of the dynamic info from a stripped executable.
2243         * ecoff.c (ecoff_styp_to_sec_flags):  Handle STYP_PDATA, STYP_XDATA
2244         and STYP_COMMENT.
2245
2246 Wed Mar  9 17:17:53 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2247
2248         * libbfd-in.h: Remove alloca cruft.  It was missing some necessary
2249         cruft (like the #pragma alloca for AIX).
2250         In addition to that problem, the C alloca calls xmalloc, which
2251         means checking for being out of memory can't work right.  The
2252         following changes remove all uses of alloca from BFD.
2253         * hosts/solaris2.h: Remove alloca cruft.
2254         * som.c: Replace alloca with a fixed size auto array.
2255         * aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
2256         ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
2257         sunos.c: Replace alloca with malloc and appropriate error checking and
2258         freeing.
2259         * linker.c: Replace alloca with obstack_alloc.
2260         * libbfd.h: Rebuilt.
2261
2262 Tue Mar  8 12:10:38 1994  Ian Lance Taylor  (ian@cygnus.com)
2263
2264         * coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
2265         MIPS_R_GPREL.
2266
2267 Sat Mar  5 14:08:54 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
2268
2269         * elf32-hppa.h, elfcode.h:  Replace uses of Elf*_Half, Elf*_Word,
2270         Elf*_Off typedefs by their expansion, the typedefs have been
2271         removed from include/elf/internal.h.
2272         * elfcode.h (bfd_section_from_shdr):  Handle SHT_DYNAMIC section like
2273         SHT_PROGBITS section.
2274
2275 Thu Mar  3 20:03:39 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2276
2277         * som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD.
2278
2279 Wed Mar  2 13:28:06 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
2280
2281         * configure.host: Recognize i[34]86-sequent-*.
2282
2283         * trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
2284         return from bfd_seek indicates an error.
2285         New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
2286         TRAD_CORE_STACK_OFFSET.
2287         * hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
2288         TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
2289
2290 Wed Mar  2 11:57:03 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2291
2292         * som.[ch]: Do not include libhppa.h in som.c, instead include
2293         it in som.h.
2294
2295         * elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
2296         include it in elf32-hppa.h.
2297
2298         * som.c (log2): Return -1 on error rather than aborting.
2299         (setup_sections): Bubble up an error from log2.
2300
2301         * Changes to make HP C compiler happy in both traditional
2302         and ANSI mode.
2303         * som.c (hppa_som_gen_reloc_type): Use correct enum type for
2304         field parameter.
2305         (bfd_som_set_section_attributes): Use unsigned int rather than
2306         unsigned char to avoid GNU-C extensions.
2307         (bfd_som_attach_aux_hdr): Return a boolean to indicate success
2308         or failure rather than aborting on failure.
2309
2310         * som.h (bfd_som_set_section_attributes): Fix prototype to match
2311         som.c changes.
2312         (bfd_som_attach_aux_hdr): Add prototype.
2313         (hppa_som-gen_reloc_type): Likewise.
2314
2315         * elf32-hppa.c: Add a couple casts to make HP compiler happy.
2316         (hppa_look_for_stubs_in_section): Do not return false on failure
2317         until rest of code is ready to handle it.  Abort for now.
2318
2319 Tue Mar  1 18:33:59 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
2320
2321         * bfd-in2.h: Rebuilt.
2322
2323 Tue Mar  1 13:06:53 1994  Kung Hsu  (kung@mexican.cygnus.com)
2324
2325         * i386os9k.c: use new functions bfd_set_error and bfd_get_error.
2326         * Makefile.in: delete an extra blank.
2327         * configure.in : Add i396os9k_vec.
2328
2329 Mon Feb 28 15:41:01 1994  Kung Hsu  (kung@mexican.cygnus.com)
2330
2331         * config.bfd : Add i386-os9k.
2332         * config/i386-os9k.mt : Newly add os9k target makefile.
2333
2334         * i386os9k.c : new file to handle os9k format bfd.
2335         * Makefile.in : Handle new file i386os9k.c
2336         * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
2337         * cache.c : Initialize cache_sentinel to 0.
2338
2339 Sun Feb 27 16:30:55 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2340
2341         * elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
2342         action in case where caller specified no argument relocation.
2343         (hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
2344         right in the original relocation and the stub's relocation.
2345
2346         * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo.  Delete
2347         unused symbols argument.
2348
2349         * elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
2350         than asymbol * for original target symbol.  All callers changed.
2351         Set reloc->sym_ptr_ptr appropriately.
2352         (hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
2353         (hppa_elf_look_for_stubs_in_section): No longer need symbols
2354         argument.  Use the output symbols when canonicalizing the relocs,
2355         creating them if necessary.
2356
2357         * linker.c (_bfd_generic_link_output_symbols): Do not
2358         rebuild/clobber the output symbols if they already exist.
2359
2360 Sun Feb 27 15:22:36 1994  Stan Shebs  (shebs@andros.cygnus.com)
2361
2362         * targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
2363         check all the pointer dereferences.  Enabled via DEBUG_BFD_SEND.
2364         * bfd-in2.h: Rebuilt.
2365
2366         * srec.c (hex_value): Always set to a size of 256 bytes.
2367         (srec_init): Cosmetic changes.
2368
2369 Sun Feb 27 11:18:47 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2370
2371         * elf32-hppa.c: Second half of major cleanup.  More comments,
2372         PARAMize and staticize rest of functions.  Delete unused
2373         functions.  Delete unused/unnecessary arguments to some functions.
2374         Group static vars together.  Abort for bad errors until we have
2375         error code propogation working.  Work on spacing and indention.
2376         Add FIXMEs for unresolved problems.  Use enums rather than
2377         #defines for lots of things.  Merge two functions which build
2378         linker stubs into a single function (so they can easily share a
2379         ton of common code).
2380
2381 Sat Feb 26 10:00:45 1994  Ian Lance Taylor  (ian@cygnus.com)
2382
2383         * reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
2384         avoid depending upon right shifts of signed numbers, and to
2385         correct handling of src_mask with lower bits zero.
2386
2387         * aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
2388         * ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
2389         * elf32-i386.c: Likewise.
2390         * elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
2391         #if 0 code.
2392         (elf_write_phdrs): Make i unsigned.
2393         (map_program_segments): Make i and n_left unsigned.
2394         (assign_file_positions_except_relocs): Make i unsigned.
2395         (write_shdrs_and_ehdr): Make count unsigned.
2396         (assign_file_positions_for_relocs): Make i unsigned.
2397         (NAME(bfd,elf_write_object_contents)): Make count unsigned.
2398         (section_from_elf_index): Make index argument unsigned.
2399
2400 Fri Feb 25 21:34:58 1994  Ian Lance Taylor  (ian@cygnus.com)
2401
2402         * elfcode.h: Don't include assert.h.
2403         (swap_out_syms): Use BFD_ASSERT rather than assert.
2404
2405         * linker.c (_bfd_generic_link_write_global_symbol): Add missing
2406         break in switch.
2407
2408         * hosts/i386v4.h (qsort, strtol): Remove incorrect and useless
2409         declarations.
2410
2411 Fri Feb 25 16:35:57 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2412
2413         * libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
2414
2415         * elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
2416         (elf_hppa_tc_make_sections): Likewise.
2417         (elf_hppa_final_processing): Add extern decl.
2418
2419         * elf32-hppa.c: First half of major cleanup.  Add/cleanup lots of
2420         comments.  PARAMize some static functions.  Delete unused functions.
2421         Delete unused/unnecessary arguments to many functions.  Group
2422         static vars together.  Collapse common case statements together
2423         in many places.  Use default case when possible instead of listing
2424         each case separately.  Abort for bad errors until we get error
2425         code propogation working.  Work on spacing and indention problems.
2426         Add FIXMEs for some unresolved problems.  Delete hopelessly broken 
2427         COMPLEX relocation support (it's never used anyway).
2428         (hppa_elf_rebuild_insn): Delete.  Moved into libhppa.h.
2429         (elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
2430         (elf_hppa_tc_make_sections): Likewise.
2431
2432         * format.c (bfd_check_format_matches): Initialize matching_vector
2433         to keep gcc -Wall quiet.
2434
2435         * elfcode.h (elf_slurp_reloca_table): Fix typo.
2436
2437         * som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
2438         not "sizeof (som_symbol_type *)".
2439
2440         * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
2441         not "sizeof (asymbol").  Opps.
2442
2443 Fri Feb 25 13:19:04 1994  Ted Lemon  (mellon@pepper.ncd.com)
2444
2445         * bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
2446         (bfd_set_gp_size):  Can't set gp value on an archive.
2447
2448 Fri Feb 25 12:57:00 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
2449
2450         * srec.c (pass_over): Don't skip too many characters when
2451         end of line seen.
2452
2453 Fri Feb 25 11:41:57 1994  Ian Lance Taylor  (ian@cygnus.com)
2454
2455         * ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
2456         boundary.
2457
2458 Thu Feb 24 07:13:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2459
2460         * som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
2461         field for absolute symbols in the same manner as undefined
2462         and common symbols.
2463
2464 Thu Feb 24 04:29:19 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
2465
2466         * elfcode.h (elf_core_file_p):  Check for core file e_machine match
2467         like in elf_object_p.
2468
2469 Wed Feb 23 18:28:37 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2470
2471         * elfcode.h (alloca): Delete declaration.
2472
2473         * som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
2474         number rather than HP9000S800_ID.  Note som.c is careful
2475         to make sure CPU_PA_RISC1_0 is always defined.
2476
2477 Mon Feb 21 10:12:02 1994  Stan Shebs  (shebs@andros.cygnus.com)
2478
2479         * Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
2480         flags to explicit compile actions.
2481
2482 Mon Feb 21 09:50:06 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
2483
2484         * ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
2485         * ecoff.c (ecoff_write_object_contents): Make sure .bss section
2486         ends on a page boundary if there is no symbol table.
2487         (ecoff_bfd_final_link): Don't set symhdr->magic here.
2488
2489         * hosts/hp300.h: Include <stdlib.h>; don't declare free.
2490
2491         * som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
2492         rather than an array of variable size.
2493         (som_bfd_fill_in_ar_symbols): Likewise.
2494         (som_bfd_ar_write_symbol_stuff): Likewise.
2495
2496         * coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
2497         operation to avoid OSF 1.3 cc bug.
2498         * ecoff.c (ecoff_write_object_contents): Make text_size, data_size
2499         and bss_size bfd_size_type instead of unsigned long.  Make
2500         text_start and data_start bfd_vma instead of unsigned long.
2501         * ecofflink.c (ecoff_add_string): Remove incorrect cast of return
2502         value.
2503
2504 Sun Feb 20 16:06:54 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
2505
2506         * linker.c (_bfd_generic_link_add_archive_symbols): Consider
2507         symbols in the order they appear in the archive map.
2508
2509 Sat Feb 19 03:17:32 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
2510
2511         * coff-alpha.c (reloc_nil):  Add forward declaration, add missing
2512         error_message argument.
2513         * coff-sparc.c (bfd_coff_generic_reloc):  Add forward declaration,
2514         add missing error_message argument.
2515         * mipsbsd.c (mips_fix_hi16_s):  Add forward declaration, add missing
2516         error_message argument.
2517
2518 Fri Feb 18 11:41:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2519
2520         Support for PowerPC NetWare.
2521         * nlm32-powerpc.c: New file.
2522         * config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
2523         * config/ppc-nlm.mt: New file.
2524         * configure.in (nlm32_powerpc_vec): New target vector; use
2525         nlm32-powerpc.o, nlm32.o, nlm.o.
2526         * targets.c (nlm32_powerpc_vec): Declare.
2527         * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
2528         (CFILES): Add nlm32-powerpc.c.
2529
2530         Initial support for PowerPC ELF.  Done without an ABI, and
2531         probably to be changed when I get an ABI.
2532         * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
2533         * config/ppc-elf.mt: New file.
2534         * configure.in (bfd_elf32_powerpc_vec): New target vector; use
2535         elf32-powerpc.o, elf32.o, elf.o.
2536         * elf32-powerpc.c: New file.
2537         * elfcode.h (prep_headers): Add bfd_arch_powerpc case.
2538         (elf_set_arch_mach): Likewise.
2539         * targets.c (bfd_elf32_powerpc_vec): Declare.
2540         * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
2541         (CFILES): Add elf32-powerpc.c.
2542         Rebuilt dependencies.
2543
2544 Thu Feb 17 15:29:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2545
2546         * coffgen.c (coff_write_linenumbers): Always return a value.
2547
2548         * elfcode.h (elf_slurp_symbol_table): Handle zero symbols
2549         reasonably.  Allocate x_symp using alloca.
2550
2551         * elfcode.h (map_program_segments): ELF program header entries
2552         must be sorted by load address.  This used to generate the entries
2553         in reverse order.
2554
2555         * section.c (SEC_IN_MEMORY): Define.
2556         (asection): Rename unused field otheruserdata to contents, and
2557         make it char *.
2558         (bfd_make_section_anyway): Initialize contents field to NULL.
2559         (bfd_get_section_contents): If SEC_IN_MEMORY is set, get section
2560         contents from contents field rather than from file.
2561         * bfd-in2.h: Rebuilt.
2562
2563 Thu Feb 17 08:30:53 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
2564
2565         * bfd.c (bfd_get_error, bfd_set_error): New functions.
2566         (bfd_error): Make static.
2567         (bfd_error_type): Renamed from bfd_ec.  Prepend "bfd_error_" to
2568         all values.
2569         * bfd-in2.h: Regenerated.
2570         * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h, 
2571         aoutf1.h, aoutx.h, archive.c, archures.c, 
2572         bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c, 
2573         coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c, 
2574         ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c, 
2575         elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c, 
2576         i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c, 
2577         lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c, 
2578         nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c, 
2579         ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c, 
2580         srec.c, sunos.c, syms.c, targets.c, tekhex.c, 
2581         trad-core.c: Change callers.
2582
2583 Tue Feb 15 22:27:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2584
2585         * som.c: Remove FIXMEs for things which have been dealt with.
2586
2587 Tue Feb 15 19:39:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
2588
2589         * section.c (bfd_get_section_contents): Since this function reads
2590         unrelocated contents, the section's raw size is always the one to
2591         use for bounds checking.
2592
2593         * linker.c (default_indirect_link_order): In assertion, compare
2594         link_order size field against cooked size, not raw size, of input
2595         section.
2596
2597         * bout.c (b_out_get_reloc_upper_bound): For BSS section, just
2598         return 0.
2599         (aligncode): When shrinking, the addend should be set to the
2600         current offset in the section plus the number of bytes of padding
2601         that will actually be retained.
2602         (b_out_relax_section): If a section contains no relocations, don't
2603         bother processing them.
2604         (b_out_get_relocated_section_contents): Set reloc_done.  Assert
2605         that bfd_get_section_contents returns true.  Check that relocs are
2606         properly ordered.
2607         (b_out_get_relocated_section_contents, case ALIGNDONE): Assert
2608         that reloc->addend falls between the current source offset and the
2609         raw size of the input section.
2610
2611         * config.bfd: Support i960 vxworks versions > 5.0 with coff, not
2612         bout.  Default with no version number is still bout.  Support
2613         explicit i960-coff target too.
2614
2615         * bout.c: Changed some indentation, deleted trailing whitespace,
2616         fixed some comments, removed some "#if 1" lines.
2617         (output_addr): New macro.
2618         (calljx_callback, callj_callback, get_value, abs32code, aligncode,
2619         b_out_get_relocated_section_contents): Use it for readability.
2620
2621 Tue Feb 15 09:00:16 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2622
2623         * som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
2624         symbols, not the BFD symbols.
2625         (som_bfd_ar_write_symbol_stuff): Likewise.
2626
2627 Mon Feb 14 22:55:20 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2628
2629         * som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
2630         have any symbols.
2631
2632         * Finish basic read-write support for SOM archive libraries.  Bugs
2633         surely remain as this hasn't been tested all that much.
2634         * som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
2635         (struct som_misc_symbol_info): New structure to hold info necessary
2636         to build both normal and library symbol tables.
2637         (som_derive_misc_symbol_info): New function to derive info necessary
2638         to build both normal and library symbol tables.
2639         (som_build_and_write_symbol_table): Use new function to derive misc
2640         symbol information.
2641         (som_slurp_symbol_table): Update backend private data for symbols
2642         appropriately.
2643         (som_bfd_prep_for_ar_write): New function.
2644         (som_bfd_ar_symbol_hash): New function.
2645         (som_bfd_ar_write_symbol_stuff): New function.
2646         (som_write_armap): Flesh out.
2647         (som_vec): Fix ar padding character.
2648
2649         * som.c: Consistently use memset rather than bzero.
2650
2651 Mon Feb 14 17:02:28 1994  Stu Grossman  (grossman at cygnus.com)
2652
2653         * coff-rs6000.c:  Add Lynx core file support, use HOST_AIX, where
2654         appropriate.
2655         * rs6000-core.c:  Use HOST_AIX instead of COREFILES_PLEASE.
2656         * config/rs6000.mh:  Remove defs of ARCHIVES_PLEASE and
2657         COREFILES_PLEASE.
2658         * config/rs6000lynx.mh:  Turn on Lynx core file support.
2659         * hosts/rs6000.h:  #define HOST_AIX.
2660         * hosts/rs6000lynx.h:  Create this to enable Lynx host support.
2661
2662 Sun Feb 13 14:30:00 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2663
2664         * som.h (som_symbol_data): Safely access backend private data
2665         for BFD symbols.  All callers changed.
2666
2667         * Read-only SOM archive support.
2668         * som.c (som_bfd_count_ar_symbols): New helper function.
2669         (som_bfd_fill_in_ar_symbols): New helper function.
2670         (som_slurp_armap): New function to read a SOM LST.
2671
2672         * som.h: Include <lst.h> and <ar.h>.
2673
2674 Sat Feb 12 22:34:14 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2675
2676         * elfcode.h (elf_map_symbols): Fix typo.
2677         (write_object_contents): Check return values from prep_headers and
2678         elf_compute_section_file_positions.
2679         (set_section_contents): Likewise.
2680
2681 Fri Feb 11 16:56:50 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
2682
2683         * archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
2684         (bfd_construct_extended_name_table): Check result of normalize.
2685
2686 Tue Feb  8 08:57:31 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
2687
2688         Make all callers of malloc or realloc (including via obstacks)
2689         check the result for NULL.  Most set bfd_error to no_memory and
2690         return in that case; a few are harder to fix, and are marked
2691         with "FIXME <return type>".
2692
2693         * elf32-hppa.c (hppa_elf_build_arg_reloc_stub
2694         hppa_elf_build_long_branch_stub):  Check bfd_make_empty_symbol return.
2695         * linker.c (_bfd_generic_link_output_symbols
2696         _bfd_generic_link_write_global_symbol): Ditto
2697         * section.c (bfd_make_section_anyway): Ditto.
2698
2699         * tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
2700         (first_phase): Ditto.  FIXME void
2701         (tekhex_make_empty_symbol): Check bfd_zalloc.
2702
2703         * sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
2704         (MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.
2705
2706         * stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.
2707
2708         * srec.c: Indent.
2709         (fillup_symbols): Check bfd_alloc.  FIXME void
2710         (srec_mkobject srec_get_section_contents
2711         srec_set_section_contents): Check bfd_alloc. 
2712         (srec_make_empty_symbol): Check bfd_zalloc.
2713
2714         * som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
2715         (make_unique_section): Check bfd_alloc.
2716         (som_new_section_hook): Check bfd_zalloc.
2717         (bfd_som_attach_aux_hdr): Ditto.  FIXME void
2718
2719         * rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.
2720
2721         * osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
2722         (osf_core_core_file_p): Check bfd_alloc.
2723
2724         * oasys.c (oasys_slurp_symbol_table oasys_archive_p
2725         oasys_mkobject oasys_object_p oasys_new_section_hook
2726         oasys_set_section_contents): Check bfd_alloc.
2727         (oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
2728         (oasys_make_empty_symbol): Check bfd_zalloc.
2729
2730         * nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
2731         (nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.
2732
2733         * nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.
2734
2735         * nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.
2736
2737         * nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.
2738
2739         * linker.c (_bfd_link_hash_newfunc
2740         (generic_link_hash_newfunc
2741         (archive_hash_newfunc
2742         (_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
2743         (_bfd_generic_final_link
2744         (_bfd_generic_link_output_symbols
2745         (default_indirect_link_order): Check bfd_alloc.
2746         (bfd_new_link_order): Check bfd_alloc_by_size_t.
2747
2748         * irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.
2749
2750         * ieee.c: Indent.
2751         (read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
2752         ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
2753         (do_one): Check bfd_alloc.  Return a boolean.
2754         (ieee_slurp_section_data): Check it.
2755         (init_for_output): Check bfd_alloc.  Return a boolean.
2756         (ieee_set_section_contents): Check it.
2757         (do_with_relocs):  Check bfd_alloc.  Return a boolean.
2758         (ieee_bfd_debug_info_accumulate): Ditto.  FIXME void.
2759         (ieee_mkobject): Check bfd_zalloc.
2760         (ieee_make_empty_symbol): Check bfd_zmalloc.
2761
2762         * hpux-core.c (hpux_core_make_empty_symbol): Check
2763         bfd_zalloc.
2764
2765         * hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
2766         bfd_zalloc.
2767         (hppabsd_core_core_file_p): Check bfd_zalloc.
2768
2769         * hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.
2770
2771         * elfcode.h (elf_new_section_hook): Check bfd_alloc.
2772         (bfd_section_from_phdr): Ditto.
2773         (write_relocs): Ditto.  FIXME void
2774         (elf_map_symbols assign_section_numbers map_program_segments):
2775         Ditto.  Return a boolean. 
2776         (swap_out_syms): Ditto.  Check elf_map_symbols.
2777         (elf_slurp_symbol_table): Check bfd_zalloc.
2778         (elf_slurp_reloca_table): Check bfd_alloc.
2779         (elf_slurp_reloc_table): Ditto.
2780         (elf_compute_section_file_positions): Check assign_section_numbers.
2781         (assign_file_positions_except_relocs): Return a boolean.
2782         Check map_program_segments.
2783         (elf_compute_section_file_positions): Check it.
2784
2785         * elf32-mips.c (mips_elf_final_link): Check bfd_alloc.
2786
2787         * elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
2788         realloc. 
2789         (hppa_elf_stub_reloc): Ditto.
2790         (hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
2791         (hppa_elf_build_long_branch_stub): Ditto.
2792         (elf32_hppa_backend_symbol_table_processing): Ditto.
2793
2794         * ecoff.c (ecoff_set_symbol_info): Check bfd_alloc.  Return a boolean.
2795         (ecoff_slurp_symbol_table): Check it.
2796         (ecoff_slurp_armap): Check bfd_alloc.
2797         (ecoff_write_armap): Check bfd_zalloc.
2798         (ecoff_link_hash_newfunc): Check bfd_hash_allocate and
2799         _bfd_link_hash_newfunc. 
2800         (ecoff_link_add_externals): Check bfd_alloc.
2801
2802         * ctor.c (bfd_constructor_entry): Check bfd_alloc.
2803
2804         * coffgen.c (coff_real_object_p): Check bfd_alloc.
2805         (coff_renumber_symbols): Check bfd_alloc_by_size_t.  Return a boolean.
2806         (coff_write_symbol): Check bfd_alloc.  FIXME int
2807         (coff_write_linenumbers): Check bfd_alloc.  Return a boolean.
2808         (coff_section_symbol): Check bfd_alloc_by_size_t.
2809         (coff_get_normalized_symtab): Check bfd_alloc.
2810         (coff_bfd_make_debug_symbol): Check bfd_zalloc.
2811         * libcoff-in.h: Change decls of coff_renumber_symbols,
2812         coff_write_linenumbers.
2813         * libcoff.h: Rebuilt.
2814         * coffcode.h (coff_write_object_contents): Check
2815         coff_renumber_symbols, coff_write_linenumbers.
2816
2817         * coffcode.h: Indent.
2818         (coff_add_missing_symbols): Check bfd_alloc_by_size_t.  Return a
2819         boolean. 
2820         (coff_write_object_contents): Check it.
2821
2822         * coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
2823         * coff-mips.c (mips_relocate_section): Ditto.
2824
2825         * archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
2826         (do_slurp_bsd_armap): Ditto.
2827         (compute_and_write_armap): Check bfd_realloc value.
2828
2829         * aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
2830         return value.  Return boolean value.
2831         (NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
2832         (NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
2833         return value.
2834         (add_to_stringtab): Ditto.  FIXME void
2835         (aout_link_hash_newfunc): Check bfd_hash_allocate return value.
2836         (aout_link_add_symbols): Check bfd_alloc value.
2837         (translate_symbol_table): Check translate_from_native_sym_flags.
2838         * hp300hpux.c (MY(slurp_symbol_table)): Ditto.
2839         * aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.
2840
2841         * opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
2842
2843         * opncls.c (obstack_chunk_alloc): Define as malloc, not
2844         bfd_xmalloc_by_size_t. 
2845         (_bfd_new_bfd): Check obstack_begin for 0 return.
2846
2847         * ieee.c (obstack_chunk_alloc): Define as malloc, not
2848         bfd_xmalloc_by_size_t. 
2849         (ieee_archive_p): Check obstack_begin for 0 return and
2850         obstack_finish for NULL return.
2851
2852         * hash.c (obstack_chunk_alloc): Define as malloc, not
2853         bfd_xmalloc_by_size_t. 
2854         (bfd_hash_table_init_n): Check obstack_begin for 0 return and
2855         obstack_finish for NULL return.
2856         (bfd_hash_lookup): Check obstack_alloc for NULL return.
2857
2858         * ecofflink.c (obstack_chunk_alloc): Define as malloc, not
2859         bfd_xmalloc_by_size_t. 
2860         bfd_ecoff_debug_accumulate
2861         bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
2862         (add_file_shuffle add_memory_shuffle): Check obstack_alloc for
2863         NULL return.  Return boolean, not void.
2864         (bfd_ecoff_debug_init): Check obstack_begin for 0 return.
2865         (bfd_ecoff_debug_accumulate): Check add_file_shuffle
2866         and add_memory_shuffle return. 
2867         (string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
2868         (bfd_ecoff_debug_accumulate): Check bfd_alloc.
2869         (ecoff_add_string): Check add_memory_shuffle return.
2870
2871         * libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
2872         Remove decls. 
2873         * libbfd.h: Rebuilt.
2874
2875 Fri Feb 11 15:35:32 1994  Stu Grossman  (grossman at cygnus.com)
2876
2877         * configure.host:  Add Lynx/rs6000 support.
2878         * config/i386-nlm.mt:  Enable a.out file support.
2879         * config/rs6000lynx.mh:  Lynx/rs6000 host support.
2880
2881 Fri Feb 11 17:25:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2882
2883         * archive.c (compute_and_write_armap): Rewrite somewhat to improve
2884         memory usage.
2885
2886 Fri Feb 11 13:10:42 1994  Stan Shebs  (shebs@andros.cygnus.com)
2887
2888         * archive.c: Change all references to '\n' in archive magic
2889         to '\012', for greater portability.
2890         * ecoff.c (ecoff_write_armap): Ditto.
2891
2892 Thu Feb 10 12:58:48 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2893
2894         * aoutx.h (aout_link_write_other_symbol): Check strip settings to
2895         see whether symbol should be output.
2896         * genlink.h (struct generic_write_global_symbol_info): Added info
2897         field.
2898         * linker.c (_bfd_generic_final_link): Initialize wginfo.info.
2899         (_bfd_generic_link_write_global_symbol): Check strip settings to
2900         see whether symbol should be output.
2901         * elf32-mips.c (mips_elf_final_link): Initialize wginfo.info.
2902
2903 Wed Feb  9 21:34:58 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2904
2905         * som.c (som_reloc_queue_find): Do not examine a NULL queue entry.
2906
2907         * som.c: Cast return values from BFD memory allocation routines to
2908         avoid warnings from the HP compiler.
2909
2910 Wed Feb  9 12:55:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2911
2912         * coff-alpha.c (alpha_relocate_section): Accept a LITERAL
2913         reloc on an "ldl" instruction too.
2914
2915         * archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
2916         when passing them to sprintf.  Use %ld instead of %d.
2917
2918         * coff-rs6000.c (rs6000coff_mkarchive): Return false.
2919         (rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
2920         Also removed unused variable namelen.
2921         (rs6000coff_write_armap): Declare orl_count and stridx parameters.
2922
2923 Tue Feb  8 18:00:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2924
2925         * libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
2926         conflicts.
2927         * libbfd.h: Rebuilt.
2928
2929 Tue Feb  8 15:55:50 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
2930
2931         * coff-alpha.c (reloc_nil): New function.
2932         (alpha_howto_table): Use it as special_function to prevent certain
2933         relocs from being adjusted by bfd_perform_relocation.  IGNORE
2934         reloc should be partial_inplace.
2935         (alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
2936         reloc on an "ldl" instruction too.
2937
2938 Tue Feb  8 00:32:28 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
2939
2940         * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
2941         hppa_elf_build_long_branch_stub):  Cast to char * instead of int
2942         before performing pointer arithmetic.
2943
2944 Mon Feb  7 20:56:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2945
2946         * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
2947         configuration.
2948         (hppa*-*-*elf*): This configuration used hppa-elf now.
2949
2950         * som.c: This file is also used for HOST_HPPAOSF.
2951
2952         * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
2953
2954         * hosts/hppaosf.h: New host configuration file.
2955
2956         * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
2957         BSD handles both SOM and ELF object files.
2958
2959         * config/hppaosf.mh (HDEFINES): Delete.  No longer needed.
2960         (RANLIB): Doesn't do anything, define it to be "echo".
2961
2962         * config/hppaosf.mt: New target makefile fragment for a PA running
2963         OSF1.
2964
2965 Mon Feb  7 15:02:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2966
2967         * archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
2968         (archures_init_table): If SELECT_ARCHITECTURES is not defined,
2969         added bfd_powerpc_arch.
2970         * bfd-in2.h: Rebuilt.
2971         * cpu-powerpc.c: New file.
2972         * Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
2973         Rebuilt dependencies.
2974
2975         * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
2976         of an SHT_STRTAB section from sh_addr and sh_addralign, rather
2977         than just setting them to zero.
2978
2979 Sun Feb  6 20:04:10 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
2980
2981         * elfcode.h (prep_headers, swap_out_syms): Check for NULL return
2982         from bfd_new_strtab. 
2983         (elf_compute_section_file_positions): Check for false return from
2984         swap_out_syms. 
2985
2986         * linker.c (default_indirect_link_order): Check for NULL return
2987         from bfd_get_relocated_section_contents.
2988
2989         * syms.c: Make example application in doc call xmalloc, not
2990         bfd_xmalloc. 
2991
2992         * aoutx.h (NAME(aout,slurp_symbol_table),
2993         aout_link_get_symbols, NAME(aout,link_hash_table_create)):
2994         * bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
2995         * ecoff.c (ecoff_bfd_link_hash_table_create): 
2996         * ecofflink.c (bfd_ecoff_debug_init): 
2997         * format.c (bfd_check_format_matches): 
2998         * linker.c (_bfd_generic_link_hash_table_create): 
2999         (_bfd_generic_final_link): 
3000         * reloc16.c (bfd_coff_reloc16_relax_section): 
3001         (bfd_coff_reloc16_get_relocated_section_contents): 
3002         * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): 
3003         * elf32-mips.c (mips_elf_final_link): 
3004         * elfcode.h (bfd_new_strtab): 
3005         (bfd_add_2_to_strtab): 
3006         (elf_slurp_symbol_table): 
3007         (elf_corefile_note): 
3008         * libbfd.c (bfd_zmalloc): 
3009         Use malloc and check the result, instead of bfd_xmalloc.
3010
3011 Sat Feb  5 12:39:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3012
3013         * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
3014
3015 Sat Feb  5 05:32:44 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
3016
3017         * srec.c (srec_write_record):  Put CONST keyword for "src" before
3018         "unsigned", some compilers don't like it after "unsigned".
3019         * libcoff.h, libcoff-in.h (bfd_perform_slip):  Rename "value" to
3020         "val" in prototype declaration because some compilers don't like
3021         arguments whose names are the same as types.
3022
3023 Sat Feb  5 01:14:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3024
3025         * aoutx.h (aout_link_check_ar_symbols): Correct test for whether
3026         object file defines symbol.  Also, if skipping a symbol, skip the
3027         second symbol of a N_WARNING or N_INDR symbol as well.
3028
3029 Fri Feb  4 23:55:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3030
3031         Add basic support for writing RS/6000 XCOFF files.
3032         * coff-rs6000.c (dummy_reloc): Removed.
3033         (rs6000coff_howto_table): Defined XCOFF relocs.
3034         (RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
3035         (rs6000coff_rtype2howto): New function.
3036         (coff_bfd_reloc_type_lookup): Defined to use
3037         rs6000coff_reloc_type_lookup. 
3038         (rs6000coff_reloc_type_lookup): New function.
3039         (SELECT_RELOC): Defined to set r_type and r_size fields.
3040         (COFF_LONG_FILENAMES): Defined.
3041         * coffcode.h (combined_entry_type): Changed fix_tag and fix_end
3042         fields to bitfields.  Added fields fix_value and fix_scnlen.
3043         (sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
3044         STYP_INFO for the type of a section named .debug.
3045         (coff_add_missing_symbols): Don't define if RS6000COFF_C.
3046         (coff_write_object_contents): If RS6000COFF_C, don't call
3047         coff_add_missing_symbols.
3048         (coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
3049         entry has type STY_LD change the x_scnlen into a pointer to a
3050         symbol and set fix_scnlen.  Also, for a C_BSTAT symbol, change the
3051         value into a pointer to a symbol and set fix_value.
3052         * libcoff.h: Rebuilt.
3053         * coffgen.c (coff_mangle_symbols): Reindent.  If fix_value is set,
3054         get the symbol offset. Likewise for fix_scnlen.
3055         (string_size): Change type to bfd_size_type.
3056         (debug_string_size, debug_string_section): New static variables.
3057         (coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
3058         write the symbol name into the .debug section; assume that the
3059         section has already been created with the right size.
3060         (coff_write_symbols): Initialize debug_string_size to 0.  If
3061         bfd_coff_symname_in_debug returns true, don't put symbol name in
3062         usual string table.  After writing out all symbols, if
3063         debug_string_size is not 0, check that it matches the size of the
3064         .debug section.
3065         (coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
3066         fields.  If the string offset is 0, always use an empty string as
3067         the name.
3068         (coff_make_empty_symbol): Zero out the symbol structure.
3069         * reloc.c (bfd_perform_relocation): Work around one gross hack
3070         with another: actually look at the target name to avoid the broken
3071         COFF check.
3072         (bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
3073         BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
3074         * bfd-in2.h: Rebuilt.
3075
3076 Fri Feb  4 17:28:32 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3077
3078         * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
3079         (bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
3080         * libbfd-in.h: Define them as macros calling xmalloc and declare
3081         xmalloc. 
3082         * libbfd.h: Rebuilt.
3083
3084 Thu Feb  3 16:49:35 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3085
3086         * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
3087         symbol has a value in the ECOFF symbol but not in the BFD symbol,
3088         keep the value in the ECOFF symbol.  This helps gas.
3089
3090         * linker.c (_bfd_generic_link_output_symbols,
3091         _bfd_generic_link_write_global_symbol): Don't require that all
3092         references to a common symbol be themselves common symbols.
3093
3094         * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
3095
3096 Wed Feb  2 20:37:19 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3097
3098         * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
3099         sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
3100         * bfd-in2.h: Rebuilt.
3101
3102 Wed Feb  2 12:30:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3103
3104         * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
3105         and size correctly.
3106         (coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
3107         x_csect.x_scnlen.l to match change in coff/internal.h.
3108         (coff_swap_aux_out): Likewise.
3109
3110         * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
3111         (alpha_ecoff_backend_data): Change casts of aux_in and aux_out
3112         fields to match yesterday's changes.
3113
3114         * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
3115         in the internal_reloc itself, not the type.
3116         * coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
3117         coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
3118         definition of SELECT_RELOC accordingly.
3119
3120 Tue Feb  1 12:05:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3121
3122         * coffcode.h (bfd_coff_backend_data): Added new arguments to
3123         _bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
3124         and number of aux entries.
3125         (bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
3126         accordingly.
3127         * libcoff.h: Rebuilt.
3128         * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
3129         arguments.  If RS6000COFF_C, only treat C_EXT and C_HIDEXT
3130         specially if this is the last aux entry.
3131         * coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
3132         new arguments to swap_aux functions.
3133
3134 Sun Jan 30 15:14:36 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3135
3136         * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
3137         (only testing for m68k and vax at the moment); do verify that the
3138         preprocessor didn't trash the arch name inside the string version.
3139         Don't print out "pagesize =" line that prevents output from
3140         compiling.  Derive BYTES_IN_WORD and ARCH values from sizeof
3141         results.
3142         * Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
3143         (check, installcheck): Identify directory in "no testsuites"
3144         message.
3145
3146 Sun Jan 30 13:25:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3147
3148         * aoutx.h (aout_link_write_symbols): Write out correct value for
3149         object file symbol.
3150
3151 Fri Jan 28 18:34:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3152
3153         * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
3154         KERNBASE, so hard-code 0x80000000 instead.
3155
3156 Thu Jan 27 13:54:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3157
3158         * linker.c (generic_link_add_symbol_list): If symbol is common,
3159         set the BSF_OLD_COMMON flag.
3160
3161 Wed Jan 26 13:47:15 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3162
3163         * format.c (bfd_check_format_matches): Put the new entry in the
3164         correct element of matching_vector.
3165
3166 Tue Jan 25 11:43:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3167
3168         * som.c, som.h (bfd_som_set_section_attributes,
3169         bfd_som_set_subsection_attributes): Change parameters from char
3170         to int.  Following a prototype with an old-style function definition
3171         in the presence of widened parameters is a GCC-ism not supported
3172         by the HP compiler in ANSI mode.
3173
3174 Tue Jan 25 11:46:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3175
3176         * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
3177
3178         * hp300hpux.c (MY(write_object_contents)): Write out the symbols
3179         before writing out the relocs, so that the right symbol indices
3180         are used.
3181
3182         * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
3183         try to overlay the internal carsyms on the external symdefs.  That
3184         can not work if the size of a host pointer is larger than 4 bytes.
3185
3186         * format.c (bfd_check_format_matches): Cast result of
3187         bfd_xmalloc_by_size_t.
3188         * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
3189
3190         * archive.c: Reindented to GNU standards.
3191
3192 Mon Jan 24 14:41:23 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3193
3194         * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
3195         "_bfd_" to function names.
3196         * archive.c (_bfd_create_empty_archive_element_shell),
3197         libbfd-in.h: Change callers.
3198
3199         * libbfd.c (bfd_zmalloc): Renamed from zalloc.
3200         * libbfd.c (bfd_add_to_string_table),
3201         trad-core.c (trad_unix_core_file_p),
3202         targets.c (bfd_target_list),
3203         ptrace-core.c (ptrace_unix_core_file_p),
3204         opncls.c (new_bfd), libbfd-in.h,
3205         ieee.c (ieee_make_empty_symbol),
3206         elf32-hppa.c (hppa_elf_stub_branch_reloc),
3207         (hppa_elf_stub_reloc): Change callers.
3208         * libbfd.h: Regenerated.
3209
3210         * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
3211         (_bfd_get_elt_at_filepos), 
3212         coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
3213         Change callers.
3214
3215         * format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
3216         elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
3217         and default_vector to bfd_default_vector.
3218         * libbfd.h: Regenerated.
3219
3220         * format.c (bfd_check_format_matches): New function.
3221         (bfd_check_format): Call it.
3222         (bfd_matching_formats): Function removed.
3223         * targets.c: Replace the vector added on Jan 21 with a count of
3224         entries in default_vector.
3225         * bfd-in2.h: Regenerated.
3226
3227 Mon Jan 24 12:38:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3228
3229         * coff-alpha.c (alpha_ecoff_object_p): New function.  Set size of
3230         .pdata section based on lnnoptr field, not section header.
3231         (alpha_relocate_section): Don't bother to check if r_symndx >= 0,
3232         since it is unsigned.
3233         (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
3234         coff_object_p.
3235         * ecoff.c (ecoff_new_section_hook): Set alignment_power field of
3236         .pdata section to 3.
3237         (ecoff_compute_section_file_positions): Save the size of the
3238         .pdata section in the line_filepos field, and actually align the
3239         .pdata section to an alignment power of 4.
3240         (ecoff_compute_reloc_file_positions): Set output_has_begun after
3241         calling ecoff_compute_section_file_positions.
3242         (ecoff_write_object_contents): Set s_lnnoptr for the .pdata
3243         section from the line_filepos field.  Set vstamp for the optional
3244         header from the vstamp of the symbolic header.
3245         (ecoff_bfd_final_link): Set vstamp of the symbolic header to the
3246         vstamp used by the first object file in the link.
3247
3248         * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
3249
3250         * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
3251         for a created common section.
3252         (_bfd_generic_link_add_one_symbol): Likewise.
3253
3254         * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
3255         get the index of a common section, rather than always using
3256         SHN_COMMON (MIPS has multiple common sections).
3257
3258         * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
3259
3260         * bfd/aoutx.h (aout_link_input_section_std,
3261         aout_link_input_section_ext): Pass additional arguments to
3262         reloc_overflow callback.
3263         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
3264         alpha_relocat_section): Likewise.
3265         * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
3266         * coff-h8500.c (extra_case): Likewise.
3267         * coff-mips.c (mips_relocate_section): Likewise.
3268         * coff-z8k.c (extra_case): Likewise.
3269         * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
3270         * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
3271
3272         * bout.c (calljx_callback, callj_callback): Use get_value to get
3273         the symbol value and check for undefined symbols.
3274         (get_value): If the symbol is undefined, look it up in the linker
3275         hash table.
3276         (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
3277         use get_value to get the symbol value and check for undefined
3278         symbols.
3279         * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
3280         undefined, look it up in the linker hash table.
3281
3282         * aoutx.h (translate_symbol_table): The string index 0 has a
3283         special meaning for normal symbols, but not for dynamic symbols.
3284
3285 Sat Jan 22 12:26:01 1994  Stu Grossman  (grossman at cygnus.com)
3286
3287         * sparclynx.c:  Setup appropriate macros to enable core file
3288         support.
3289
3290 Fri Jan 21 16:25:35 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3291
3292         * targets.c: Add a vector of matching format names.
3293         * format.c (bfd_matching_formats): New function to return it.
3294         (bfd_check_format): Set it.
3295         * bfd-in2.h: Regenerated.
3296
3297         * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
3298         Remove decl of type symclass; wasn't used.
3299         * bfd.c: Document error handling, including code fragments
3300         containing the error decls that were in bfd-in.h.
3301         Remove DEFUNs.
3302         * bfd-in2.h: Regenerated.
3303
3304 Fri Jan 21 14:11:16 1994  Sean Fagan  (sef@cygnus.com)
3305
3306         * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
3307         The sparc (and possibly other?) NLM format requires a different
3308         way to write exports, so add a write_export field to the backend
3309         data (and set it to NULL for everything but the sparc).
3310
3311 Fri Jan 21 14:11:16 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3312
3313         * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
3314         not (struct external_nlist *) NULL.  info->dynrel is a PTR, not
3315         a struct external_nlist *.
3316
3317 Fri Jan 21 09:29:01 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3318
3319         * bfd.c: Remove error strings for errors removed below.
3320         * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
3321         oasys.c (oasys_write_sections): Rename
3322         bfd_error_nonrepresentable_section to nonrepresentable_section.
3323         None of the other bfd error names start with "bfd_error".
3324         Remove errors symbol_not_found and no_relocation_info, which seem
3325         to be unused.
3326         * bfd-in2.h: Regenerated.
3327
3328 Fri Jan 21 01:11:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3329
3330         * bfd.c (bfd_get_gp_size): Added support for ELF.
3331
3332         * syms.c (BSF_DYNAMIC): New symbol flag.
3333         (bfd_print_symbol_vandf): Print it.
3334         * bfd-in2.h: Rebuilt.
3335         * libaout.h (struct aout_backend_data): New read_dynamic_symbols
3336         and read_dynamic_relocs fields.
3337         (struct aoutdata): New dynamic_info field.
3338         (obj_aout_dynamic_info): New accessor macro.
3339         * sunos.c (struct sunos_dynamic_info): New structure.
3340         (sunos_read_dynamic_info, MY(read_dynamic_symbols),
3341         MY(read_dynamic_relocs)): New functions to read dynamic symbols
3342         and relocs.
3343         * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
3344         dynamically linked, set SEC_RELOC for both the .text and .data
3345         sections.
3346         (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
3347         undefined symbol.
3348         (translate_symbol_table): New function, split out of
3349         slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
3350         (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
3351         (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
3352         (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
3353         return value.
3354         * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
3355         out dynamic symbols or relocs against reloc symbols, since they
3356         are already in the .text section and we wouldn't know where to
3357         write them anyhow.
3358         (sunos4_aout_backend): Initialize read_dynamic_symbols and
3359         read_dynamic_relocs fields.
3360         * aout-target.h (MY(backend_data)): Initialize
3361         read_dynamic_symbols and read_dynamic_relocs fields.
3362
3363 Thu Jan 20 20:57:27 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3364
3365         * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
3366         typedefs, since HOST_64_BIT will take care of defining them in
3367         bfd.h.
3368
3369 Wed Jan 19 17:28:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3370
3371         * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
3372         that's dealt with elsewhere.
3373         * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
3374         (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
3375         they get copied to bfd.h.
3376
3377         * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
3378         types.  Reorganized some of the existing ones.
3379         * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
3380         values in case of compilation on a 32-bit machine.  Fix pcrel
3381         fields of some reloc types.
3382         (alpha_bfd_reloc_type_lookup): Handle more relocation types.
3383
3384         * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
3385         definitions when not defined, regardless of whether uint64_type is
3386         a defined macro or not.
3387         (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
3388         already defined.
3389
3390 Wed Jan 19 00:02:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3391
3392         * aoutx.h (translate_to_native_sym_flags): Set the type of a
3393         BSF_WARNING symbol to N_WARNING.
3394
3395 Tue Jan 18 16:43:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3396
3397         * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
3398         for an indirect or warning symbol.
3399         (aout_link_write_symbols): Update sym_hash with the target of an
3400         indirect or warning symbol.  If an indirect symbol is defined,
3401         output the calculated value and don't output the target symbol.
3402
3403 Tue Jan 18 03:54:59 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3404
3405         * aoutx.h (translate_from_native_sym_flags): Give warning symbols
3406         an (unused) nonzero section value, needed for check below.
3407
3408 Mon Jan 17 15:12:07 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3409
3410         * aoutx.h (translate_from_native_sym_flags,
3411         aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
3412         N_SET[ABDT].
3413
3414 Fri Jan 14 16:45:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3415
3416         * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
3417         the DYNAMIC flag for the BFD.
3418         (NAME(bfd_elf,write_object_contents)): Don't try to write out a
3419         BFD with the DYNAMIC flag set, since we don't generate the program
3420         header table correctly.
3421
3422 Fri Jan 14 01:04:36 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
3423
3424         * elfcode.h (elf_slurp_symbol_table):  Free x_symp at the end
3425         of the function to avoid storage leak.
3426
3427 Thu Jan 13 23:07:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3428
3429         * ecoff.c (ecoff_link_write_external): An ifd can be -1.
3430
3431 Thu Jan 13 12:33:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
3432
3433         * som.c (som_set_reloc_info): Provide a default symbol for
3434         relocations which don't actually have an associated symbol.
3435
3436         * som.c (hppa_som_reloc): Add new "error message" argument.
3437
3438 Wed Jan 12 13:36:43 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
3439
3440         Enable gdb to write to core files on more core file readers.
3441         * libbfd.c (bfd_generic_set_section_contents):  Remove range check
3442         for section size, it is already done in bfd_set_section_contents
3443         with bfd_get_section_size_now.
3444         * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
3445         osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
3446         Use bfd_generic_set_section_contents instead of bfd_false.
3447
3448 Wed Jan 12 15:31:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3449
3450         * linker.c: Added initial documentation.
3451
3452         * linker.c (default_indirect_link_order): Don't expect space for
3453         output relocations if there aren't any input relocations.
3454
3455 Tue Jan 11 14:37:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3456
3457         * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
3458         file offsets.
3459
3460         * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
3461         STT_NOTYPE.
3462
3463 Tue Jan 11 09:10:56 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3464
3465         * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
3466         Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
3467
3468 Tue Jan 11 00:07:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3469
3470         * ecofflink.c: Extensive changes to compress and merge debugging
3471         information, and to write some of out directly rather than saving
3472         it in memory.  Several new functions and structures, and new
3473         arguments to existing functions.
3474         * ecoff.c (ecoff_compute_reloc_file_positions): Compute
3475         sym_filepos as well.
3476         (ecoff_get_extr): Use ifdmap instead of ifdbase.
3477         (ecoff_write_object_contents): Don't compute sym_filepos here.
3478         Only output symbols if outsymbols is not NULL.
3479         (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
3480         bfd_ecoff_debug functions.  Write out debugging information here.
3481         (ecoff_final_link_debug_accumulate): Adjust for changes in
3482         bfd_ecoff_debug functions.
3483         (ecoff_link_write_external): Use ifdmap rather than ifdbase.
3484         * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
3485         first, to put them in the first memory buffer.  Clear fdr field.
3486         (mips_elf_get_extr): Use pointer to unswapped external symbol.
3487         (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
3488         Preserve .text, .data and .bss even if they are empty.  Save
3489         pointer to unswapped external symbol rather than copying it.
3490         Don't free up the external symbols.
3491         * libelf.h (elf_symbol_type): Change mips_extr to PTR.
3492         * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
3493         (bfd_ecoff_debug_accumulate): Update declaration.
3494         (bfd_ecoff_debug_accumulate_other): Rename declaration from
3495         bfd_ecoff_debug_link_other and update.
3496         (bfd_ecoff_write_accumulated_debug): Declare.
3497         * bfd-in2.h: Rebuilt.
3498         * Makefile.in: Rebuilt dependencies.
3499
3500 Mon Jan 10 20:46:53 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3501
3502         * Makefile.in (install): Remove "@" which follows a backslash.  In
3503         this position it just causes errors, not suppresses echoes.
3504
3505 Mon Jan 10 09:06:21 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
3506
3507         * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
3508         field selectors.
3509
3510 Sun Jan  9 04:32:25 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
3511
3512         * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
3513
3514 Fri Jan  7 10:27:27 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
3515
3516         * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
3517         end of data if they are not contiguous.
3518
3519         * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
3520
3521 Fri Jan  7 15:40:16 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3522
3523         * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
3524         for .reginfo section here.
3525         (ecoff_new_section_hook): Set it here instead.
3526
3527 Fri Jan  7 10:29:27 1994  Stan Shebs  (shebs@andros.cygnus.com)
3528
3529         * bfd-in.h: (bfd_boolean): Add workaround for systems that also
3530         define true and false as enums.
3531         (ALMOST_STDC): Add as alternative to __STDC__.
3532         * bfd-in2.h: Rebuilt.
3533         * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
3534
3535 Thu Jan  6 14:24:44 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3536
3537         * aoutx.h (translate_to_native_sym_flags): Catch the case where
3538         there is no output section.
3539
3540 Thu Jan  6 14:37:42 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3541
3542         * nlmcode.h (nlm_object_p): If we can't read the fixed header,
3543         count it as a wrong format error, not a system call error, since
3544         the object file might simply be too small.
3545
3546         * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
3547         BFD64.
3548         * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
3549         (BFD64_BACKENDS): Add nlm32-alpha.o.  It depends on 64 bit
3550         support, even though it is for an Alpha in 32 bit mode.
3551         * configure.in (nlm32_alpha_vec): Set target64 to true.
3552
3553         * nlm32-gen.c, nlm64-gen.c: Removed.  All nlm targets are
3554         different, so there is no point to providing a generic one.
3555         * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
3556         in the backend accessor macros; that should no longer be possible.
3557         * targets.c (target_vector): Removed nlm32_big_generic_vec,
3558         nlm64_big_generic_vec, nlm64_little_generic_vec.
3559         * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
3560         nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
3561         * Makefile.in: Rebuilt dependencies, and
3562         (BFD32_BACKENDS): Removed nlm32-gen.o.
3563         (BFD64_BACKENDS): Removed nlm64-gen.o.
3564         (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
3565
3566         * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
3567
3568         * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
3569         bitsize arguments.  Changed all callers (aoutx.h).
3570         * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
3571         and bitsize arguments to declaration.
3572         * libbfd.h: Rebuilt.
3573
3574         * ecoff.c: First cut at new style of linker backend for
3575         ECOFF--added a bunch of functions.  Also:
3576         (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
3577         (ecoff_slurp_symbolic_header): New function.
3578         (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
3579         (ecoff_compute_reloc_file_positions): New function.
3580         (ecoff_set_section_contents): Get out quickly if count is zero.
3581         Check errors better.
3582         (ecoff_write_object_contents): Put .xdata section in data segment.
3583         Call ecoff_compute_reloc_file_positions.  Don't output relocs or
3584         external symbols if outsymbols is NULL.
3585         (ecoff_bfd_final_link): Completely rewritten.
3586         * libecoff.h: Include bfdlink.h.
3587         (struct ecoff_backend_data): Add relocate_section field.
3588         (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
3589         (struct ecoff_link_hash_entry): Define.
3590         (struct ecoff_link_hash_table): Define.
3591         (ecoff_bfd_link_add_symbols): Declare as function, not macro.
3592         (ecoff_bfd_link_hash_table_create): Likewise.
3593         * ecofflink.c (bfd_ecoff_debug_one_external): New function.
3594         (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
3595         * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
3596         * bfd-in2.h: Rebuilt.
3597         * coff-alpha.c (alpha_howto_table): Mark BRADDR as
3598         partial_inplace, and set the src_mask to 0x1fffff.
3599         (alpha_ecoff_get_relocated_section_contents): Remove unused
3600         variable gp_warned.
3601         (alpha_convert_external_reloc): New static function.
3602         (alpha_relocate_section): New static function.
3603         (alpha_ecoff_backend_data): Initialize relocate_section field.
3604         * coff-mips.c (mips_relocate_refhi): New static function.
3605         (mips_relocate_section): New static function.
3606         (mips_ecoff_backend_data): Initialize relocate_section field.
3607
3608         * reloc.c (_bfd_relocate_contents): Corrected signed overflow
3609         checking when there is an addend.
3610
3611         * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
3612         a non a.out file, just pass it to _bfd_default_link_order.
3613         (aout_link_input_section_std): When doing a final PC relative link
3614         against a section symbol, subtract the VMA of the input section.
3615         (aout_link_input_section_ext): Likewise.
3616
3617         * linker.c (default_indirect_link_order): Renamed from
3618         _bfd_generic_indirect_link_order and made static.
3619         (_bfd_generic_final_link): Don't switch on link_order type, just
3620         call _bfd_default_link_order.
3621         (_bfd_default_link_order): Handle bfd_indirect_link_order type.
3622         * genlink.h: Removed declaration of
3623         _bfd_generic_indirect_link_order.
3624         * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
3625         type, just call _bfd_default_link_order.
3626
3627 Tue Jan  4 21:23:37 1994  Ian Lance Taylor  (ian@cygnus.com)
3628
3629         * linker.c (generic_link_check_archive_element): Base the name of
3630         the created common section on the name of the section the symbol
3631         came from.
3632         (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
3633         must have a section, so don't bother to create one.
3634
3635 Mon Jan  3 15:32:16 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3636
3637         * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
3638         * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
3639         If the DYNAMIC flag is set, set it in the exec header.
3640         * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
3641         dynamically linked, set the DYNAMIC flag in the BFD.
3642         * libaout.h (N_SET_DYNAMIC): New macro.
3643         (N_DYNAMIC): Add missing 0 in mask.
3644
3645 Mon Jan  3 11:41:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3646
3647         * ecoff.c (ecoff_get_extr): Don't output section symbols as
3648         external symbols.
3649
3650         * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
3651         to unsigned int, because size_t may not be defined in bfd.h.
3652         * bfd-in2.h: Rebuilt.
3653
3654         * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
3655         be a const pointer.
3656         * bfd-in2.h: Rebuilt.
3657         * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
3658         be a const pointer.
3659         * targets.c (bfd_target): Change swap function pointers
3660         accordingly.
3661         * archive.c (do_slurp_coff_armap): Change swap accordingly.
3662         * aix386-core.c: Change NO_GET and NO_GETS accordingly.
3663         * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
3664         ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
3665         accordingly.
3666
3667         * libbfd-in.h (struct artdata): Added tdata field.
3668         (_bfd_add_bfd_to_archive_cache): Declare.
3669         (_bfd_get_elt_at_filepos): Declare.
3670         (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
3671         * libbfd.h: Rebuilt.
3672         * archive.c: Cleaned up some more.
3673         (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
3674         pointer elements of artdata.
3675         (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
3676         (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
3677         (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
3678         (get_extended_arelt_filename, bfd_construct_extended_name_table,
3679         bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
3680         * ecoff.c: Some comment changes.
3681         (ecoff_slurp_armap): Handle rename of snarf_ar_hdr.  Set
3682         ardata->tdata to raw_armap.
3683         (ecoff_archive_p): Initialize pointer elements of artdata.
3684         * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
3685         add_bfd_to_cache.
3686
3687         * hash.c: Added some documentation.
3688
3689 Mon Jan  3 11:09:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3690
3691         * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
3692         and do the swapping here rather than calling ntohl from the N_*
3693         macros.  This cleans up assumptions about the size of a host long,
3694         the existence to ntohl, etc.
3695
3696 Sat Jan  1 13:50:05 1994  Rob Savoye  (rob@darkstar.cygnus.com)
3697
3698         * config.bfd: Add support for VSTa micro-kernel. It currently uses
3699         i386-aout.
3700
3701 Sat Jan  1 10:18:54 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
3702
3703         * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
3704         * i386mach3.c (SEGMENT_SIZE): Fix value.
3705
3706 Fri Dec 31 16:23:43 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3707
3708         Minor cleanups suggested by CodeCenter.
3709         * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
3710         linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
3711         appropriate.
3712         * aoutx.h (struct external_exec): Removed unnecessary declaration.
3713         (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
3714         (adjust_z_magic): Removed useless variable data_vma.
3715         (stringtab_init): Initialize hash_zero.
3716         (add_to_stringtab): Removed unused fourth argument.
3717         (NAME(aout,swap_std_reloc_out)): Removed useless variable
3718         r_addend.
3719         (aout_link_input_section): Added some casts.
3720         * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
3721         bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
3722         Minor code rewriting to make it more C like.
3723         (do_slurp_bsd_armap): Added some casts.
3724         * ecoff.c (ecoff_write_object_contents): Removed useless variable
3725         scn_base.
3726         (ecoff_write_armap): Added some casts.  Use "" rather than "\0".
3727         * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
3728         * libaout.h (struct internal_exec): Removed unnecessary
3729         declaration.
3730         * linker.c (_bfd_generic_indirect_link_order): Added a cast.
3731         * opncls.c (new_bfd): Removed a cast.
3732         * reloc.c (bfd_generic_get_relocated_section_contents): Added
3733         some casts.
3734         * srec.c (internal_srec_write_object_contents): Removed useless
3735         variable bytes_written.
3736
3737 Fri Dec 31 11:46:13 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
3738
3739         * i386mach3.c (N_TXTADDR): Don't define after all.
3740         (TEXT_START_ADDR): Don't include exec header size in value.
3741
3742 Thu Dec 30 15:47:54 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
3743
3744         * i386mach3.c (N_TXTADDR): Define.
3745
3746 Thu Dec 30 13:37:24 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3747
3748         Extensive changes to move the bulk of the linker into BFD so that
3749         more efficient backend code can be written for specific object
3750         files.  Only existing efficient backend is a.out.
3751         * seclet.c, seclet.h: Removed.
3752         * hash.c, linker.c, genlink.h: New files.
3753         * bfd-in.h: Removed bfd_error_vector.  Declared hash table
3754         structures and functions.
3755         (JUMP_TABLE): Removed bfd_seclet_link, added
3756         bfd_link_hash_table_create, bfd_link_add_symbols and
3757         bfd_final_link.
3758         * All backends: Changed accordingly.
3759         * bfd-in2.h: Rebuilt.
3760         * bfd.c (struct _bfd): Added link_next and archive_pass fields.
3761         Removed ld_symbols field.
3762         (bfd_nonrepresentable_section, bfd_undefined_symbol,
3763         bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
3764         bfd_error_vector): Removed.
3765         (bfd_default_error_trap, bfd_error_trap,
3766         bfd_error_nonrepresentabltrap): Removed.
3767         (bfd_get_relocated_section_contents): Pass link_info.  Pass
3768         link_order instead of seclet.  Pass symbols.
3769         (bfd_relax_section): Pass link_info.
3770         (bfd_seclet_link): Removed.
3771         (bfd_link_hash_table_create, bfd_link_add_symbols,
3772         bfd_final_link): New macros.
3773         * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
3774         alloca as __builtin_alloca.  Declare internal linking functions.
3775         * libbfd.h: Rebuilt.
3776         * libbfd.c (bfd_seek): Comment out fseek assertion.  It's worked
3777         for months.
3778         * reloc.c (reloc_howto_type): Added error_message argument to
3779         special_function field.  Changed all callers and all definitions.
3780         (bfd_get_reloc_size): Make argument a const pointer.
3781         (bfd_perform_relocation): Add error_message argument to hold
3782         string set if return value if bfd_reloc_dangerous.  Changed all
3783         callers.
3784         (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
3785         * section.c (asection): Renamed seclets_head and seclets_tail to
3786         link_order_head and link_order_tail.
3787         * targets.c (bfd_target): Replaced seclet argument with link_info
3788         and link_order and symbols arguments in
3789         bfd_get_relocated_section_contents.  Added symbols argument to
3790         bfd_relax_section.  Removed bfd_seclet_link.  Added
3791         bfd_link_hash_table_create, bfd_link_add_symbols and
3792         bfd_final_link.
3793         * libaout.h (struct aoutdata): Added external_syms,
3794         external_sym_count, external_strings, sym_hashes fields.
3795         (obj_aout_external_syms, obj_aout_external_sym_count,
3796         obj_aout_external_strings, obj_aout_sym_hashes): New accessor
3797         macros.
3798         (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
3799         * aoutx.h: Wrote new back end linker routines.
3800         (translate_to_native_sym_flags): Return boolean value.  Don't use
3801         bfd_error_vector.
3802         (NAME(aout,write_syms)): Return boolean value.  Check return value
3803         of translate_to_native_sym_flags and bfd_write.
3804         * aout-target.h (final_link_callback): New function.
3805         (MY_bfd_final_link): New function.
3806         * aout-adobe.c (aout_adobe_write_object_contents): Check return
3807         value of aout_32_write_syms.
3808         * hp300hpux.c (MY(write_object_contents)): Likewise.
3809         * i386lynx.c (WRITE_HEADERS): Likewise.
3810         * libaout.h (WRITE_HEADERS): Likewise.
3811         * bout.c: Changed functions to use link_info->callbacks rather
3812         than bfd_error_vector, and link_orders rather than seclets.
3813         * coff-alpha.c: Likewise.
3814         * coff-h8300.c: Likewise.
3815         * coff-h8500.c: Likewise.
3816         * coff-sh.c: Likewise.
3817         * coff-z8k.c: Likewise.
3818         * elf32-hppa.c: Likewise.
3819         * reloc16.c: Likewise.
3820         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
3821         up _gp in the hash table rather than in outsymbols.
3822         * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
3823         argument rather than printing them.
3824         * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
3825         link_order arguments rather than seclet.  Changed all uses and
3826         definitions.
3827         (bfd_coff_reloc16_estimate): Pass link_info arguments.  Changed
3828         all uses and definitions.
3829         * libcoff.h: Rebuilt.
3830         * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
3831         not by ECOFF, make it scAbs.
3832         (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
3833         rewritten.
3834         * elf32-mips.c (mips_elf_final_link): Renamed from
3835         mips_elf_seclet_link and rewritten.
3836         * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
3837         field.
3838         (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
3839         hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
3840         Added link_info arguments.  Changed all callers.
3841         * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
3842         not NULL.
3843         * oasys.c (oasys_write_sections): Return boolean value rather than
3844         using bfd_error_vector.
3845         (oasys_write_object_contents): Check return value of
3846         oasys_write_sections.
3847         * hosts/std-host.h: Don't declare qsort or strtol.
3848         * Makefile.in: Rebuild dependencies.
3849         (BFD_LIBS): Removed seclet.o.  Added hash.o and linker.o.
3850         (CFILES): Removed seclet.c.  Added hash.c and linker.c.
3851         (HFILES): Removed seclet.h.  Added genlink.h.
3852
3853 Thu Dec 30 07:41:36 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
3854
3855         * section.c (bfd_get_section_contents):  Return zero filled buffer
3856         if section has no contents.
3857
3858 Tue Dec 28 12:43:54 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3859
3860         * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
3861         then skip bfd_perform_relocation even if the addend is non-zero.
3862
3863 Tue Dec 21 09:22:19 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
3864
3865         * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
3866         addend to r_offset field.
3867
3868         * Makefile.in (CFILES): Added coff-sparc.c.  Rebuild dependencies.
3869
3870         * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
3871         CALC_ADDEND): Define.
3872
3873         * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
3874         the offsetof because AIX /bin/cc does not like to take the address
3875         of an array.  (From Minh Tran-Le.)
3876
3877 Thu Dec 16 13:06:32 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3878
3879         * Thu Dec 16 15:41:06 1993  Peter Hoogenboom  (hoogen@cs.utah.edu)
3880
3881         * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
3882         the return pointer into %r2 if no jump-in-call-delay-slot
3883         optimization was done.
3884
3885         * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
3886
3887 Wed Dec 15 08:04:16 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
3888
3889         * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
3890
3891         * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
3892         (HOST_SEGMENT_SIZE): Set to 0 for same reason.
3893
3894         * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
3895         (TEXT_START_ADDR): Correct.
3896         (MY_backend_data): Define.
3897
3898         * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
3899         New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
3900
3901 Tue Dec 14 21:48:33 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3902
3903         * som.c (som_begin_writing): Fix thinkos in auxiliary header
3904         support.
3905         (bfd_som_attach_aux_hdr): Likewise.
3906
3907 Mon Dec 13 23:34:48 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3908
3909         * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
3910         selectors for PIC code.
3911
3912         * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
3913         (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
3914         relocations needed by PIC.
3915
3916 Tue Dec  7 15:47:51 1993  Stu Grossman  (grossman at cygnus.com)
3917
3918         * nlmcode.h:  Fixes to avoid compiler warnings...
3919
3920 Tue Dec  7 15:10:54 1993  Ian Lance Taylor  (ian@cygnus.com)
3921
3922         * libnlm.h (nlm_backend_data): Removed macro definition.
3923         (nlm_alpha_backend_data): Adjusted accordingly.
3924
3925 Sun Dec  5 19:32:08 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3926
3927         * som.c (som_begin_writing): Flesh out code for handling simple
3928         auxiliary headers.
3929         (bfd_som_attach_aux_hdr): New function.
3930
3931         * som.h (struct somdata): Add fields for attaching version and
3932         copyright headers.  Add accessor macros.
3933
3934         * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
3935         definitions for old versions of HPUX which fail to define them.
3936         (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
3937         now that they're safe.  Delete bogus R_STATEMENT relocations.
3938
3939         * som.c (som_hppa_howto_table): Add missing R_END_TRY.  Delete 
3940         extra R_DATA_OVERRIDE.
3941         (hppa_som_gen_reloc_type): Generate a relocation for the rounding
3942         mode selector if needed.
3943         (som_write_fixups): Handle requests for a change in the default
3944         rounding mode.  Rounding modes do not consume input bytes, but
3945         are just markers much like R_ENTRY and R_EXIT.
3946
3947 Sat Dec  4 19:40:32 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3948
3949         Fri Dec  3 09:55:17 1993  Pete Hoogenboom  (hoogen@cs.utah.edu)
3950
3951         * elf32-hppa.c: (hppa_elf_reloc):  Do not do code reordering when
3952         the branch instruction as originally been nullified.
3953         hppa_elf_reloc):  Avoid useless call to bfd_put_32 () in the
3954         case of no code reordering due to an LDO instruction in the
3955         delay slot of the branch.  Make sure to relocate the correct
3956         instruction.  Do not perform instruction reordering for millicode
3957         calls.
3958         (hppa_elf_build_arg_reloc_stub):  Change the relocation type
3959         to R_HPPA_STUB_CALL_17 when special processing might be needed.
3960         (hppa_elf_build_long_branch_stub): Prevent code reordering on
3961         a call from a linker stub to another linker stub and for millicode
3962         calls.  Do not trash the return register for calls from one linker
3963         stub to a second linker stub.
3964
3965         * elf32-hppa.c: (elf_hppa_howto_table):  PLABEL and DLT
3966         relocations are not pc-relative.
3967
3968         * hppa_stubs.h: (BLE_N_XXX_0_31):  New instruction used in
3969         linker stub code. 
3970         (COPY_2_31):  Likewise.
3971
3972 Fri Dec  3 18:40:58 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3973
3974         * config/solaris2.mh (HDEFINES): Remove -Dconst=
3975         * hosts/solaris.h: If not __GNUC__, define const as empty.
3976
3977 Thu Dec  2 15:43:32 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3978
3979         * ecoff.c: Added various casts for 32/64 bit cross targeting.
3980         (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
3981         section so that the linker ignores it.
3982         * ecofflink.c: Added various casts for 32/64 bit cross targeting.
3983         (ecoff_add_bytes): Changed need argument to size_t.
3984         (bfd_ecoff_debug_link_other): Check return value of
3985         ecoff_add_string.
3986
3987         * libbfd-in.h (new_bfd): Use void rather than an empty parameter
3988         list.
3989         * libbfd.h: Rebuilt.
3990
3991         * libnlm.h (struct nlm_obj_tdata): New field backend_data.
3992         (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
3993         (struct nlm_backend_data): New field no_uninitialized_data.
3994         (nlm_no_uninitialized_data): New accessor macro.
3995         * nlmcode.h (nlm_compute_section_file_positions): Handle
3996         no_uninitialized_data.
3997         (nlm_external_reloc_compare): Sort relocs by address for a
3998         particular symbol, to make the sort more stable.
3999         (nlm_write_object_contents): Cast the arguments to qsort.  Get the
4000         value of a debugging symbol the same way we get the value of a
4001         normal symbol.
4002         * nlm32-alpha.c: Various changes.  Write out GP and .lita relocs.
4003         Set no_uninitialized_data to true.
4004         * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
4005         (nlm32_sparc_backend): Set no_uninitialized_data field false.
4006         * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
4007         before filling it in.
4008
4009 Wed Dec  1 21:47:58 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4010
4011         * som.c (som_section_type, som_decode_symcalss): New functions.
4012         (som_get_symbol_info): Use them.
4013         (som_slurp_symbol_table): Set the section of common and undefined
4014         symbols correctly.
4015
4016 Wed Dec  1 14:15:10 1993  Ken Raeburn  (raeburn@cygnus.com)
4017
4018         * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
4019         make gcc happy.
4020
4021         * mipsbsd.c: Changes from Ralph Campbell:
4022         (mips_howto_table_ext): MIPS_RELOC_LO16 should use
4023         complain_overflow_dont.
4024         (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
4025         make gdb happy.
4026
4027         * bfd.c (bfd_errmsgs): Reword invalid-target message.
4028
4029         * config.bfd: For sparc*-*-coff, use sparc-coff.
4030         * configure.in: Handle sparccoff_vec.
4031         * targets.c (sparccoff_vec): Declare.
4032
4033         * reloc.c (bfd_get_reloc_size): New function.
4034         (struct reloc_howto_type): Update documentation of size field.
4035
4036 Wed Dec  1 14:39:05 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4037
4038         * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
4039         * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
4040         * config/alpha-nlm.mt: New file.
4041         * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
4042         nlm32.o, and nlm.o.
4043         * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
4044         (CFILES): Added nlm32-alpha.c.
4045         Rebuilt dependencies.
4046         * targets.c (nlm32_alpha_vec): Declare.
4047
4048         * libnlm.h (struct nlm_backend_data): New fields
4049         optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
4050         nlm_set_public_section, nlm_get_public_offset.  Removed unused
4051         nlm_write_reloc field.  Changed nlm_write_import to remove
4052         unnecessary symbol argument.  Renamed nlm_write_externals to
4053         nlm_write_external, and changed cound argument from bfd_vma to
4054         bfd_size_type.
4055         (nlm_optional_prefix_size, nlm_backend_object_p_func,
4056         nlm_write_prefix_func, nlm_set_public_section_func,
4057         nlm_get_public_offset_func): New accessor macros.
4058         (nlm_write_reloc_func): Removed.
4059         (nlm_write_external_func): Adjusted for field renaming.
4060         * nlm32-i386.c (nlm_i386_write_import): Renamed from
4061         nlm_i386_write_reloc.  Removed old nlm_i386_write_import which
4062         just called old nlm_i386_write_reloc.
4063         (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
4064         Declared.  Changed second argument from bfd_vma to bfd_size_type.
4065         (nlm32_i386_backend): Adjusted for changes to fields and names.
4066         * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
4067         ifdeffed out code.
4068         (nlm_sparc_write_import): Removed second argument.
4069         (nlm_sparc_write_external): Renamed from
4070         nlm_sparc_write_externals.  Changed second argument from bfd_vma
4071         to bfd_size_type.
4072         (nlm32_sparc_backend): Adjusted for changes to fields and names.
4073         * nlmcode.h: Removed some unused code.
4074         (nlm_object_p): Don't destroy tdata pointer.  Call
4075         backend_object_p function if it exists.
4076         (nlm_slurp_symbol_table): Removed unused variable rcount.  Call
4077         set_public_section_func if it exists instead of checking
4078         NLM_HIBIT.
4079         (nlm_compute_section_file_positions): Account for
4080         optional_prefix_size.
4081         (nlm_write_object_contents): Account for optional_prefix_size.
4082         Removed useless variable write_reloc_func.  Changed declaration
4083         and call of write_import_func.  Call write_prefix_func if it
4084         exists.  Removed unused variables len and temp.  Call
4085         get_public_offset_func if it exists rather than setting NLM_HIBIT.
4086         * nlmswap.h: Declare functions.
4087
4088         * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
4089         for clarity.
4090         (fprintf_vma, sprintf_vma): Use %lx, not %x.
4091         * bfd-in2.h: Rebuilt.
4092         * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
4093         to unsigned long.
4094
4095         * config.bfd: Don't set target64 here, as the setting is ignored.
4096         * configure.in (ecoffalpha_little_vec): Set target64.
4097
4098         * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
4099         in TDEFINES is wrong.
4100
4101         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
4102         Remove unused variable output_section.
4103
4104 Tue Nov 30 16:45:23 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4105
4106         * irix-core.c: New file for Irix 4 and Irix 5 core support.
4107         Functions taken out of coff-mips.c.  Handle vmap type VMAPFILE.
4108         * coff-mips.c: Irix 4 core file support moved to irix-core.c.
4109         * targets.c: If IRIX_CORE defined, include irix_core_vec in
4110         target_vector.
4111         * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
4112         (HDEPFILES): Define to be irix-core.o.
4113         * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
4114         (HDEPFILES): Define to be irix-core.o.
4115         * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o.  Removed
4116         sco-core.o, which no longer exists.
4117         (CFILES): Added all *-core.c files.
4118         Rebuilt dependencies.
4119
4120 Wed Nov 24 02:02:41 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4121
4122         * elfcode.h (map_program_segments): Restore check of file_size !=
4123         mem_size, but only if SHT_PROGBITS.
4124
4125         * ecofflink.c: New file to hold ECOFF debug information linking
4126         routines.
4127         * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
4128         ecoff_add_string, ecoff_get_debug): Removed.  Functionality now in
4129         ecofflink.c.
4130         (ecoff_get_extr, ecoff_set_index): New functions.
4131         (ecoff_slurp_symbolic_info): Don't save raw_size.
4132         (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
4133         (ecoff_compute_section_file_positions): Don't set EXEC_P just
4134         because there is a start address.
4135         (ecoff_write_object_contents): Handle external symbols here.  Use
4136         ecofflink.c functions to write out debugging information.
4137         * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
4138         mips_elf_set_index): New functions.
4139         (mips_elf_seclet_link): Discard empty sections, the .options
4140         section and .gptab sections.  Handle linking .mdebug section.
4141         * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
4142         * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
4143         * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
4144         called by gas, so they are public).
4145         * bfd-in2.h: Rebuilt.
4146         * Makefile.in (BFD_LIBS): Added ecofflink.o.
4147         (CFILES): Added ecofflink.c.
4148         (ecofflink.o): New target.  Rebuilt dependencies.
4149
4150 Mon Nov 22 22:26:42 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4151
4152         * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
4153         a valid magic number if it's been defined.
4154
4155 Mon Nov 22 14:17:36 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4156
4157         * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
4158         no longer requires it.
4159         (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
4160         ecoff_write_object_contents): Don't treat .scommon section
4161         specially.
4162
4163 Mon Nov 22 10:54:27 1993  Fred Fish  (fnf@cygnus.com)
4164
4165         Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
4166         * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
4167         * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
4168         * bfd/ptrace-core.c:  New file for dealing with core files with
4169         start with the ptrace_user structure found on BCS compliant systems.
4170         * bfd/targets.c (ptrace_core_vec):  New vector.
4171
4172 Mon Nov 22 02:33:12 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4173
4174         * Minimal support for reading SOM fixup streams.  Allows
4175         objdump -r to do something reasonable.
4176         * som.c (som_get_reloc_upper_bound): Implement.
4177         (som_canonicalize_reloc): Implement.
4178         (som_set_reloc_info, som_slurp_reloc_table): New functions.
4179
4180 Sun Nov 21 13:46:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4181
4182         * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
4183         * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
4184
4185 Fri Nov 19 14:34:04 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4186
4187         * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
4188         signed_value before sign extending it.  Don't subtract out
4189         reloc_entry->address.  This makes it compatible with what gas is
4190         generating.
4191
4192         * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
4193         SHT_NOBITS sections.
4194         (map_program_segments): Don't leave the loop after the first
4195         SHT_NOBITS section.
4196         (assign_file_positions_except_relocs): Only force sh_offset and
4197         sh_addr to match modulo maxpagesize for a section which is not
4198         SHT_NOBITS.  Changed the method used to force page alignment after
4199         a SHT_NOBITS section to only do it for the last such consecutive
4200         section, and to really force page alignment.
4201
4202 Fri Nov 19 04:02:01 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4203
4204         * coffcode.h (coff_slurp_symbol_table): Print more verbose message
4205         in the case of an unknown (or unhandled) storage class.
4206
4207         * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
4208         not be defined here, since it is a host attribute, not a target
4209         one.
4210         * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
4211
4212         * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
4213         defined.
4214
4215         * coff-sparc.c: Define some relocations, based on ELF relocations.
4216         (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
4217         struct coff_reloc_map, sparc_reloc_map,
4218         coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
4219         elf.c, renamed.
4220         (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
4221         (rtype2howto): Index into coff_sparc_howto_table using
4222         dst->r_type.
4223
4224 Thu Nov 18 11:45:39 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4225
4226         * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
4227         * configure.host (mips-sgi-irix5*) New host; use irix5 (no
4228         hosts/irix5.h created; just use std-host.h).
4229         * config/irix5.mh: New file; like irix4.mh, but don't use -G or
4230         -lmalloc.
4231         * Makefile.in: Rebuilt dependencies.
4232
4233         * ecoffswap.h: Changed type of internal pointers for swap out
4234         functions to const *.
4235
4236         * elf32-mips.c (mips_elf_got16_reloc): New function.  Handle GOT16
4237         correctly for assembler, but linker support not implemented.
4238         (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
4239         (mips_elf_sym_is_global): New function; at least on Irix 5, all
4240         non section symbols are considered global.
4241         (elf_backend_sym_is_global): Define.
4242         (mips_elf_final_write_processing): New function.  Set the MIPS
4243         architecture level correctly.
4244         (elf_backend_final_write_processing): Define.
4245         (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
4246         (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
4247         section to 1.  Handle .options section.
4248         (mips_elf_acom_section, mips_elf_acom_symbol,
4249         mips_elf_acom_symbol_ptr): New static variables, used to build a
4250         generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
4251         (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
4252         putting them all in a global .acommon section.
4253
4254         * elfcode.h (bfd_section_from_shdr): Don't dump core if target
4255         section has no ELF section data.
4256         (elf_make_sections): Set addralign of reloc section to 4.
4257         (elf_fake_sections): Likewise.
4258         (map_program_segments): Don't consider section 0.
4259         (assign_file_positions_except_relocs): Don't consider section 0.
4260         In the main loop, skip the symtab and strtab sections, since their
4261         positions are set elsewhere.
4262         (swap_out_syms): Set addralign of symtab section to 4.  Set
4263         addralign of strtab sections to 1.
4264         (assign_file_positions_for_relocs): Don't consider section 0.
4265         (write_object_contents): Don't write out section 0.
4266
4267         * libelf.h (struct elf_backend_data): Added fields
4268         elf_backend_sym_is_global and elf_backend_final_write_processing.
4269         * elf32-target.h (elf32_bed): Added corresponding initializers.
4270         * elf64-target.h (elf64_bed): Likewise.
4271         * elfcode.h (sym_is_global): Take abfd argument.  Call
4272         elf_backend_sym_is_global if it is not NULL.
4273         (elf_map_symbols): Pass abfd to sym_is_global.
4274         (write_object_contents): Call elf_backend_final_write_processing
4275         if it is defined.
4276
4277 Wed Nov 17 18:43:28 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4278
4279         * libecoff.h: Include coff/ecoff.h.
4280         (struct ecoff_backend_data): Move external debugging information
4281         fields into a single field pointing to an ecoff_debug_swap
4282         structure.
4283         (ecoff_data_type): Move debugging information fields into a single
4284         field pointing to an ecoff_debug_info structure.
4285         * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
4286
4287 Wed Nov 17 17:38:58 1993  Sean Eric Fagan  (sef@cygnus.com)
4288
4289         * nlmswap.h: New file to swap fixed header.  Included by NLM
4290         backends.
4291         * libnlm.h (struct reloc_and_sec): Define.
4292         (struct nlm_backend_data): Add fields fixed_header_size,
4293         nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
4294         nlm_swap_fhdr_out.
4295         (nlm_fixed_header_size, nlm_read_import_func,
4296         nlm_write_import_func, nlm_swap_fixed_header_in_func,
4297         nlm_swap_fixed_header_out_func, nlm_write_external_func): New
4298         accessor macros.
4299         * nlmcode.h: Use new functions.
4300         * nlm32-i386.c: Provide new functions.
4301         * nlm32-sparc.c: New file; SPARC NLM backend.
4302
4303 Wed Nov 17 13:56:10 1993  Stan Shebs  (shebs@rtl.cygnus.com)
4304
4305         * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
4306         garbage bits appearing in the upper end of symbolnums.
4307
4308         * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
4309
4310 Tue Nov 16 17:03:41 1993  Stu Grossman  (grossman at cygnus.com)
4311
4312         * lynx-core.c (lynx_core_file_p):  Change bfd_zalloc to bfd_alloc.
4313         * m68klynx.c:  Define core file macros.
4314         * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h:  Move all
4315         non-architecture specific stuff into lynx.h.
4316
4317 Tue Nov 16 15:45:54 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
4318
4319         * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
4320         change PAGE_SIZE to 4096.
4321
4322 Mon Nov 15 11:48:08 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
4323
4324         * Makefile.in (diststuff): New target.
4325
4326         * VERSION: Updated.
4327
4328 Sun Nov 14 23:33:01 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4329
4330         * som.c (som_object_setup): Do not create dummy ".text", ".data",
4331         and ".bss" sections.
4332         (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
4333         is zero.  Recognize BSS type sections and turn off SEC_LOAD and
4334         SEC_DATA (so binutils/size works).  Set the correct value for
4335         a section's _raw_size.
4336         (som_slurp_symbol_table): Program entry points, and millicode are
4337         also functions.  Mark them as such.  Also mark L$* symbols as
4338         debugging symbols.
4339
4340         * bfd-in2.h: Rebuilt.
4341
4342 Sat Nov 13 15:27:15 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4343
4344         * som.c (som_bfd_reloc_type_lookup): Add missing prototype.  Returns
4345         a pointer to constant data.  Delete bogus #define which made the 
4346         function useless.
4347
4348         * som.c (som_prep_for_fixups): New function.
4349         (som_write_fixups): New function.
4350         (som_write_space_strings): New function.
4351         (som_write_symbol_strings): New function.
4352         (som_begin_writing): New function.
4353
4354 Fri Nov 12 15:29:36 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4355
4356         * som.c (som_write_object_contents): Do not abort.  Flesh out.
4357         (som_set_section_contents): Do not abort.  Flesh out.
4358
4359         * som.c (som_write_headers): New function.
4360         (som_prep_headers): New function.
4361         (som_build_and_write_symbol_table): New function.
4362
4363         * som.c (som_sizeof_headers): Add missing prototype.
4364         (som_set_arch_mach): Do not abort.
4365
4366         * som.c (som_count_spaces): New function.
4367         (som_count_subspaces): New function.
4368         (compare_syms): New function.
4369         (som_compute_checksum): New function.
4370
4371         * som.c (hppa_som_gen_reloc_type): New function.
4372         (som_bfd_reloc_type_lookup): New function.
4373
4374         * som.c (try_prev_fixup): New function.
4375         (som_reloc_skip): New function.
4376         (som_reloc_addend): New function.
4377         (som_reloc_call): New function.
4378
4379         * som.c (som_initialize_reloc_queue): New function.
4380         (som_reloc_queue_insert): Likewise.
4381         (som_reloc_queue_fix): Likewise.
4382         (som_reloc_queue_find): Likewise.
4383
4384         * som.c (som_hppa_howto_table): SOM howto relocation table.
4385         (hppa_som_reloc): New function.
4386
4387         * som.c (struct reloc_queue): New structure to keep track of
4388         the last four multibyte relocations emitted.
4389         (enum pa_symbol_type): Type to fully describe the symbol types
4390         associated with .import/.export assembler directives.
4391
4392         * som.c: Include libhppa.h
4393
4394         * som.c (bfd_som_set_section_attributes): New function.
4395         (bfd_som_set_subsection_attributes): Likewise.
4396         (bfd_som_set_symboL_type): Likewise.
4397         (bfd_som_attach_unwind_info): Likewise.
4398         * som.h: Declare new exported functions.
4399
4400         * som.h (struct som_symbol): Add new fields to hold additional
4401         information needed to build/write symbol tables and fixup streams.
4402         (struct som_section_data_struct): Add new fields to hold additional
4403         information needed to build/write space and subspace headers.
4404         (som_symbol_data): New accessor macro for SOM symbol information.
4405         (R_HPPA_*): Basic relocation types to be used by the assembler.
4406
4407 Fri Nov 12 11:00:28 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
4408
4409         * trad-core.c (trad_unix_core_file_p): If new hook
4410         TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
4411         corefile being too big.
4412         * hosts/i386sco.h: Define it.
4413
4414 Thu Nov 11 15:16:28 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4415
4416         * bfd.c (struct _bfd): Add hppabsd_core_data.
4417         * targets.c (target_vector): Add hppabsd_core_vec.
4418         * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
4419         section is encountered during core section scanning.
4420         * hppabsd-core.c: New file.
4421         * config/hppabsd.mh: Enable HPPA BSD core files.
4422
4423         * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud.  Remove code
4424         which is either commented out or ifdef'd out.  Add, update and
4425         clean comments.  Fix various indention and spacing problems.  Handle
4426         problems related to using "ble" to jump to a stub rather than "bl"
4427         (%r31 is trashed by "ble", but not by "bl").
4428         (NEW_INSTRUCTION): Put inside curly braces.
4429         (CURRENT_STUB_OFFSET): Fix indention problems.
4430         (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
4431         Add, update and clean comments.  Handle "ble" %r31 lossage problems.
4432         (hppa_elf_build_long_branch_stub): Likewise.
4433         (hppa_look_for_stubs_in_section): Likewise.
4434         (hppa_elf_stub_check): Remove obsolete function.
4435
4436         * hppa_stubs.h: Add new instructions to deal with %r31 lossage
4437         problems.  Delete unused instructions.
4438         
4439 Tue Nov  9 11:40:27 1993  Stan Shebs  (shebs@rtl.cygnus.com)
4440
4441         * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
4442
4443 Tue Nov  9 11:26:05 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4444
4445         * elfcode.h (elf_object_p): Rather than looking through an array
4446         of architectures, get the ELF EM_xxx code from the backend
4447         information.  Let the generic ELF target match any EM_xxx code not
4448         matched by another ELF target.  Call elf_backend_object_p to let
4449         the backend do more checks and set global information.
4450         * libelf.h (struct elf_backend_data): Added elf_machine_code and
4451         elf_backend_object_p fields.
4452         (struct bfd_elf_arch_map): Removed.
4453         (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
4454         * elf32-target.h, elf64-target.h: Initialize elf_machine_code
4455         field with ELF_MACHINE_CODE.  Initialize elf_backend_object_p
4456         field with elf_backend_object_p (if it is defined).
4457         * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
4458         elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
4459         elf64-gen.c (ELF_MACHINE_CODE): Defined.
4460         * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
4461         routines.
4462         (mips_elf_object_p): Set the right machine number.
4463         (mips_elf_ecoff_debug_swap): Defined.
4464         (elf_backend_object_p): Defined to be mips_elf_object_p.
4465         (elf_backend_ecoff_debug_swap): Defined to be
4466         mips_elf_ecoff_debug_swap.
4467         * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
4468
4469         * libbfd-in.h (target_vector, default_vector): Declare.
4470         * libbfd.h: Rebuilt.
4471         * format.c (target_vector, default_vector): Don't declare.
4472
4473         * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
4474         for R_MIPS_26.  Correct overflow detection requires matching the
4475         upper four bits of the destination against the PC.  From Ted Lemon
4476         <mellon@pepper.ncd.com>.
4477
4478         * bout.c (b_out_reloc_type_lookup): Return type should point to
4479         const data.
4480         * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
4481         * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
4482         * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
4483         * coff-i386.c (coff_i386_reloc): Made howto const.
4484         * oasys.c (oasys_write_data): Made how const.
4485
4486         * libelf.h: Added some comments.
4487         (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
4488         field.  Removed unused write_relocs field.
4489         * elf32-target.h: Adjusted elf_backend_data initialization
4490         accordingly.
4491         * elf64-target.h: Corrected elf_backend_data initialization to
4492         fill in all fields and to set elf_64_p to 1.
4493
4494 Mon Nov  8 18:13:14 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4495
4496         * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
4497         to filepos in SHT_STRTAB case.
4498         (assign_file_position_for_section): Set BFD section filepos as
4499         well as ELF section sh_offset.
4500
4501         * reloc.c: Use const instead of CONST.
4502         (bfd_perform_relocation): Make variable howto a const pointer.
4503         * bfd-in2.h, libbfd.h: Rebuilt.
4504
4505 Mon Nov  8 12:19:15 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
4506
4507         * Makefile.in (realclean): Don't remove generated headers.  Reverts
4508         change of 2 Jul 1993.
4509
4510 Mon Nov  8 06:08:31 1993  D. V. Henkel-Wallace  (gumby@cirdan.cygnus.com)
4511
4512         * configure.bfd: make unixware equivalent to sysv4.
4513
4514         * config/i386-nlm.mt: bring in elf config; make it the default.
4515
4516 Sun Nov  7 20:21:38 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4517
4518         * libbfd.c (bfd_put_8): Add parens around reference to "val"
4519         argument.
4520
4521 Fri Nov  5 21:45:09 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
4522
4523         * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
4524         i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
4525
4526 Fri Nov  5 15:17:57 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4527
4528         * coffcode.h (coff_write_object_contents): Zero out internal_a.
4529
4530 Fri Nov  5 10:41:07 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
4531
4532         * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
4533         core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
4534         section.c, syms.c, targets.c:
4535         Doc cleanup (spelling, punctuation, grammar, formatting).
4536         * bfd-in2.h, libbfd.h: Rebuild.
4537
4538 Thu Nov  4 14:46:14 1993  John Gilmore  (gnu@rtl.cygnus.com)
4539
4540         * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable):  New accessors.
4541         * bfd.c, opncls.c:  Improve comments on file descriptor cacheing.
4542
4543 Thu Nov  4 08:54:30 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
4544
4545         * From Pete Hoogenboom (hoogen@cs.utah.edu)
4546         * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
4547         in last change.  Always rebuild symbol extension section the first
4548         time though if output sections exist (fixes ld -r problems).
4549
4550 Thu Nov 04 08:08:46 1993  Jeffrey Wheat  (cassidy@cygnus.com)
4551
4552         * Makefile.in: Add .PHONY for check and installcheck rules.
4553
4554 Tue Nov  2 14:42:27 1993  Bill Cox (bill@tarkas.cygnus.com)
4555
4556         * libbfd-in.h (artdata): Use long, not time_t for portability, at
4557           least to HPUX.  File below is a derived file.
4558
4559 Tue Nov  2 14:42:27 1993  Bill Cox (bill@tarkas.cygnus.com)
4560
4561         * libbfd.h (artdata): Use long, not time_t for portability, at
4562           least to HPUX.
4563
4564 Tue Nov  2 09:32:25 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
4565
4566         * config.bfd: Use bigmips for mips*-*-bsd*.
4567
4568 Mon Nov  1 14:30:09 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4569
4570         * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
4571         Handle symbol number of zero.
4572
4573         * reloc.c (enum bfd_reloc_code_real): Added
4574         BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
4575         BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
4576         * bfd-in2.h: Rebuilt.
4577         * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
4578         BFD_RELOC_MIPS_LITERAL.
4579         * elf32-mips.c (mips_reloc_map): Handle new relocs.
4580         (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
4581         checks slightly.
4582
4583         * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
4584         MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
4585         (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
4586         MY_bfd_seclet_link): Define.
4587         (MY_bfd_reloc_type_lookup): Rename from
4588         MY_reloc_howto_type_lookup.
4589         (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
4590         (MY(vec)): Use JUMP_TABLE rather than listing functions.
4591         * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
4592         MY_canonicalize_reloc, MY_write_object_contents): Don't define in
4593         terms of MY, because that causes a recusive invocation of CAT when
4594         expanded within JUMP_TABLE, and ANSI compilers don't expand
4595         recursive macros.
4596         * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
4597         MY_reloc_howto_type_lookup, and don't define in terms of MY.
4598         (MY_canonicalize_reloc): Don't define in terms of MY.
4599         (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
4600         than listing functions.
4601
4602 Mon Nov  1 09:12:25 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
4603
4604         * config.bfd: Use m68k-elf for m68*-*-sysv4*.
4605
4606 See file ChangeLog.1
4607
4608 \f
4609 Local Variables:
4610 mode: indented-text
4611 left-margin: 8
4612 fill-column: 74
4613 version-control: never
4614 End: