Additional parsing tests for PA gas.
[deliverable/binutils-gdb.git] / gas / NOTES
CommitLineData
07c788ce 1-*- text -*-
0e39a8bb 2
07c788ce 3PORTING:
542e1629 4
5bed5321
KR
5Sorry, no description of the interfaces is written up yet. Look at existing
6back ends and work from there.
07c788ce 7
5bed5321
KR
8New hosts: If your host system has a strange header file setup, create a
9config/ho-foo.h file for it and include the appropriate header files or
10definitions there. If your host has a broken compiler, or some broken macros
11in header files, create a host-specific file and repair the damage there.
12(See, for example, ho-rs6000.h. The "assert" macro on that system doesn't work
13right, and a flag is set to rewrite an expression in tc-m68k.c that the native
14compiler mis-compiles.)
07c788ce 15
5bed5321
KR
16New target formats: Look at the BFD_ASSEMBLER code. The a.out code might be a
17fair example. There are no "good" examples yet, unfortunately, nor any good
18documentation of the changes.
07c788ce 19
5bed5321
KR
20New target processors: Check first to see if the BFD_ASSEMBLER interface is
21supported by the file format code you need to use.
07c788ce
KR
22
23New environments: ???
24
25DOCUMENTATION:
26
607c8625
KR
27The internals of gas need documenting. (Actually, there is some documentation
28in doc/as.texinfo, but it's *way* out of date.)
07c788ce 29
607c8625
KR
30The documentation should also contain a "Trouble" section similar to gcc's
31manual: real bugs, common problems, incompatibilities, etc.
07c788ce
KR
32
33Anyone want to offer to maintain a man page?
34
35BFD CONVERSION:
36
5bed5321
KR
37The "#ifdef BFD_ASSEMBLER" code is on its way in; the "#ifndef BFD_ASSEMBLER"
38code is on its way out. The new code uses BFD data structures, and calls BFD
39for anything that needs to be written to the output file. The old code did all
40the writing itself, or in a couple of cases, used BFD as a slightly higher
41level than stdio (i.e., bfd_seek, bfd_write -- these are not the preferred
42interface).
07c788ce
KR
43
44Because of this, some of this code is messy. Lots of ifdef's, and the
5bed5321
KR
45non-BFD_ASSEMBLER version often has multiple conditional tests inside it for
46various processors or formats. As the various targets get converted over,
47these will gradually go away.
07c788ce 48
5bed5321
KR
49As of the moment I'm editing this file, only the "sun4" and "decstation-bsd"
50targets can really use the BFD code. Other back ends still need merging or
07c788ce
KR
51touching up.
52
53TO DO:
54
55Remove DONTDEF code, commented-out code.
56
5bed5321
KR
57Eliminate, as much as possible, anything not in config that is conditionalized
58on a CPU, format, or environment.
07c788ce 59
09257909
KR
60Merge COFF support into one version, supporting all the pseudo-ops used in
61either versions now, but using BFD for high-level operations. (See second
62following item.) Currently there are two versions (plus the new BFD code),
63which support different features, and are used on different targets.
64
65Convert remaining a.out/b.out targets to using the BFD_ASSEMBLER code by
66default.
67
5bed5321
KR
68Finish conversion to using BFD for all object file writing. (This is the
69BFD_ASSEMBLER code, not BFD or BFD_HEADERS.) VMS might be the tough one here,
09257909
KR
70since there's no BFD support for it at all yet. Eliminate the old code. Some
71of this can be done target by target, so doing a target where the CPU or
72format already supports BFD_ASSEMBLER mode may be easiest.
07c788ce 73
de001789
KR
74Fix lots of uses of empty strings to use null pointers. Will improve
75efficiency, and should make code clearer too.
76
5bed5321
KR
77Clean up comments; lots of 'em are one previous maintainer griping about
78another previous maintainer, unrelated to the code. (And with no names,
79they're not so fun to read. :-)
07c788ce 80
09257909
KR
81Get Steve to document H8/500 stuff (and others).
82
83Improve test suite. Incorporate more reported net bugs, and non-confidential
84Cygnus customer bugs, and anything else.
85
86Add support for i386/i486 16-bit mode, so operating system initialization code
87doesn't require a separate assembler nor lots of `.byte' directives.
de001789 88
09257909
KR
89See if it's more maintainable (and not too much of a performance loss) to use
90a yacc grammar for parsing input. The lexer will have to be flexible, and the
91grammar will have to contain any construct used on any platform, but it may be
92easier to maintain, instead of having code in most of the back ends.
07c788ce 93
09257909 94PIC support.
5bed5321 95
07c788ce
KR
96(From old "NOTES" file to-do list, not really reviewed:)
97
98fix relocation types for i860, perhaps by adding a ref pointer to fixS?
c6cfc5b5 99
0e39a8bb 100remove the ifdef's from fx_callj tests?
0e39a8bb 101
07c788ce 102space tighten sparc alignment?
542e1629 103
07c788ce 104md_ => tc_
0e39a8bb 105
07c788ce 106share b.out with a.out.
This page took 0.088285 seconds and 4 git commands to generate.