From: Ken Raeburn Date: Mon, 1 Mar 1993 20:01:35 +0000 (+0000) Subject: updated and expanded X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=07c788cec9fdadd6bbc47102271cc0f4b7602cbf;p=binutils-gdb.git updated and expanded --- diff --git a/gas/NOTES b/gas/NOTES index e49f74788e3..7b6f6b03b44 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.