36934ba9ae992960bb56ac29d369e88e15bb0963
[external/binutils.git] / bfd / ChangeLog
1 Tue Nov 26 09:10:55 1991  Steve Chamberlain  (sac at cygnus.com)
2
3         * Makefile.in: added coff-h8300
4         * configure.in: now h8 is a coff target
5         * cpu-h8300.c: fix various disassembly problems
6         * libcoff.h: took out some code which has been #0ed for a long
7         time.
8         * targets.c: added h8 coff 
9         * coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c
10         added new macro RTYPE2HOWTO to take a load of #ifdefs out of
11         coffcode.h
12         * coffcode.h: Started to change the way machine dependencies are
13         handled, from the nest of #ifdefs to macros defined in the
14         including coff-<foo>.c
15
16
17
18
19 Fri Nov 22 08:11:42 1991  John Gilmore  (gnu at cygnus.com)
20
21         * aoutx.h (some_aout_object_p):  Set the `executable' bit
22         if the entry point is contained in the text segment, even if the
23         text segment is at location 0.
24
25         * coff-mips.c, coffcode.h:  Peter Schauer's patch to kludge in
26         nonstandard MIPS sections (.rdata, .sdata, etc).
27
28         * aoutx.h, bfd.c, coffcode.h, ieee.c, oasys.c, targets.c: CONST lint.
29         * libbfd-in.h, libbfd.h, aoutx.h, coffcode.h, elf.c, libaout.h:
30         Rename ALIGN to BFD_ALIGN to avoid conflict with BSD <sys/param.h>.
31         * libbfd.c:  Lint.
32         * host-aout.c, trad-core.c:  Fix write_armap prototypes.  Lint.
33
34 Thu Nov 21 19:56:40 1991  Per Bothner  (bothner at cygnus.com)
35
36         * stab-syms.c, syms.c:  Moved bfd_stab_name() and bfd_stab_names[]
37         from syms.c to new file stab-syms.c.  Also, since GNU extended
38         type codes such as N_SETT are no longer in ../include/stab.def,
39         include them manually.
40         * stab-syms.c, aoutx.h: Renamed bfd_stab_name() and
41         bfd_stab_names[] to aout_stab_name() and aout_stab_names[].
42         * libaout.h: Added prototype for aout_stab_name().
43         * Makefile.in:  Update Makefile for new stab-syms.[co].
44
45 Thu Nov 21 11:50:49 1991  John Gilmore  (gnu at cygnus.com)
46
47         * libaout.h (WORK_OUT_FILE_POSITIONS):  One more try at this
48         rather complicated seeming problem.  Eliminate LOGICAL_ versions,
49         just make N_XXX work by excluding the header from the text segment.
50         * aoutx.h:  Fix comments to match.
51
52 Tue Nov 19 18:49:01 1991  Per Bothner  (bothner at cygnus.com)
53
54         * libaout.h (WORK_OUT_FILE_POSITIONS):  Use new LOGICAL_TXTADDR,
55         LOGICAL_TXTOFF, LOGICAL_TXTSIZE macros to figure out numbers
56         for the "logical" text segment (i.e. never consider the exec
57         header to be part of the text segment).  This change is
58         needed for consistency with various other parts of bfd and ld.
59         * aoutx.h (NAME(aout,soe_aout_object_p)):  Fix comment,
60         and move calculation of obj_textsec(abfd)->size to libaout.h.
61         * bfd-in.h:  Removed bogus ';'.
62
63         * Makefile.in:  Add MINIMIZE flag to select lean
64         or bloated target_vector.
65         * targets.c:  Use new MINIMIZE macro, and add trad_core if needed.
66         * newsos3.c:  Fixes to ../include/aout64.h remove need
67         for special N_TXTOFF macro, but require N_HEADER_IN_TEXT.
68
69 Mon Nov 18 12:00:59 1991  Per Bothner  (bothner at cygnus.com)
70
71         * aout-target.h, aoutf1.h, newsos3.c:  Make aout-target.h
72         handle both little and big-endian targets, with little
73         the default unless TARGET_IS_BIG_ENDIAN_P is defined.
74         * host-aout.c:  Add FIXME note.
75
76 Sun Nov 17 13:29:39 1991  Per Bothner  (bothner at cygnus.com)
77
78         * targets.c:  Make the default target_vector contain
79         just &DEFAULT_VECTOR.  This makes executables a lot smaller.
80         Old behavior can be gotten by defining ALL_TARGETS.
81         * aoutf1.h, demo64.c, i386aout.c, newsos3.c, sunos.c:
82         Factored out common code into new file aout-target.h.
83         Saves a lot of duplicate code for a.out variants.
84
85 Fri Nov 15 13:00:43 1991  Per Bothner  (bothner at cygnus.com)
86
87         Get 'make headers' to work when configured with +subdirs.
88         * Makefile.in: Add $(subdir) to docdir path.
89         * doc/Makefile.in (protos): Add $(srcdir) prefix
90         to name of sed scripts.
91
92 Thu Nov 14 19:49:10 1991  Per Bothner  (bothner at cygnus.com)
93
94         * aoutx.h (NAME(aout,print_symbol)):  Fix thinko.
95         * syms.c (bfd_stab_names):  Turn on new GNU_EXTRA_STABS macro
96         to include names of N_SETT etc.
97
98 Thu Nov 14 19:11:13 1991  Fred Fish  (fnf at cygnus.com)
99
100         * elf.c:  Add minimal support for ELF symbol tables.  Generates
101         canonical bfd symbol tables from ELF symbol tables.  Change the
102         name of some functions from bfd_<name> to elf_<name>.
103
104         * syms.c:  Trivial fix to comment to remove a redundant "to".
105
106 Wed Nov 13 17:02:01 1991  John Gilmore  (gnu at cygnus.com)
107
108         * coff-{i386,m68k,m88k}.c:  Change name of file format to standard
109         form that GDB recognizes as COFF.
110
111 Wed Nov 13 09:09:41 1991  Steve Chamberlain  (sac at cygnus.com)
112
113         * ieee.c (ieee_object_p):  cast NULL correctly.
114         * configure.in: added harris host
115
116         * coff-a29k.c: Lots of changes, most from David Wood.
117
118 Tue Nov 12 07:21:41 1991  John Gilmore  (gnu at cygnus.com)
119
120         * coff-m88k.c (coff_write_armap):  Just #undef it.
121
122 Mon Nov 11 20:30:18 1991  Steve Chamberlain  (sac at cygnus.com)
123
124         * Makefile.in: standardize on MINUS_G to disable debugging
125         * coff-m88k.c: create coff armaps instead of bsd ones.
126         * opncls.c (bfd_close_all_done), (bfd_close): Mask out random bits
127         when calling chmod.
128
129 Mon Nov 11 19:07:32 1991  Fred Fish  (fnf at cygnus.com)
130
131         * elf.c:  Additions to support ELF format core files.
132         * config/mh-amix:  Add -DHAVE_PROCFS to HDEFINES, since host
133         has support for /proc (all the include files in particular).
134
135 Mon Nov 11 18:36:47 1991  Per Bothner  (bothner at cygnus.com)
136
137         * aoutx.h (NAME(aout,find_nearest_line)):  Handle the case
138         of two N_SO stabs, one for directory, and one for filename.
139
140         * bfd-in.h (print_vma):  Factor out duplicate definition.
141
142         Exit a little more gracefully when malloc returns NULL.
143         * libbfd.c: New function bfd_xmalloc (malloc wrapper).
144         * opncls.c, syms.c, bout.c, aoutx.h:  Replace malloc by bfd_xmalloc.
145         * libbfd.h: Rre-generated due to libbfd.c update.
146
147 Sat Nov  9 13:45:01 1991  Fred Fish  (fnf at cygnus.com)
148
149         * config/mt-m68k-elf:  Define DEFAULT_VECTOR as elf_big_vec.
150
151         * elf.c (elf_object_p):  Don't try to create a bfd section for
152         the first ELF section header.  It is just a placeholder.
153
154 Sat Nov  9 03:04:26 1991  John Gilmore  (gnu at cygnus.com)
155
156         * coff-rs6000.c, config/mh-rs6000:  Make it work on archive and
157         core files, when compiling native.
158         * hosts/h-rs6000.h:  Define FASCIST_FDOPEN for bfd_fdopenr.
159
160         FIXME:  The aoutf1.h change below needs to be reversed back
161         to the way it was.
162
163 Thu Nov  7 11:03:55 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
164
165         * coffcode.h: Defined new macros [PUT|GET]LINENO_LNNO for
166         manipulation of lnno fields in lineno structs in a coff-<f>.h
167         independent way. Override it in coff-<f>.h to your favourite
168         number if you don't have a 16bit lnno field. (coff_swap_lineno_in)
169         (coff_swap_lineno_out): modified to use the new macros.
170
171 Mon Nov  4 11:38:33 1991  Steve Chamberlain  (sac at cygnus.com)
172
173         * aoutf1.h (sunos4_callback): Now defaults to 68020 rather than
174         unknown arch when the magic number doesn't specify the
175         architecture, since some OSs (eg old sun3s) don't set the number, and
176         020 is probably the right answer anyway.
177
178 Sun Nov  3 12:07:08 1991  Per Bothner  (bothner at cygnus.com)
179
180         * hosts/h-news.h, hosts/h-rtbsd.h:
181         Get rid of MISSING_VFPRINTF, since libiberty provides one.
182         * bfd-in.h (bfd_print_symbol_type_hopw enum):   Add new option
183         bfd_print_symbol_nm, for use by nm.
184         * aoutx.h (NAME(aout,print_symbol)):  Add code for new
185         bfd_print_symbol_nm option, to print in nm format.
186         * coffcode.h (coff_print_symbol), ieee.c (ieee_print_symbol)
187         oasys.c (oasys_print_symbol):  Provide stub implementations
188         for bfd_print_symbol_nm.
189         * syms.c:  New function bfd_decode_symclass, used by nm printer.
190         New function bfd_stab_name to look up string name of stab code.
191
192 Sat Nov  2 14:26:03 1991  Steve Chamberlain  (steve at cygnus.com)
193
194         * Makefile.in: Added ctor.c 
195         * archures.c (bfd_default_arch_struct) added
196         bfd_default_reloc_type_lookup.
197         * coffcode.h: removed a load of #if 0ed code.
198         (coff_compute_file_section_positions): now works out the section
199         alignment and size correctly in all cases.
200         (coff_get_symtab): looks for constructor symbols and calls the
201         right function when they're found. (coff_canonicalize_reloc):
202         knows when a section is full of constructors and does the right
203         thing. 
204         * cpu-m88k.c: Added default_reloc_type lookup to the architecture
205         description.
206         * libbfd-in.h: (bfd_default_reloc_type_lookup) defun  added.
207         * libcoff.h: removed #if 0ed code
208         * reloc.c: (bfd_reloc_code_real_type) added BFD_RELOC_CTOR for
209         arch independent constructor relocation type.
210         (bfd_reloc_type_lookup): removed the comment "this will go away"
211         since it won't. (bfd_howto_32): stolen from 88k, this is a 32bit
212         reloc which is used when BFD_RELOC_CTOR falls through to give a
213         default 32bit reloc for constructors.
214         (bfd_default_reloc_type_lookup): added.
215         * aoutf1.h: fixed SEGMENT_SIZE typo.
216
217 Thu Oct 31 18:23:06 1991  John Gilmore  (gnu at cygnus.com)
218
219         * coff-rs6000.c:  Change name to "aixcoff-rs6000", to avoid
220         matching prefix "coff".
221         * coffcode.h (coff_swap_aux_in, coff_swap_aux_out):  Handle
222         rs/6000 csect records.
223
224 Sun Oct 27 16:56:58 1991  Steve Chamberlain  (steve at cygnus.com)
225
226         * coff-m88k.c, targets.c: change name of m88k_bcs to m88kbcs
227         * configure.in: add motorola delta88 cases
228         * libbfd.h, libbfd-in.h, archive.c, ieee.c, elf.c, srec.c: fix
229         write_armap prototype
230         * libbfd.c: add doc on bfd_write_bigendian_4byte_int
231
232 Fri Oct 25 02:48:19 1991  John Gilmore  (gnu at cygnus.com)
233
234         * Rename COFF-related files in `coff-ARCH.c' form.
235         coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c,
236         coff-mips.c, coff-rs6000.c to be exact.
237
238         * Makefile.in:  Only supply TARGET_DEFAULTS to targets.c, reducing
239         make output clutter.
240         * config/mt-*:  Ditto.
241
242 Thu Oct 24 22:40:07 1991  John Gilmore  (gnu at cygnus.com)
243
244         RS/6000 support, by Metin G. Ozisik, Mimi Phûông-ThÃ¥o Võ, and
245         John Gilmore.  Archive support from Damon A. Permezel.
246
247         * Makefile.in:  Add cpu-rs6000.c and rs6000coff.c.
248         * configure.in:  Add rs6000 case.
249         * targets.c:  Add rs6000 vector.
250         * archures.c:  Add rs6000, fix comment on romp.
251         * bfd-in.h (enum bfd_error):  Add no_debug_section error.
252         * libcoff-in.h (struct coff_tdata):  Remove unused string_table.
253         * bfd.c (bfd_errmsgs):  Add no_debug_section error message.
254         * section.c (bfd_make_section):  Return NULL on attempt to create
255         a section twice.
256         * coffcode.h (bfd_swap_reloc_in):  Handle r_type and r_size.
257         (bfd_swap_aouthdr_in):  Handle lots more members.
258         (make_a_section_from_file):  If section has already been seen,
259         just return false rather than overwriting it.
260         (coff_real_object_p):  Understand incoming magic numbers.
261         (coff_set_flags):  Understand outgoing magic numbers.
262         (coff_compute_section_file_positions):  outgoing aouthdr magic #.
263         (build_debug_section):  Add fn for reading debug string section.
264         (get_normalized_symtab):  Handle symbol names in debug string section.
265         Remove unused obj_string_table.
266         (coff_slurp_symbol_table):  Handle rs6000-specific storage classes.
267         * aoutx.h (translate_from_native_sym_flags, N_SET*):  Check for
268         existing section before making one.
269         * cpu-rs6000.c:  New file.
270         * rs6000coff.c:  New file.
271
272 Thu Oct 24 02:03:24 1991  Fred Fish  (fnf at cygnus.com)
273
274         * elf.c: Add partial support for ELF format corefiles. Still needs
275         support for extracting registers from corefiles.
276
277         * config/t-m68k-elf:  Set DEFAULT_VECTOR to elf_big_vec.
278
279         * config/{h-amix,h-dgux,h-irix3,h-ultra3}: For systems where
280         RANLIB is defined as echo, send the output to /dev/null to help
281         reduce clutter in the output from doing a make.
282
283 Mon Oct 21 17:48:48 1991  John Gilmore  (gnu at cygnus.com)
284
285         * hosts/h-vaxult.h:  Remove malloc/free decls covered in stdlib.h.
286         Fix HOST_PAGE_SIZE and HOST_SEGMENT_SIZE.  From David Taylor.
287
288 Mon Oct 21 09:34:11 1991  Steve Chamberlain  (steve at rtl.cygnus.com)
289
290         * coffcode.h (coff_compute_section_file_positions): make it pad
291         section size out if there are alignment restrictions so that the
292         image will be ok on a system where section positions are worked
293         out by accumulating sizes rather than from the section headers.
294         * targets.c (proto write_armap). Changed orl_count to unsigned.
295         * opncls.c (bfd_close_all_done). Added so that generative
296         programs like gas can close a bfd without causing bfd confusion.
297         * libbfd.h (changed becuase of protos)
298         * amdcoff.c: messed with the way that jmp displacements are
299         calcualated. This may not yet be totally correct.
300         * archive.c (coff_write_armap): rewrote the way that ranlibs are
301         written out.
302         * coffcode.h (fixup_symbol_value): now doesn't core dump if a non
303         abs symbol has no section (like a register symbol).
304         (coff_write_symbol) now zeros auxent before filling it up to help
305         with sensitive applications.
306         * libbfd.c (bfd_write_bigendian_4byte_int): added.
307         
308 Wed Oct 16 22:58:45 1991  John Gilmore  (gnu at cygnus.com)
309
310         * bfd.c:  Make sure we don't get a macro strerror().
311         * opncls.c (bfd_fdopenr):  If FASCIST_FDOPEN, use "r", not "r+".
312         * trad-core.c (trad_unix_core_file_failing_command):  Suppress
313         attempt to recover command, ifdef NO_CORE_COMMAND.
314         * hosts/h-tahoe.h:  Add FASCIST_FDOPEN and NO_CORE_COMMAND;
315         revamp HOST_*, etc.
316         * hosts/h-i386v.h:  Use <utime.h>, not <sys/utime.h>, unlike POSIX.
317
318 Wed Oct 16 12:43:49 1991  Per Bothner  (bothner at cygnus.com)
319
320         * archive.c (bsd_write_argmap): The size of the ranlib structures
321         should not include the size field itself.
322         * aoutx.h, libaout.h (NAME(aout, sizeof_headers)):  Use
323         adata(abfd)->exec_bytes_size field instead of constant macro,
324         because aoutx.h compiles to a simple .o file shared by
325         all 32-bits a.out targets.
326
327 Wed Oct 16 11:11:05 1991  John Gilmore  (gnu at cygnus.com)
328
329         * configure.in:  Allow i386-sco-sysv.
330         * bout.c:  Remove unused i960_align; lint dummy core file handlers.
331         * cpu-h8300.c:  lint.
332
333         * host-aout.c:  New strategy.  We use common code, include files,
334         and data structures to handle the file, but set a few parameters
335         from the host's config file (page size, text start addr, etc).
336         * libaout.h:  Define HP BSD machine types.
337         * aoutf1.h:  Handle reading a.outs with these types.
338
339         * trad-core.c:  Pass the u.u_ar0 value as the negative of the
340         virtual-memory-address of the .reg section.  We can't just make a
341         section for "all the regs and nothing else" because only GDB knows
342         exactly where the regs are (scattered around the upage and stack).
343         Clean up memory allocation.  Remove big- and little-endian
344         vectors, replace with single vector; this only runs on the host,
345         in host byte order.  Replace byteswap routines with aborts in case
346         anyone calls them.
347         * targets.c:  There's only one trad_core_vec now.
348         * aoutf1.h (sunos_core_file_p):  VMA of .reg* now needs to be 0.
349
350 Tue Oct 15 08:29:03 1991  John Gilmore  (gnu at cygnus.com)
351
352         * hosts/h-amix.h (free):  Fix prototype.
353
354         * aoutx.h:  Don't use NULL as an integer, for braindead systems
355         that declare it as (void *)0.  (From Peter Schauer.)
356
357 Mon Oct 14 17:20:47 1991  Per Bothner  (bothner at cygnus.com)
358
359         * opncls.c (bfd_fdopenr):  Add parentheses to avoid reported
360         problem with bad Ultrix system headers.
361         * aoutx.h (NAME(aout,set_section_contents)):  Try to handle the
362         various kinds of alignments for the various kinds of
363         magic numbers.
364
365 Mon Oct 14 14:23:10 1991  John Gilmore  (gnu at cygnus.com)
366
367         * doc/Makefile:  Don't assume . is on the path (from James Clark).
368
369 Fri Oct 11 22:45:14 1991  John Gilmore  (gnu at cygnus.com)
370
371         * Makefile.in:  Avoid Sun Make VPATH bugs.
372         * targets.c:  Declare trad_core vectors extern.
373
374 Fri Oct 11 13:03:02 1991  Per Bothner  (bothner at cygnus.com)
375
376         * coffcode.h: Moved ALIGN macro to libbfd.h. Removed i960_align.
377         * libbfd.h: Moved ALIGN macro here.
378         * bout.c (b_out_callback): Replace i960_align by align_power.
379
380         * libaout.h (struct aoutdata):  Added fields page_size,
381         segment_size and exec_bytes_size.  These help generic code
382         (in aoutx.h and libaout.h) to figure out where to align
383         the various segments in a demand paged file.
384         * libaout.h (WRITE_HEADER):  Use new (struct aoutdata) fields
385         to decide if the exec header counts in a_text (text segment size).
386         Also, assume D_PAGED flag is set; don't set it here.
387         * bout.c (b_out_callback): Add initialization of
388         adata fields page_size, segment_size, and exec_bytes_size.
389         * host-aout.c (NAME(host_aout, callback) and
390         NAME(host_aout,mkobject): Ditto.
391         * i386aout.c (aout386_callback) and new aout386_mkobject): Ditto.
392         * newos3.c (newsos3_callback) and new newsos_mkobject): Ditto.
393         * aoutf1.c (sunos4_callback) and new sunos_mkobject): Ditto.
394         * aoutx.h (NAME(aout,some_aout_object_p)): Don't subtract
395         EXEC_BYTES_SIZE from the a_test size; this is only appropriate
396         for some systems (mainly sunos), so do it in the callback instead.
397         Same routine: Add stuff to the THIS_IS_ONLY_DOCUMENTATION comment.
398         * aoutx.h (NAME(aout,set_section_contents): Change the way
399         filepos and size of sections are carried out to support
400         older styles of demand paged executables.
401         
402
403 Fri Oct 11 12:33:36 1991  Steve Chamberlain  (steve at cygnus.com)
404
405         * bfd-in.h: Added more macros to COFF_SWAP_TABLE.
406         * bfd.c: Added macros to enable gas to swap coff records.
407         * coffcode.h: Make the coff_swap_*_out routines return the number
408         of bytes swapped, and cleaned up their prototypes.
409         * configure.in: Added ebmon/coff support
410         * ecoff.c: Changed null definitions of coff_swap_*_out to conform
411         to new prototypes
412         * targets.c: Added new entry points for coff swapping
413
414 Fri Oct 11 03:01:52 1991  John Gilmore  (gnu at cygnus.com)
415
416         Restructure configuration scheme for bfd, binutils, ld.
417
418         * include/sys/h-*.h:  Move to bfd/hosts/h-*.h.
419         * configure.in:  Revise to symlink sysdep.h to hosts/h-xxx.h.
420         Change some config names to match other dirs.
421         * *.c:  Include bfd.h before sysdep.h, so ansidecl and PROTO()
422         get defined first.
423         * Makefile.in:  Use -I. to get sysdep.h.  Remove refs to
424         ../include/sysdep.h.
425         * cpu-i960.c:  Strncmp needed a length arg.
426         * ecoff.c:  Don't ever call trad_unix_core_file_p from here.
427         * i386aout.c:  Remove dead N_TXTOFF override.
428         * trad-core.c:  Don't disable the whole file if SUN4_SYS.
429         * config/:  Rename some config files to match up h-*.h names.
430         Remove all the HOST_SYS definitions from the config files.
431         * hosts/h-amix.h, h-i386v.h:  Define POSIX_UTIME, not USG.
432         * hosts/h-hp9000.h:  Remove USG comment.
433         * hosts/h-rs6000.h:  Include <stdlib.h> for malloc.
434         * hosts/h-news.h, h-sparc-64.h:  New config files that had
435         previously been kludged in the <sysdep.h> file.
436
437 Thu Oct 10 17:54:08 1991  John Gilmore  (gnu at cygnus.com)
438
439         * config/*:  trad-core support is HOST dependent, not target
440         dependent.  Target config files only set DEFAULT_VECTOR and/or
441         other vector elements.  Exception:  when host-aout.c is in use,
442         in which case we're forced to assume we're native (hp, vax,
443         tahoe).  Rename XDEPFILES to HDEPFILES.
444         * Makefile.in:  Rename XDEPFILES.
445         * config/h-sun*:  Don't force static linking.
446         * trad-core.c:  Document how to use it nowadays.
447         * i386aout.c, newsos3.c:  Clean up.
448         * i386coff.c:  Allow 386 coff files to be used as core files too
449         (for reading core files from embedded systems).
450
451 Tue Oct  8 15:30:39 1991  John Gilmore  (gnu at cygnus.com)
452
453         * Add i386aout.c for a.out support on the i386.
454
455 Tue Oct  8 12:18:54 1991  Roland H. Pesch  (pesch at cygnus.com)
456
457         * reloc.c, section.c, syms.c, targets.c: correct info-node
458         structure in *doc* comments.
459         doc/Makefile: stop hiding complaints from makeinfo.
460
461 Sun Oct  6 19:10:06 1991  John Gilmore  (gnu at cygnus.com)
462
463         * aoutx.h (...some_aout_object_p):  Take a third parameter,
464         the internal_exec struct, and avoid ever looking at an
465         external_exec.  All callers changed to read the entire
466         external_exec struct, swap and check its magic number, 
467         swap in the whole structure, and pass the swapped-in version to
468         some_aout_object_p.
469         * bout.c:  Bring into modern era.  Use single _object_p routine
470         for big- aand little-endian.  Provide internal and external
471         exec header structs.  Use separate swap-in and swap-out routines.
472
473         * libaout.h:  Move struct internal_exec from ../include/aout64.h
474         to here.  Add obj_symbol_entry_size to struct aoutdata.
475         * aoutx.h (...some_aout_object_p):  Set obj_symbol_entry_size.
476
477         * ../include/aout64.h:  Change EXTERNAL_LIST_SIZE to
478         EXTERNAL_NLIST_SIZE.  Callers changed.
479         
480 Fri Oct  4 18:18:46 1991  John Gilmore  (gnu at cygnus.com)
481
482         * bfd.c:  Remove strerror() to libiberty.
483
484         * elf.c:  Remove elf_set_section_contents, use generic one.  Lint.
485         * libbfd-in.h, libbfd.c:  Add bfd_generic_set_section_contents.
486         * libbfd.c (bfd_generic_{get,set}_section_contents):  Check that
487         last byte of transfer, not first byte, is within the section.
488
489         * host-aout.c:  Remove `BSD' archive support.  Lint.
490
491         * archures.c: Rename `struct bfd_arch_info_struct' to `struct
492         bfd_arch_info'.  Rename `typedef bfd_arch_info_struct_type' to
493         `bfd_arch_info_type'.  All uses changed.
494         * reloc.c:  Rename `bfd_reloc_status_enum_type' to
495         `bfd_reloc_status_type'.  Rename `bfd_reloc_code_enum_real_type'
496         to `bfd_reloc_code_real_type'.  (This seems to be a misnomer,
497         it needs a better name.)  All uses changed.
498         * targets.c:  Rename `enum target_flavour_enum' to `enum
499         target_flavour', and remove the `_enum' from all of the enum
500         values themselves.  All uses changed.
501
502         * configure.in, config/h-i386mach:  i386 mach host.
503         * config/t-i386-aout:  Use host-aout.c.
504
505         * trad-core.c:  Give it its own xvec's to make it independent
506         of other file formats.
507         * ecoff.c, host-aout.c:  Remove refs to trad-core.
508         * config/t-dec3100, t-hp300bsd, t-tahoe, t-vax:  Define TRAD_CORE.
509         * targets.c:  #ifdef TRAD_CORE, include it in the vector.
510
511 Fri Oct  4 17:38:03 1991  Steve Chamberlain  (steve at cygnus.com)
512
513         * reloc.c: Extended NEWHOWTO macro
514         * ieee.c: Changed the way 8bit pcrel is done
515         * cpu-h8300.c: got the registers in the right order
516
517 Thu Oct  3 19:39:55 1991  John Gilmore  (gnu at cygnus.com)
518
519         * bfd-in.h:  enum boolean => enum bfd_boolean for SVR4.  Gumby's
520         prediction is vindicated!
521
522         * bfd-in.h, libbfd-in.h, doc/Makefile, doc/tolibbfd, doc/intobfd:
523         Remove refs to howto.c, since Steve forgot.
524
525 Thu Oct  3 07:49:21 1991  Steve Chamberlain  (steve at cygnus.com)
526
527         * elf.c: took the abort out of set_arch_mach so that objdump -i will
528         still work. Now allows any architecture/machine to be set.
529
530 Wed Oct  2 13:50:35 1991  Steve Chamberlain  (steve at cygnus.com)
531
532         * howto.c deleted and moved code to reloc.c
533
534         * libbfd.h, libbfd-in.h removed $id stuff for real
535
536         * cpu-h8300.c Made it match various different spellings of h8300.
537
538         * archures.c: Took out the first char filter which made it only
539         look for a cpu/arch match when the first chars of supplied and
540         tested names were the same.
541         
542         * targets.c removed oasys stuff, pending someone to fix the bugs
543         in it.
544
545
546 Tue Oct  1 12:29:44 1991  John Gilmore  (gnu at cygnus.com)
547
548         * Makefile.in, configure.in, targets.c, elf.c:  Add preliminary
549         ELF support good enough for GDB.
550         * configure.in, config/h-amix, config/t-m68k-elf:  Handle
551         m68k-cbm-svr4 host and target.
552         * config/t-m68k-coff, t-m88k-coff, t-m88k-aout:  Make files nonempty
553         so `diff' and `patch' can cope.
554
555 Tue Oct  1 11:24:31 1991  Steve Chamberlain  (steve at cygnus.com)
556
557         * archures.c: removed texinfo error
558
559         * init.c: added texinfo hooks, and removed initialization error
560         message.
561
562         * libcoff-in.h, libbfd-in.h removed $id field so cvs can merge
563         without complaints.
564
565 Tue Oct  1 05:02:53 1991  John Gilmore  (gnu at cygnus.com)
566
567         * cpu-i960.c:  Avoid numerical count of initializers.
568
569         Vax Ultrix changes from David Taylor <taylor@think.com>:
570         * host-aout.c:  Make little-endian vector really little-endian.
571         * configure.in:  Separate vax and tahoe cases, handle ultrix.
572         * config/t-vax:  Add trad-core.o.
573         * config/h-vaxult:  New host system.
574
575 Mon Sep 30 15:13:46 1991  Steve Chamberlain  (steve at cygnus.com)
576
577         * bfd-in.h VERSION, change version number to 0.18, this makes a
578         gap, but now is the same as the linker version number.
579
580         * cpu-a29k.c, cpu-i386.c, cpu-m68k.c, cpu-mips.c, cpu-vax.c,
581         cpu-h8300.c, cpu-i960.c, cpu-m88k.c, cpu-sparc.c: added. These
582         files will eventually contain processor specific bits for bfd,
583         like strange relocation information and dis/assembly.  So far only
584         the H8 has been even partially done.  This work also ties in with
585         the change in handling architectures.
586
587         * amdcoff.c: (a29k_reloc) fix error message.
588
589         * aout-f1.h: (choose_reloc_size) now calls bfd_get_arch to
590         discover the architecture of the bfd. (sunos4_callback) calls the
591         function bfd_set_arch_mach rather than stuffing stuff directly
592         into the bfd. (sunos4_write_object_contents), changed names of
593         accessor functions.
594
595         * aoutx.h: (set_arch_mach) now calls bfd_default_set_arch_mach to
596         setup the environment.
597
598         * archive.c: (bfd_slurp_coff_armap) coff archives always have the
599         headers in big endian format, regardless of the endianess of the
600         host or target.
601
602         * archures.c: totally changed. Now an architecture is represented
603         with a pointer to an info structure rather than an enumerated type
604         and a long. The old info is available as two elements in the
605         structure.  Future enhancements to architecure support will
606         involve pointers to methods being placed into the info structure.
607
608         * bfd.c: changed the definition of the bfd structure for the new
609         architecture stuff.
610
611         * bout.c: (b_out_set_arch_mach) changed to use the new
612         architecture mechanism.
613
614         * coffcode.h: (coff_set_arch_mach, coff_set_flags) changed to use
615         the new architecture mechanism.
616
617         * configure.in: added h8 stuff.
618
619         * ieee.c: too many changes to note.  Now ieee files written with
620         bfd gas and ld can be read by gld and ieee only linkers and
621         simulators.
622
623         * libbfd.c, libbfd.h: changed prototype of bfd_write.
624         
625         * newsos3.c: (newos3_callback) now calls bfd_set_arch_mach rather
626         than fixing the structure directly.
627
628         * oasys.c: (oasys_object_p) now calls bfd_default_set_arch_mach rather
629         than fixing the structure directly.
630
631         * opncls.c: (new_bfd) makes sure that bfd_init has been called
632         before opening a bfd.
633
634         * srec.c: (srec_set_arch_mach) now calls bfd_default_set_arch_mach
635         rather than fixing the structure directly.
636
637         * targets.c: (target_vector) now by defining SELECT_VECS (perhaps
638         in the t/hmake file) a user can select which backends they want
639         linked with bfd without changing the source.
640
641         * init.c: new, looks after initializing modules.
642
643         * howto.c: for future use, will allow an application to work out
644         what cookie to use as a handle on a relcoatio howto.
645         
646 Mon Sep 30 13:31:15 1991  John Gilmore  (gnu at cygnus.com)
647
648         * srec.c:  Better error checking, partly from Peter Schauer.
649         (srec_object_p):  Avoid assuming any file that starts with 'S' is
650         an S-record file!  (Check for 3 uppercase-hex digits after it.)
651         (ISHEX):  Define new macro for checking supposedly hex characters.
652         (pass_over):  Treat as EOF any S-record line that:
653             *  doesn't have hex in either size character
654             *  produces a size larger than 0x7F
655             *  has an unrecognized type number
656
657 Thu Sep 26 15:27:29 1991  John Gilmore  (gnu at cygnus.com)
658
659         * aoutf1.h, aoutx.h, bout.c, coffcode.h, host-aout.c, oasys.c,
660         opncls.c:  Lint (saber actually).
661
662 Thu Sep 26 11:24:24 1991  Per Bothner  (bothner at cygnus.com)
663
664         * libaout.h (WRITE_HEADERS): Set header's a_text field always.
665         * newsos3.c: Fixed two types: newos3 -> newsos3.
666         * reloc.c (bfd_perform_relocation): Fix pc-relative relocation
667         to use correct segment.
668
669 Mon Sep 23 18:24:34 1991  Per Bothner  (bothner at cygnus.com)
670
671         * aoutx.h (print_symbol):  Handle missing symbol->name.
672
673 Fri Sep 20 12:26:01 1991  Stu Grossman  (grossman at cygnus.com)
674
675         * aoutf1.h (swapcore_sparc):  Change name of USRSTACK, fix comment
676         at top of routine.
677
678 Tue Sep 17 17:23:49 1991  Stu Grossman  (grossman at cygnus.com)
679
680         * oasys.c, configure.in, config/h-irix3, config/t-irix3:
681         add sgi/irix support.
682
683 Thu Sep 12 14:29:09 1991  John Gilmore  (gnu at cygint.cygnus.com)
684
685         Changes for the AMD 29000 Ultracomputer port from David Wood.
686         (wood@nyu.edu).
687
688         * opncls.c (bfd_fdopenr):  Handle NO_FCNTL.
689
690         * Makefile.in:  Make subdirs work by using $(INCDIR) in the
691         crude dependencies.
692
693         * coffcode.h (coff_real_object_p):  Pass information about the
694         current file's coff symbol format to BFD via the coff_data struct.
695         (coff_find_nearest_line):  obj_icof => coff_data.
696         (coff_swap_sym_{in,out}):  Check that SYMNMLEN == E_SYMNMLEN.
697         (coff_swap_aux_{in,out}):  Check that FILNMLEN == E_FILNMLEN
698         and DIMNUM == E_DIMNUM.
699         * configure.in:  Handle a29k-*-* hosts, and targets 
700         a29k-*-coff, a29k-*-aout, and a29k-*-sym1.
701         * libcoff-in.h:  Add local_n_btmask, local_n_btshft,
702         local_n_tmask, local_n_tshift, local_symesz, local_auxesz,
703         local_linesz to `coff_data' (tdata) struct.     
704         (coff_data, coff_data_type, coff_tdata):  Rename struct icofdata.
705         * config/h-ultra3:  Handle a29k-*-* hosts as Ultracomputers.
706
707 Thu Sep 12 14:07:22 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
708
709         * Makefile.in: $(MAKE) for make, $(docdir) for doc
710         * doc/Makefile: redundant dependencies for Sun-make VPATH bug
711
712 Tue Sep 10 20:34:12 1991  John Gilmore  (gnu at cygint.cygnus.com)
713
714         * aoutf1.h (sunos4_core_file_p):  Release the right storage in
715         error case.
716         (sunos4_core_file_matches_executable_p):  Fix header comparison.
717         * aoutx.h:  Avoid shifts of 32 bits, undefined in C.  Lint.
718         * bout.c, icoff.c, ieee.c, libbfd.c, oasys.c:  gcc -O -W lint.
719
720 Wed Sep  4 00:44:52 1991  John Gilmore  (gnu at cygint.cygnus.com)
721
722         Allow GDB to patch object files.
723
724         * aoutf1.h (sunos_core_file_p):  Set SEC_HAS_CONTENTS on all sections.
725         * trad-core.h (trad_unix_core_file_p):  Ditto.
726         * aoutx.h (aout_set_section_contents):  On first output, check
727         abfd->direction and complain if erroneous.
728
729         * Makefile.in:  Add crude dependencies.
730
731 Tue Sep  3 13:46:19 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
732
733         * config/* aoutx.h configure* shortened all the h/tmake-xxxx
734         to h/t-xxxx files so that everything will work on System V.
735
736 Fri Aug 23 13:51:06 1991  John Gilmore  (gnu at cygint.cygnus.com)
737
738         * aoutx.h:  Add information on host-aout.c and how to configure
739         to use it, to the manual.
740         * configure.in:  Tix typo.
741         * ecoff.c:  If compiling for DEC3100, use trad_unix core files,
742         else dummy out the core file support.
743         * trad-core.c (trad_unix_core_file_p):  If HOST_DATA_START_ADDR is
744         specified, use it to locate the data section.
745         * coffcode.h (coff_write_symbols):  Declare buffer as bfd_bytes
746         rather than as chars (lint).
747
748 Thu Aug 22 22:20:19 1991  Stu Grossman  (grossman at cygint.cygnus.com)
749
750         * aoutx.h, coffcode.h:  saberized.
751
752 Thu Aug 22 11:27:06 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
753
754         * bfd.texinfo: some cleanup, reincorporated more intro matter from
755         bfd.doc 
756         bfd.c, targets.c: minor rewording of doc segments
757
758
759 Wed Aug 21 19:13:22 1991  John Gilmore  (gnu at cygint.cygnus.com)
760
761         * trad-core.c (trad_unix_core_file_p):  Use HOST_TEXT_START_ADDR,
762         etc, rather than TEXT_START_ADDR.
763         * host-aout.c:  Remove #if 0 around whole thing.
764         Update to modern (32/64-bit) a.out naming conventions.
765         Include a large chunk of ../include/a.out.gnu.h to get macros that
766         are not defined by the system include files.
767         (host_aout_{32,64}_write_object_contents):  Use the WRITE_HEADERS
768         macro used by the other a.out implementations.
769         * Makefile.in:  Give dependencies to OPTIONAL_BACKENDS.
770
771 Wed Aug 21 14:33:06 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
772
773         * Makefile.in: use targets "bfd.dvi" and "bfd.ps" instead of
774         texdoc and psdoc; make these depend on generated .texi's
775         
776         * scanit, (new) unPROTO: turn PROTO macros into ANSI declarations in
777         doc
778         
779         * bfd.c, reloc.c, syms.c: minor spelling/wording fixes in doc
780         portions         
781
782         * Makefile.in, awkscan-ip, awkscan-p, intobfd,
783         libbfd.h, libcoff.h, tolibcoff; new bfd-in.h, libbfd-in.h,
784         libcoff-in.h: (a) use separate files for invariant parts of bfd.h,
785         libbfd.h, and libcoff.h; (b) in generated parts of same, use less
786         obtrusive marks indicating .c origins.
787
788         * bfd.texinfo: generalize most references to linker
789
790 Tue Aug 20 15:18:02 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
791
792         * Makefile.in: include core.p in PROTOS (building better bfd.h)
793         * archures.c: remove empty foo() definition (crept in at vn1.9)
794
795 Mon Aug 19 13:48:22 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
796
797         * bfd.texinfo: use @setchapternewpage on instead of lots of
798         @page's; minor rephrasing in Introduction.
799
800         * aoutx.h, archive.c, archures.c, bfd.c, bfd.texinfo, cache.c,
801         coffcode.h, core.c, format.c, ieee.c, libbfd.c, libbfd.h, libcoff.h,
802         oasys.c, opncls.c, reloc.c, section.c, syms.c, targets.c (documentation
803         segments): used BFD (caps) more consistently as a name in
804         discourse, fixed a few other minor typos and uses of fonts
805         
806
807 Thu Aug  8 16:47:43 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
808
809         * coffcode.h: fixed bug where string table size wasn't being swapped.
810
811 Thu Aug  1 16:35:28 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
812
813         * section.c: added SEC_CONSTRUCTOR_TEXT|DATA|BSS flags
814
815         * syms.c: added BSF_CONSTRUCTOR, BSF_WARNING and BSF_INDIRECT
816         flags. (bfd_print_symbol_vandf) now knows what to do with the
817         above flags.
818
819         * aoutx.h: made translate_from_native_sym_flags and
820         translate_to_native_sym_flags produce the above flags.
821                 
822
823 Wed Jul 31 09:53:52 1991  John Gilmore  (gnu at cygint.cygnus.com)
824
825         * all files:  update copyright notices for GPL version 2.
826         Install header comments and attribute most modules to their
827         authors.  BFD's name is now officially "Binary File Descriptor",
828         so remove any conflicting pejoratives.
829         archures.h:  Consists solely of comments; remove it.
830
831 Fri Jul 26 18:11:34 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
832
833         * Makefile.in, bfd.c: Made it compile again.
834
835 Fri Jul 19 08:17:09 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
836
837         * newsos3.c, targets.c, coffcode.h: new patches from David Wood
838
839
840 Mon Jul 15 16:27:42 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
841
842         * aoutf1.h archive.c bfd.c coffcode.h core.c ecoff.c ieee.c
843         bfd.texinfo oasys.c opncls.c reloc.c srec.c: More documentation on
844         lint fixes.
845
846         * amdcoff.c bfd.texinfo Makefile.in : Folded in changes for amd
847         29k coff by David Wood (wood@lab.ultra.nyu.edu).
848
849 Thu Jul  4 09:53:16 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
850
851         * Everything: created some new files, core.c format.c, reloc.c,
852         section.c and syms.c to split the functionality a bit better.
853         Cleaned up the rest of the files a bit, and added some
854         documentation.
855
856
857 Mon Jul  1 13:29:47 1991  David Wood (wood at david.ultra.nya.edu)
858
859         * opncls.c, ../include/sys/h-sun3.h ../include/sys/h-sun4.h: fcntl
860         really takes 3 arguments, patched code and ammended prototypes.
861
862 Fri Jun 14 13:19:40 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
863
864         * ../include/bfd.h (struct bfd_target): Added new field
865         "align_power_min" which contains the minimum alignment for a
866         section. This is used in coff_new_section_hook. The field
867         insertion necessitates an update of all backends..
868
869         * aoutf1.h jump table field inserted
870         
871         * archive.c(snarf_ar_hdr)(bfd_slurp_coff_armap) can now parse dgux style extended
872         filenames too.
873
874         * bout.c(b_out_squirt_out_relocs) fix to assertion tests. Jump
875         table field inserted.
876         
877         * coffcode.h(just about everything) Now patches up symbol tables
878         using a different mechanism. The Intel major bug has been fixed,
879         and the linker can self host on the Aviion and be debugged with
880         gdb.
881
882         * ecoff.c: new include and jump table patch, i386coff.c: new
883         include and jump table patch,  icoff.c: new include and jump table
884         patch, ieee.c: can now read archives containing ieee modules.,
885         libcoff.h: added (combined_entry_type), libieee.h: uped max
886         sections to 20, m68kcoff.c: new include and jump table patch,
887         m88kbcs.c: new include and jump table patch, oasys.c: various bugs
888         fixed. opncls.c: added bfd_alloc_grow and bfd_alloc_finish.
889         srec.c: jump table patch. trad-code.c fixed #IF typeo
890
891 Fri Jun  7 12:35:46 1991  Sean Fagan  (sef at cygint.cygnus.com)
892  
893         * coffcode.h (coff_swap_aux_in): added else case to deal with
894         filenames less than 9 characters.
895  
896
897 Thu Jun  6 18:27:38 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
898
899         * ../include/oasys.h oasys.c (oasys_archive_p): fixed so it works
900         
901         * srec.c: now allows any number of sections to be created in a
902         file. Outputs addresses of the right length.
903
904 Thu May 30 15:30:10 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
905
906         * bfd.c (bfd_check_format): Fixed problem where when a defaulted
907         target didn't match, the format got set to the attempted match,
908         breaking a future test.
909
910         *../include/i386coff.h : fixed typo in type field with size
911
912         * i386coff.c icoff.c m88k-bcs.c ecoff.c ../include/bfd.h : Added
913         support in the jump table for the swapping routines exported to
914         gdb. Now gdb works with the 386.
915
916 Tue May 28 17:21:43 1991  John Gilmore  (gnu at cygint.cygnus.com)
917
918         * Merge in changes from gdb-3.95 release.
919         Makefile.in:  Allow hmake and tmake files to add OFILES.
920         aoutf1.h:  
921         bfd.c:  support specific targets as well as searching.  When
922         searching, take default target in preference to others.
923         bfd.doc:  typos
924         ieee.c, oasys.c:  Avoid using the "tdata" macros left of assignment.
925         liba.out.h:  Don't hard-code file offsets; use N_ macros for them.
926         libbfd.h:  Support specific targets as well as searching.
927         opncls.c:  Support specific targets as well as searching.
928         targets.c:  Search is short-circuited if default target matches.
929         liboasys.c, libieee.c:  Undo bothner changes that make macros
930         work to the left of assignment, but which depend on the
931         representations of different pointer types being the same.
932
933 Fri May 24 18:56:52 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
934
935         * i386coff.c: created.
936         * coffcode.h: added support for 386. 
937         * Makefile.in: added support for 386. 
938         * ../include/i386coff.h: created
939
940 Wed May 22 07:26:38 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
941
942         * coffcode.h: removed all put_x_<sizes>
943         * libbfd.c: Changed #ifdef __GNUC__ to #ifdef HOST_64_BIT, Added
944         DEFUNS 
945
946
947 Tue May 21 08:58:58 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
948         (bothner)
949         * opncls.c: Changed obstack_chunk_alloc use xmalloc
950
951 Mon May 20 17:12:17 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
952
953         * everything: Removed sysdep.h from bfd.h and put back into files
954         from which it was split out. Now 64 bit version is built with a
955         -DHOST_64_BIT="long long" on the compile line.
956
957
958 Fri May 17 19:35:26 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
959
960         Changed all the [get|put][name] routines to use  [get|put]_[size
961         in bytes].  
962
963         Put in support for 64 bit work. Now two versions of bfd may be
964         generated, according to the state of TARGET_64_BIT, one which is
965         32 bit only, and one which is 64/32 bits. 
966         Created new back end 'demo64' to test 64 bit functionality.
967
968         Renamed some files to work on DOS.
969
970         * archive.c: lint * bfd.c: prototypes and lint. * ecoff.c: added
971         64bit transfer  * icoff.c: added 64bit transfer * ieee.c: name
972         chage, 64 bit transfer. * liba.out.h: Split out common code from
973         sunos and newsos into liba.out. Name changes and prototype mods. *
974         libbfd.c: lint and prototypes, extra 64bit swaps. * libbfd.h:
975         prototypes for new functions. * libcoff.h: lint * libieee.h: make
976         work on DOS * liboasys.h: make work on DOS * m88k-bcs.c: Name
977         change and 64bit stuff.* newsos3.c: common code removed, new jump
978         table. * oasys.c: Name change * opncls.c: Portability fixes *
979         srec.c: Name changes * sunos.c: Removed comon code. * targets.c:
980         Added demo * aout32, aout64.c include  aoutx.h * bout.c: used to
981         be called b.out.c * coffcode.h: used to be called coff-code.h, now
982         64bit ized. * demo64.c: 64 bit a.out back end
983
984
985         
986
987
988 Thu May 16 16:02:07 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
989         from bothner
990         * libieee.h: Make ieee_data and ieee_ar_data macros usable
991         on LHS of assignment, even when using old compilers.
992         * liboasys.h: Ditto for oasys_data and oasys_ar_data.
993         * m68kcoff.c: Add enum-to-int casts to accomodate old compilers.
994         * newsos3.c: Fix definitions of SEGMENT_SIZE and TEXT_START_ADDR.
995         * opncls.c: Define S_IXUSR, S_IXGRP, S_IXOTH if undefined.
996         * targets.c: Add declaration of newsos3_vec.
997
998
999 Mon May 13 10:03:29 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
1000
1001         * aout.c: fixxed some of the problems with filepos calculation.
1002         (swap_ext_reloc): fixed problem with creation of relocs.
1003         (aout_set_section_contents): fixed filepos problem
1004
1005         * coff-code.h: (swap_filehdr_in, swap_filehdr_out) add.
1006         (swap_filehdr) delete. Changed all the usage of bfd_h_put_x.
1007         (swap_aouthdr_in, swap_aouthdr_out) add. (swap_aouthdr) delete.
1008         (coff_real_object_p) cleaned up, added MIPS. (coff_object_p)
1009         cleaned up. (coff_write_object_contents) cleaned up. 
1010
1011         * ecoff.c: Totally different. Now supports ecoff fully.
1012
1013         * icoff.c: fixed problems in relocation callout.
1014
1015         * libcoff.h: (struct icofdata) removed hdr structure from tdata.
1016
1017         * m68kcoff.c: updated target vector.
1018
1019         * sunos.c: (choose_reloc_size) added: (sunos4_callback) calls
1020         choose_reloc_size. (sunos4_write_object_contents) now calls
1021         choose_reloc_size so outputs relocs correctly, also calculates the
1022         size of the sections correctly.
1023
1024
1025
1026 Fri May 10 16:58:53 1991  John Gilmore  (gnu at cygint.cygnus.com)
1027
1028         Merge Per Bothner's changes to modularize BFD a.out a bit.
1029
1030         * libbfd.h, libbfd.c (bfd_generic_get_section_contents):  Add.
1031         * ieee.c:  Cast enums to int before comparing them, for brain-
1032         dead compilers.
1033         * coff-code.h:  Remove coff_get_section_contents, and use the
1034         generic one instead.
1035
1036         * aout.c:  Derive new module from sunos.c, containing generic
1037         support code for all kinds of a.out files.
1038
1039         * sunos.c: Remove all code that goes in aout.c.  Split out
1040         machine dependent followup in sunos4_object_p into
1041         sunos4_callback.  Use JUMP_TABLE(aout) for the transver vector,
1042         and redefine only the names we CHANGE, not all the names.  Drop
1043         the little-endian vector, and rename the vector as sunos4 rather
1044         than generic.
1045
1046         * b.out.c:  Use aout.c routines for most of the work.  Slight
1047         changes for the new regime.  Remove close_and_cleanup and
1048         get_section_contents in favor of generics.  New transfer vector
1049         regime.
1050
1051         * newsos.c:  New support for Sony NEWS, another a.out format.
1052
1053         * ecoff.c:  Remove close_and_cleanup.  New tvec regime.
1054         * icoff.c, m88k-bcs.c:  Add write_contents to tvec.
1055         * ieee.c, oasys.c:  Remove close_and_cleanup, add write_contents
1056         to tvec. 
1057         * opncls.c (bfd_close):  Call format-dependent write_contents
1058         routine, if writing, before calling target-dependent
1059         close_and_cleanup routine (which is now always generic, I think).
1060         * srec.c:  Use bfd_alloc instead of malloc.  Remove
1061         close_and_cleanup and move code from it to
1062         srec_write_object_contents.  Add write_contents to tvec.
1063         * targets.c:  Remove a.out little vector, replace a.out big
1064         vector with SunOS vector.  FIXME:  Need Vax support again now.
1065
1066         * libbfd.h:  Add write_contents format-dependent-vector to the
1067         bfd_target vector.  Supply a generic close_and_cleanup routine.
1068         * liba.out.h:  Handle the new aout.c split.  Add prototypes for
1069         all routines defined in aout.c.  Rename "sunos" things to "aout"
1070         things.  Add a few fields where needed for various formats.
1071         * Makefile.in:  Add aout.c and newsos.c.
1072
1073         * archive.c, ieee.c, oasys.c:  Lint.
1074
1075 Fri May 10 12:34:48 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
1076
1077         * ../include/bfd.h
1078         changed forward declaration struct stat; to reduce warnings. Changed
1079         comment on bfd_h_<x>_x.
1080
1081         * ../include/m68kcoff.h, ../include/intel-coff.h,
1082         ../include/m88k-bcs.h
1083         Now there are two incarnations of relocs, linenos and syments. One for
1084         internal digestion, and one full of char arrays for I/O. The original
1085         names have gone to detect errors.
1086
1087         * Makefile.in, m68kcoff.c, targets.c
1088         Test new structure code with a 68k coff implementaion
1089
1090         * coff-code.h, icoff.c, coffswap.c, libcoff.h 
1091         Fixed all the places where there were problems with the size and
1092         alignments of structures on disk and structures in memory. #ifed out
1093         all the code in coffswap.c, since it should be done using the target
1094         swap routines now.
1095
1096 Thu May  9 11:00:45 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
1097
1098         * ieee.c (do_one, ieee_slurp_section_data): now supports the load
1099         multiple reloc command.
1100
1101         * sunos.c (sunos4_set_section_contents): Made it so that sections
1102         are always padded to their alignment size.
1103
1104 Sat May  4 15:49:43 1991  John Gilmore  (gnu at cygint.cygnus.com)
1105
1106         * archive.c, bfd.c, coff-code.h, opncls.c, sunos.c, trad-core.c:
1107         Clean up types and such (saber C problems).
1108         * ecoff.c:  Clean up types and such.  Remove routines that are
1109         not used.  Fix up reading and swapping of shorts from files.
1110
1111    Notes on bfd-0.5.2-patch1a, from Per Bothner:
1112
1113         * a.out.vax.c: Remove two bogus "static" from prototypes.
1114
1115         * ecoff.c: Got rid of lots of non-working junk (that had
1116         been copied directly from coff-code.h).
1117         Updated to be consistent with updates to icoff.c and coff-code.h.
1118
1119         * libbfd.h: Added definitions for S_IXUSR, S_IXGRP, and S_IXOTH
1120         if they're missing (as they are in (BDS-4.3-based) NewsOS-3).
1121
1122         * sunos.c (n_txtoff): (Re-)Add support for sony. This is a kludge,
1123         but until the target_vector is automatically generated,
1124         it's as good as any. Note that the text offset is the only
1125         difference between NewsOS and SunOs (including magic numbers).
1126         (Most of the sunos_* routines should to renamed bsd_*
1127         and move to a bsd.c file. Then (and when the target_vector
1128         is automatically generated) it might make sense to create
1129         a separate Sony target.)
1130
1131         * sysdep.h: Don't declare fread and fwrite. Causes trouble
1132         on some systems, and doesn't help on others.
1133         Similarly, only define X_OK if not already defined.
1134
1135         * trad-core.c: Don't include sys/stat.h - at least
1136         on NewsOS 3, it has already been included.
1137
1138 Tue Mar  5 01:47:57 1991  John Gilmore  (gnu at cygint.cygnus.com)
1139
1140         * coff-code.h (bfd_coff_swap_sym, bfd_coff_swap_aux,
1141         bfd_coff_swap_lineno):  Export the routines that byte-swap COFF
1142         symbol tables if necessary when reading them in, so gdb can use
1143         them.  Add "bfd_coff_" to the names so they won't conflict with
1144         names in calling programs.  FIXME-soon:  if coff-code.h is
1145         included in two BFD modules, this will cause duplicate
1146         definitions; the routines should be exported to a separate,
1147         common, module (probably along with a mess of other ones).
1148
1149 Sat Mar  2 12:11:26 1991  John Gilmore  (gnu at cygint.cygnus.com)
1150
1151         Improve modtime support.
1152
1153         * bfd.h:  Add boolean mtime_set, and declare bfd_get_mtime.
1154         Remove #define for bfd_get_mtime.  Remove gratuitous comment.
1155         * bfd.c (bfd_get_mtime):  New fn, caches mtime, gets if not cached.
1156         BUG:  archive members still do not get correct mod times.
1157
1158         Improve floating point support for core files.
1159
1160         * sunos.c (struct core):  Change void *fpa_dummy to double fp_stuff.
1161         (sunos4_core_file_p):  Create a second registers section in the
1162         core file, called ".reg2", for the float registers.
1163
1164 Thu Feb 14 15:49:06 1991  Gumby Vinayak Wallace  (gumby at cygint.cygnus.com)
1165
1166         * many changes to improve archive handling; found a logic flaw in
1167           bfd_check_format which only just happened to work by cooncidence.
1168
1169 Thu Feb 14 07:53:16 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
1170
1171         * bfd.c (bfd_perform_relocation): fixed to use output_offsets
1172         correctly.
1173         
1174         * bfd.h: changed type of udata in asymbol to void *, like it
1175         should be. Added bfd_reloc_dangerous enum member.
1176
1177         * coff-code.h: Fixed it so that internally generated symbols get
1178         their values relocated correctly in all cases. Removed calls to
1179         xmalloc.
1180
1181         * icoff.c: Not understanding the destination symbol of a reloc is
1182         not a failure any more, just 'dangerous'. This allows linking of
1183         b.out and coff images.
1184
1185         * sunos.c: Cleaned up the way that ZMAGIC section sizes are
1186         calculated.
1187
1188
1189 Tue Feb 12 13:25:46 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
1190
1191         * sunos.c (translate_to_native_sym_flags): fixed
1192         sym_pointer->n_value so that symbols on the way out get their
1193         section relative values calculated correctly.
1194
1195         * coff-code.h (mangle_symbols): fixed problem where tags were not
1196         being relocated for structs, enums, unions. Also various lints.
1197
1198 Mon Feb 11 19:52:26 1991  Gumby Vinayak Wallace  (gumby at cygint.cygnus.com)
1199
1200         * archive.c (get_elt_at_filepos): system_call_error returned
1201           incorrectly.
1202
1203 Sun Feb 10 23:18:40 1991  Gumby Vinayak Wallace  (gumby at cygint.cygnus.com)
1204
1205         * Resolve the use of no_error and system_call_error.
1206           The bfd library itself now will never set bfd_error to
1207           no_error.
1208
1209           The code still needs to be combed to make sure all the error
1210           codes are correct.  I suspect they are not always set correctly.
1211
1212         * The names of all the messages have _ prepended because the sun
1213           bundled compiler can't distinguish from a macro which takes an
1214           argument and the same identifier in a non-macro context.
1215
1216         * The reason for the above being that entry points which used to
1217           be trampoline functions are now just macros which expand to a
1218           direct call through the bfd's xfer vector.
1219
1220         * (../include/intel-coff.h) F_AR32WR: fix this constant.  Why
1221           must gas have its own version of everything (the gas version
1222           had the correct value)
1223
1224 Tue Feb  5 11:46:53 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
1225
1226         * b.out.c: Added patches supplied by chrisb@mipon2.intel.com to
1227         properly support i960 architecture and output correct reloc stuff.
1228
1229         * bfd.h: added prototype for bfd_printable_arch_mach, added
1230         BFD_FAIL
1231
1232         * coff-code.h: Applied patches from chrisb to support i960
1233         architecture, zero relocs and swap them correcly and conditionally
1234         compiled the timestamp.
1235
1236         * sunos.c: Made the default section alignment 2^3 so that doubles
1237         are done properly. Fixed the same reloc bug that was in b.out.c
1238
1239         * sysdep.h: Now compiles on a Posix box
1240
1241 Wed Jan 30 21:36:26 1991  John Gilmore  (gnu at cygint.cygnus.com)
1242
1243         * icoff.c:  Fix comment on big-endian version.
1244         * coff-code.h:  Make HAS_RELOC really work (it's backwards from
1245         F_RELFLG).  Set F_AR32WR in output files if little endian
1246         architecture.
1247
1248 Tue Jan 29 20:56:10 PST 1991 steve@cygnus.com
1249         
1250         * archures.c fixed =/== typo
1251         
1252         * sunos.c added architecture stuff for output. Fixed
1253         bug where files where vma(data) != size(text) 
1254         were processed wrong.
1255
1256         * coff-code.h added a lint cast
1257
1258         * (../include/a.out.sun4.h) fixed it so zmagic
1259         worked
1260
1261 Mon Jan 28 19:15:29 PST 1991 steve@cygnus.com
1262
1263         * archive.c removed loads of includes, and fixed bug where string
1264         table didn't have a null at the end.
1265
1266         * bfd.c fixed includes, added symbols argument to 
1267         canonicalize_reloc entry point.
1268
1269         * libbfd.c fixed includes and added some lint patches.
1270         
1271         * targets.c added both sorts of intel coff.
1272
1273         * b.out.c fixed included, changed was the canonical
1274         relocs were done.
1275
1276         * icoff.c added support for callj and big and little
1277         enidian tables.
1278
1279         * opncls.c added chmod+xing for files with EXEC_P set.
1280
1281         * sunos.c fixed includes. Changed default section
1282         alignement to words. Fixed relocation stuff to work with
1283         new scheme
1284
1285         * bfd.h various new types added, prototype for new
1286         reloc calls, changed bfd->iostream to a void *
1287         to including files don't need stdio.h.
1288
1289         * libcoff.h added conversion table to tie relocs to
1290         canonical symbols
1291                 
1292         * sysdep.h created
1293
1294         * coff-code.h fixed includes. Added code to support
1295         big and little endian formats. Various lints. Better
1296         processing of symbols. Changed reloc stuff to new
1297         order
1298
1299         * libbfd.h fixed includes
1300
1301
1302 Mon Jan 21 11:53:51 PST 1991 steve@cygnus.com
1303         
1304         * bfd.h changed name of alignment entry in sec_struct to
1305         alignment_power, because of conflicting uses within bfd.
1306         Now it should be obvious that it's a 2**n alignment
1307         specifier. Removed start_pad, end_alignment, block, minsize,
1308         output_file_alignment, subsection_alignment and original_vma fields.
1309         Added align_power() macro. Fixed bfd_section_alignment
1310         acessor macros. Added bfd_symbol_same_target macro.
1311
1312         * b.out.c (b_out_write_object_contents) fixed to use
1313         new alignment member. Fixed (callj_callback) to use section
1314         relative symbols properly.
1315
1316         * sunos.c (sunos4_object_p) fixed to use new alignment_power.
1317         Fixed (translate_from_native_sym_flags) to correctly make       
1318         symbols section relative.
1319
1320         * bfd.c (bfd_errmsg) fixed various enum cast problems. 
1321         (bfd_make_section) took out initialization of obsolete members.
1322         (bfd_print_symbol_vandf) added
1323
1324         * opncls.c (bfd_create) created.
1325
1326         * coff-code.h (coff_new_section_hook) took away refs
1327         to obsolete members. (make_a_section_from_file) added
1328         conversion between alignment types. (coff_symbol_from)
1329         added. (coff_count_linenumbers) only counts linenumbers
1330         if symbol is of coff-type. (coff_mangle_symbols) only
1331         heavily mangles symbols if symbol is coff-type.
1332         (coff_write_symbols) various lints. (coff_write_object_contents)
1333         various lints and modification for alignment conversion.
1334         (coff_slurp_relocs) fixed for use with new asection shape.
1335
1336 Sat Jan 19 16:10:42 PST 1991 steve@cygnus.com
1337
1338         * archive.c lots of lint
1339
1340         * b.out.c added callj relocation support, upgrated reloc howto.
1341         Fixed so that asymbol and reloc records are output 
1342         correctly.
1343
1344         * bfd.c lots of lint, support for new bfd entry point
1345         bfd_print_symbol.
1346
1347         * bfd.h changed definition of asymbol to contain pointer to
1348         owning bfd, removed target dependencies.
1349
1350         * cache.c took out print statements, put in BFD_ASSERT calls.
1351
1352         * coff-code.h various lints, corrected linenumber output
1353         functionality. Added support for new style asymbols and
1354         bfd_print_symbol. Fixed so that asymbol and
1355         reloc records are handled correctly. Added timestamp.
1356
1357         * icoff.c Added support for new howto shape.
1358         
1359         * liba.out.h Added support for new asymbol shape
1360
1361         * libbfd.c various lints
1362
1363         * libbfd.h various lints
1364
1365         * libcoff.h added support for new asymbol shape.
1366
1367         * sunos.c  various lints. Added support for new asymbol shape
1368         and bfd_print_symbol.
1369
1370 Wed Jan 16 21:38:09 PST 1991 steve@cygnus.com
1371
1372         * b.out.c removed prototype of sunos4_ennativate_symtab, lots of
1373         pointer lint. Added support for callj relocation. Fixed bug where
1374         the last 32 bytes of the text section were overwritten by data. Fixed bug
1375         where archives of b.out didn't work due bfd_slurp_extended_name_table
1376         returning false.
1377
1378         * sunos.c added support for n_other field. Braced the howto table so
1379         that it won't be affected by any lengthing of the howto struct typedef.
1380         Various lints
1381
1382         * bfd.h added support for n_other field, added special_function         
1383         reloc type, modified bfd_perform_relocation prototype. Added bfd_h_get_x
1384         macros.
1385
1386         * bfd.c upgraded bfd_perform_relocation, various lints.
1387
1388 Wed Jan 16 01:55:53 1991  John Gilmore  (gnu at rtl)
1389
1390         * ChangeLog:  Started ChangeLog for BFD.
1391         * ToDo:  Create file for suggestions.
1392
1393         * Makefile:  Support easy loading into Saber C.
1394         Add dependencies for icoff.o and bcs88kcoff.o.
1395         Rename coff.c to coff-code.h.  Change callers.
1396
1397         * bfd.c (bfd_check_format):  Allow the check_format routines
1398         to return the desired target vector, rather than just a Boolean.
1399         bfd.h (bfd_check_format):  Change function pointer return type.
1400         archive.c (bfd_generic_archive_p):  change callee.
1401         b.out.c (b_out_little_object_p, b_out_big_object_p,
1402         b_out_real_object_p):  change callee.
1403         libbfd.c (_bfd_dummy_target):  Dummy routine replacing bfd_false
1404         in check_format transfer vectors that need a filler.
1405         libbfd.h (bfd_generic_archive_p, _bfd_dummy_target):  Fix decls.
1406         bcs88kcoff.c:  change callee.
1407         coff-code.h (coff_real_object_p, coff_big_object_p):  change callee.
1408         icoff.c:  change callee.
1409         sunos.c (sunos4_object_p, sunos4_core_file_p):  change callee.
1410
1411         * libbfd.c (zalloc):  It should actually zero the storage!
1412         This was commented out for some reason.
1413
1414         * libbfd.h:  Add malloc, xmalloc, memcpy, and fatal decls.
1415         This is so callers can avoid <stdlib.h> which doesn't exist
1416         on older systems.
1417
1418         * bfd.c (map_over_sections):  Add debugging code, since I
1419         noticed the section count for sunos core files was bad, but only
1420         GDB had detected the problem.
1421         (bfd_set_section_lineno_size, bfd_set_section_linenos,
1422         bfd_get_section_linenos):  Remove obsolete functions.
1423         (bfd_apply_relocations):  Use longs, not ints, for the math.
1424
1425         * bfd.h:  Declare enum boolean and struct bfd_target as well
1426         as typedefs for them.  Remove obsolete
1427         bfd_get_section_lineno_size.
1428
1429         * cache.c:  Make the "fdopen" support work.  Keep better track
1430         of how many files are open.  Centralize the opening of files
1431         and be sure bfd_open[rw] actually try to open the file.  Evade
1432         linked list initialization problems.
1433
1434         * b.out.c, coff-code.h, opncls.c, sunos.c:  lint.
1435
1436         * coff-code.h (coff_slurp_symbol_table):  Null-terminate symtab names.
1437
1438         * cplus-dem.c:  Delete file, since it is not part of BFD.
1439
1440         * opncls.c (bfd_openr):  Eliminate misplaced #if 0 code.
1441         (bfd_openr, bfd_openw):  Actually open the file, give error now.
1442         
1443         * sunos.c (sunos4_core_file_p):  Set section count.
1444         (sunos4_set_section_linenos, stab_names, fprint_name):  Eliminiate
1445         obsolete definitions.
1446         (_write_symbol_table):  Initialize <idx> counter.
1447         (foop):  Eliminate debugging code.
1448
1449
1450
1451