summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwchang0222%aol.com <devnull@localhost>2004-05-19 15:37:10 +0000
committerwchang0222%aol.com <devnull@localhost>2004-05-19 15:37:10 +0000
commit0828bac86710aa0700f6a4411f062dccbd44b9bd (patch)
tree9a78a1011f760cfa7660fcd0b7b44ae7fa05ea63
parentd017e753458692e2c142426afc012d79120ddc96 (diff)
downloadnspr-hg-0828bac86710aa0700f6a4411f062dccbd44b9bd.tar.gz
Bugzilla bug 244010: support NetBSD/sparc64. Accept more variants of theMOZILLA_1_8a1_RELEASE
arm architecture. The patch is contributed by Martin Husemann <martin@NetBSD.ORG>. r=wtc. Tag: NSPRPUB_PRE_4_2_CLIENT_BRANCH
-rw-r--r--pr/include/md/_netbsd.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/pr/include/md/_netbsd.h b/pr/include/md/_netbsd.h
index cd829df3..cc16f105 100644
--- a/pr/include/md/_netbsd.h
+++ b/pr/include/md/_netbsd.h
@@ -48,12 +48,15 @@
#define _PR_SI_ARCHITECTURE "m68k"
#elif defined(__powerpc__)
#define _PR_SI_ARCHITECTURE "powerpc"
+#elif defined(__sparc_v9__)
+#define _PR_SI_ARCHITECTURE "sparc64"
#elif defined(__sparc__)
#define _PR_SI_ARCHITECTURE "sparc"
#elif defined(__mips__)
#define _PR_SI_ARCHITECTURE "mips"
-#elif defined(__arm32__)
-#define _PR_SI_ARCHITECTURE "arm32"
+#elif defined(__arm32__) || defined(__arm__) || defined(__armel__) \
+ || defined(__armeb__)
+#define _PR_SI_ARCHITECTURE "arm"
#endif
#if defined(__ELF__)
@@ -86,6 +89,12 @@
#define _PR_INET6_PROBE
#endif
+#if __NetBSD_Version__ >= 106370000
+/* NetBSD 1.6ZK */
+#define _PR_HAVE_GETPROTO_R
+#define _PR_HAVE_GETPROTO_R_INT
+#endif
+
#define USE_SETJMP
#ifndef _PR_PTHREADS
@@ -108,7 +117,17 @@
}
#define _MD_GET_SP(_thread) CONTEXT(_thread)[2]
#endif
-#ifdef __sparc__
+#ifdef __sparc_v9__
+#define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
+{ \
+ sigsetjmp(CONTEXT(_thread), 1); \
+ CONTEXT(_thread)[1] = (unsigned char*) ((_sp) - 176 - 0x7ff); \
+ CONTEXT(_thread)[2] = (long) _main; \
+ CONTEXT(_thread)[3] = (long) _main + 4; \
+ *status = PR_TRUE; \
+}
+#define _MD_GET_SP(_thread) (CONTEXT(_thread)[2]+0x7ff)
+#elif defined(__sparc__)
#define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
{ \
sigsetjmp(CONTEXT(_thread), 1); \
@@ -150,7 +169,8 @@
}
#define _MD_GET_SP(_thread) CONTEXT(_thread)[32]
#endif
-#ifdef __arm32__
+#if defined(__arm32__) || defined(__arm__) || defined(__armel__) \
+ || defined(__armeb__)
#define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
{ \
sigsetjmp(CONTEXT(_thread), 1); \