42 lines
1.6 KiB
Diff
42 lines
1.6 KiB
Diff
diff -up gc-7.1/configure.sparc gc-7.1/configure
|
|
--- gc-7.1/configure.sparc 2008-05-03 19:52:50.000000000 -0500
|
|
+++ gc-7.1/configure 2008-10-15 07:01:18.000000000 -0500
|
|
@@ -6161,6 +6161,9 @@ _ACEOF
|
|
sparc-*-netbsd*)
|
|
machdep="mach_dep.lo sparc_netbsd_mach_dep.lo"
|
|
;;
|
|
+ sparc*-*-linux*)
|
|
+ machdep="mach_dep.lo sparc_mach_dep.lo"
|
|
+ ;;
|
|
sparc-sun-solaris2.3)
|
|
machdep="mach_dep.lo sparc_mach_dep.lo"
|
|
cat >>confdefs.h <<\_ACEOF
|
|
diff -up gc-7.1/configure.ac.sparc gc-7.1/configure.ac
|
|
--- gc-7.1/configure.ac.sparc 2008-05-03 19:52:06.000000000 -0500
|
|
+++ gc-7.1/configure.ac 2008-10-15 07:01:18.000000000 -0500
|
|
@@ -405,6 +405,9 @@ case "$host" in
|
|
sparc-*-netbsd*)
|
|
machdep="mach_dep.lo sparc_netbsd_mach_dep.lo"
|
|
;;
|
|
+ sparc*-*-linux*)
|
|
+ machdep="mach_dep.lo sparc_mach_dep.lo"
|
|
+ ;;
|
|
sparc-sun-solaris2.3)
|
|
machdep="mach_dep.lo sparc_mach_dep.lo"
|
|
AC_DEFINE(SUNOS53_SHARED_LIB)
|
|
diff -up gc-7.1/mach_dep.c.sparc gc-7.1/mach_dep.c
|
|
--- gc-7.1/mach_dep.c.sparc 2007-08-13 16:49:11.000000000 -0500
|
|
+++ gc-7.1/mach_dep.c 2008-10-15 07:03:35.000000000 -0500
|
|
@@ -175,9 +175,10 @@ void GC_with_callee_saves_pushed(void (*
|
|
# if defined(HAVE_PUSH_REGS)
|
|
GC_push_regs();
|
|
# elif defined(UNIX_LIKE) && !defined(DARWIN) && !defined(ARM32) && \
|
|
- !defined(HURD)
|
|
+ !defined(HURD) && !defined(SPARC)
|
|
/* Older versions of Darwin seem to lack getcontext(). */
|
|
/* ARM Linux often doesn't support a real getcontext(). */
|
|
+ /* SPARC 32bit Linux doesn't support getcontext(). */
|
|
ucontext_t ctxt;
|
|
if (getcontext(&ctxt) < 0)
|
|
ABORT ("Getcontext failed: Use another register retrieval method?");
|