aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1993-03-01 20:01:35 +0000
committerKen Raeburn <raeburn@cygnus>1993-03-01 20:01:35 +0000
commit07c788cec9fdadd6bbc47102271cc0f4b7602cbf (patch)
tree6e199108a1a5feea85c3d6a56e977a84e0305745 /gas
parentf8ec0a459f3de647389935e4fb7a93462ec9a8af (diff)
downloadgdb-07c788cec9fdadd6bbc47102271cc0f4b7602cbf.zip
gdb-07c788cec9fdadd6bbc47102271cc0f4b7602cbf.tar.gz
gdb-07c788cec9fdadd6bbc47102271cc0f4b7602cbf.tar.bz2
updated and expanded
Diffstat (limited to 'gas')
-rw-r--r--gas/NOTES89
1 files changed, 73 insertions, 16 deletions
diff --git a/gas/NOTES b/gas/NOTES
index e49f747..7b6f6b0 100644
--- 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.