diff options
Diffstat (limited to 'target-sparc.c')
-rw-r--r-- | target-sparc.c | 28 |
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, }; |