updated and expanded
authorKen Raeburn <raeburn@cygnus>
Mon, 1 Mar 1993 20:01:35 +0000 (20:01 +0000)
committerKen Raeburn <raeburn@cygnus>
Mon, 1 Mar 1993 20:01:35 +0000 (20:01 +0000)
gas/NOTES

index e49f747..7b6f6b0 100644 (file)
--- a/gas/NOTES
+++ b/gas/NOTES
@@ -1,23 +1,80 @@
-to do:
+-*- text -*-
 
-remove DONTDEF
+PORTING:
 
-fix relocation types for i860, perhaps by adding a ref pointer to
-       fixS?
+Sorry, no description of the interfaces is written up yet.  Look at
+existing back ends and work from there.
+
+New hosts: If your host system has a strange header file setup, create
+a config/ho-foo.h file for it and include the appropriate header files
+or definitions there.  If your host has a broken compiler, or some
+broken macros in header files, create a host-specific file and repair
+the damage there.  (See, for example, ho-rs6000.h.  The "assert" macro
+on that system doesn't work right, and a flag is set to rewrite an
+expression in tc-m68k.c that the native compiler mis-compiles.)
+
+New target formats: Look at the BFD_ASSEMBLER code.  The a.out code
+might be a fair example.  There are no "good" examples yet,
+unfortunately.
+
+New target processors: Check first to see if the BFD_ASSEMBLER
+interface is supported by the file format code you need to use.
+
+New environments: ???
+
+DOCUMENTATION:
+
+The internals of gas need documenting.
+
+Roland's going to work on removing the m4 processing from the user
+documentation.  With the latest texinfo code, it's not needed.
+
+Anyone want to offer to maintain a man page?
+
+BFD CONVERSION:
+
+The "#ifdef BFD_ASSEMBLER" code is on its way in; the "#ifndef
+BFD_ASSEMBLER" code is on its way out.  The new code uses BFD data
+structures, and calls BFD for anything that needs to be written to the
+output file.  The old code did all the writing itself, or in a couple
+of cases, used BFD as a slightly higher level than stdio (i.e.,
+bfd_seek, bfd_write -- these are not the preferred interface).
+
+Because of this, some of this code is messy.  Lots of ifdef's, and the
+non-BFD_ASSEMBLER version often has multiple conditional tests inside
+it for various processors or formats.  As the various targets get
+converted over, these will gradually go away.
+
+As of the moment I'm editing this file, only the "sun4" target can
+really use the BFD code.  Other back ends still need merging or
+touching up.
+
+TO DO:
+
+Remove DONTDEF code, commented-out code.
+
+Eliminate, as much as possible, anything not in config that is
+conditionalized on a CPU, format, or environment.
+
+Finish conversion to using BFD for all object file writing.  (This is
+the BFD_ASSEMBLER code, not BFD or BFD_HEADERS.)  VMS might be the
+tough one here, since there's no BFD support for it at all yet.
+Eliminate the old code.
+
+Clean up comments; lots of 'em are one previous maintainer griping
+about another previous maintainer, unrelated to the code.  (And with
+no names, they're not so fun to read. :-)
+
+Get Steve to document H8/500 stuff.
+
+(From old "NOTES" file to-do list, not really reviewed:)
+
+fix relocation types for i860, perhaps by adding a ref pointer to fixS?
 
-fucked up on a.out.gnu.h, etc.
 remove the ifdef's from fx_callj tests?
-what are callj tests?
-space tighten sparc alignment.
-convert md_ri_to_chars to emit fixP's.
-fix number_to_chars, & family to have no side effects.
-md_ => tp_
-use CROSS_ASSEMBLE
-multiple segments.
-share b.out with a.out.
 
-regress:
+space tighten sparc alignment?
 
-+-inf
+md_ => tc_
 
-stack:
+share b.out with a.out.