aboutsummaryrefslogtreecommitdiff
path: root/gold/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/target.h')
-rw-r--r--gold/target.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/gold/target.h b/gold/target.h
new file mode 100644
index 0000000..1f1c575
--- /dev/null
+++ b/gold/target.h
@@ -0,0 +1,29 @@
+// target.h -- target support for gold
+
+// The abstract class Target is the interface for target specific
+// support. It defines abstract methods which each target must
+// implement. Typically there will be one target per processor, but
+// in some cases it may be necessary to have subclasses.
+
+// For speed and consistency we want to use inline functions to handle
+// relocation processing. So besides implementations of the abstract
+// methods, each target is expected to define a template
+// specialization of the relocation functions.
+
+#ifndef GOLD_TARGET_H
+#define GOLD_TARGET_H
+
+namespace gold
+{
+
+class Target
+{
+ public:
+};
+
+extern Target* select_target(int machine, int size, bool big_endian,
+ int osabi, int abiversion);
+
+} // End namespace gold.
+
+#endif // !defined(GOLD_TARGET_H)