Initial CVS checkin of gold
[external/binutils.git] / gold / target.h
1 // target.h -- target support for gold
2
3 // The abstract class Target is the interface for target specific
4 // support.  It defines abstract methods which each target must
5 // implement.  Typically there will be one target per processor, but
6 // in some cases it may be necessary to have subclasses.
7
8 // For speed and consistency we want to use inline functions to handle
9 // relocation processing.  So besides implementations of the abstract
10 // methods, each target is expected to define a template
11 // specialization of the relocation functions.
12
13 #ifndef GOLD_TARGET_H
14 #define GOLD_TARGET_H
15
16 namespace gold
17 {
18
19 class Target
20 {
21  public:
22 };
23
24 extern Target* select_target(int machine, int size, bool big_endian,
25                              int osabi, int abiversion);
26
27 } // End namespace gold.
28
29 #endif // !defined(GOLD_TARGET_H)