aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/target-sparc.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-sparc.c')
-rw-r--r--target-sparc.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/target-sparc.c b/target-sparc.c
index ca9589f5..5267430f 100644
--- a/target-sparc.c
+++ b/target-sparc.c
@@ -3,6 +3,13 @@
#include "machine.h"
+static void predefine_sparc(const struct target *self)
+{
+ predefine("__sparc__", 1, "1");
+ predefine("__sparc", 1, "1");
+}
+
+
static void init_sparc32(const struct target *target)
{
if (arch_os == OS_SUNOS) {
@@ -14,6 +21,11 @@ static void init_sparc32(const struct target *target)
}
}
+static void predefine_sparc32(const struct target *self)
+{
+ predefine_sparc(self);
+}
+
const struct target target_sparc32 = {
.mach = MACH_SPARC32,
.bitness = ARCH_LP32,
@@ -25,8 +37,22 @@ const struct target target_sparc32 = {
.init = init_sparc32,
.target_64bit = &target_sparc64,
+
+ .predefine = predefine_sparc32,
};
+
+static void predefine_sparc64(const struct target *self)
+{
+ predefine("__sparc_v9__", 1, "1");
+ predefine("__sparcv9__", 1, "1");
+ predefine("__sparcv9", 1, "1");
+ predefine("__sparc64__", 1, "1");
+ predefine("__arch64__", 1, "1");
+
+ predefine_sparc(self);
+}
+
const struct target target_sparc64 = {
.mach = MACH_SPARC64,
.bitness = ARCH_LP64,
@@ -34,4 +60,6 @@ const struct target target_sparc64 = {
.unsigned_char = 0,
.target_32bit = &target_sparc32,
+
+ .predefine = predefine_sparc64,
};