1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
-*- text -*-
PORTING:
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?
remove the ifdef's from fx_callj tests?
space tighten sparc alignment?
md_ => tc_
share b.out with a.out.
|