aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-05-11 00:48:27 +0000
committerJohn Gilmore <gnu@cygnus>1991-05-11 00:48:27 +0000
commite10d93eda272bb1efb9131bd9f534f4adc716e78 (patch)
tree98da7c4e1166d7fb833001a9b77297fcbe62207a /bfd
parenta42ceb3229204bb92fa4d31a382db6cdb5265d9d (diff)
downloadgdb-e10d93eda272bb1efb9131bd9f534f4adc716e78.zip
gdb-e10d93eda272bb1efb9131bd9f534f4adc716e78.tar.gz
gdb-e10d93eda272bb1efb9131bd9f534f4adc716e78.tar.bz2
Sony NEWS port and modularization of a.out code. Cleanup of
close_and_cleanup, write_contents, and jump vectors.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog77
-rw-r--r--bfd/Makefile.in8
2 files changed, 80 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c8fb06d..a21c434 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,52 @@
+Fri May 10 16:58:53 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ Merge Per Bothner's changes to modularize BFD a.out a bit.
+
+ * libbfd.h, libbfd.c (bfd_generic_get_section_contents): Add.
+ * ieee.c: Cast enums to int before comparing them, for brain-
+ dead compilers.
+ * coff-code.h: Remove coff_get_section_contents, and use the
+ generic one instead.
+
+ * aout.c: Derive new module from sunos.c, containing generic
+ support code for all kinds of a.out files.
+
+ * sunos.c: Remove all code that goes in aout.c. Split out
+ machine dependent followup in sunos4_object_p into
+ sunos4_callback. Use JUMP_TABLE(aout) for the transver vector,
+ and redefine only the names we CHANGE, not all the names. Drop
+ the little-endian vector, and rename the vector as sunos4 rather
+ than generic.
+
+ * b.out.c: Use aout.c routines for most of the work. Slight
+ changes for the new regime. Remove close_and_cleanup and
+ get_section_contents in favor of generics. New transfer vector
+ regime.
+
+ * newsos.c: New support for Sony NEWS, another a.out format.
+
+ * ecoff.c: Remove close_and_cleanup. New tvec regime.
+ * icoff.c, m88k-bcs.c: Add write_contents to tvec.
+ * ieee.c, oasys.c: Remove close_and_cleanup, add write_contents
+ to tvec.
+ * opncls.c (bfd_close): Call format-dependent write_contents
+ routine, if writing, before calling target-dependent
+ close_and_cleanup routine (which is now always generic, I think).
+ * srec.c: Use bfd_alloc instead of malloc. Remove
+ close_and_cleanup and move code from it to
+ srec_write_object_contents. Add write_contents to tvec.
+ * targets.c: Remove a.out little vector, replace a.out big
+ vector with SunOS vector. FIXME: Need Vax support again now.
+
+ * libbfd.h: Add write_contents format-dependent-vector to the
+ bfd_target vector. Supply a generic close_and_cleanup routine.
+ * liba.out.h: Handle the new aout.c split. Add prototypes for
+ all routines defined in aout.c. Rename "sunos" things to "aout"
+ things. Add a few fields where needed for various formats.
+ * Makefile.in: Add aout.c and newsos.c.
+
+ * archive.c, ieee.c, oasys.c: Lint.
+
Fri May 10 12:34:48 1991 Steve Chamberlain (steve at cygint.cygnus.com)
* ../include/bfd.h
@@ -19,7 +68,6 @@ Fri May 10 12:34:48 1991 Steve Chamberlain (steve at cygint.cygnus.com)
all the code in coffswap.c, since it should be done using the target
swap routines now.
-
Thu May 9 11:00:45 1991 Steve Chamberlain (steve at cygint.cygnus.com)
* ieee.c (do_one, ieee_slurp_section_data): now supports the load
@@ -35,6 +83,33 @@ Sat May 4 15:49:43 1991 John Gilmore (gnu at cygint.cygnus.com)
* ecoff.c: Clean up types and such. Remove routines that are
not used. Fix up reading and swapping of shorts from files.
+ Notes on bfd-0.5.2-patch1a, from Per Bothner:
+
+ * a.out.vax.c: Remove two bogus "static" from prototypes.
+
+ * ecoff.c: Got rid of lots of non-working junk (that had
+ been copied directly from coff-code.h).
+ Updated to be consistent with updates to icoff.c and coff-code.h.
+
+ * libbfd.h: Added definitions for S_IXUSR, S_IXGRP, and S_IXOTH
+ if they're missing (as they are in (BDS-4.3-based) NewsOS-3).
+
+ * sunos.c (n_txtoff): (Re-)Add support for sony. This is a kludge,
+ but until the target_vector is automatically generated,
+ it's as good as any. Note that the text offset is the only
+ difference between NewsOS and SunOs (including magic numbers).
+ (Most of the sunos_* routines should to renamed bsd_*
+ and move to a bsd.c file. Then (and when the target_vector
+ is automatically generated) it might make sense to create
+ a separate Sony target.)
+
+ * sysdep.h: Don't declare fread and fwrite. Causes trouble
+ on some systems, and doesn't help on others.
+ Similarly, only define X_OK if not already defined.
+
+ * trad-core.c: Don't include sys/stat.h - at least
+ on NewsOS 3, it has already been included.
+
Tue Mar 5 01:47:57 1991 John Gilmore (gnu at cygint.cygnus.com)
* coff-code.h (bfd_coff_swap_sym, bfd_coff_swap_aux,
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index a4374a8..e73faf3 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -36,16 +36,16 @@ CFLAGS = -g $(HDEFINES) $(TDEFINES) $(CSEARCH) $(CSWITCHES) # -DINTEL960VERSION
BFD_LIBS = libbfd.o opncls.o bfd.o archive.o targets.o cache.o \
archures.o
-BFD_BACKENDS = oasys.o ieee.o srec.o sunos.o icoff.o b.out.o \
- m68kcoff.o m88k-bcs.o coffswap.o ecoff.o # trad-core.o
+BFD_BACKENDS = oasys.o ieee.o srec.o aout.o sunos.o icoff.o b.out.o \
+ m68kcoff.o m88k-bcs.o coffswap.o ecoff.o newsos3.o # trad-core.o
BFD_H=$(INCDIR)/bfd.h
SYSDEP_H=$(INCDIR)/sysdep.h
# C source files that correspond to .o's.
CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c archures.c \
- sunos.c icoff.c b.out.c srec.c oasys.c ieee.c m68kcoff.c m88k-bcs.c \
- coffswap.c ecoff.c trad-core.c
+ aout.c sunos.c icoff.c b.out.c srec.c oasys.c ieee.c m68kcoff.c \
+ m88k-bcs.c coffswap.c ecoff.c trad-core.c newsos3.c
STAGESTUFF = $(TARGETLIB) $(OFILES)