* [patch] get 1.8.8 to build on Solaris 10u9 @ 2011-04-28 15:33 Andrew Gaylard 2011-04-28 17:55 ` Andy Wingo 0 siblings, 1 reply; 4+ messages in thread From: Andrew Gaylard @ 2011-04-28 15:33 UTC (permalink / raw) To: guile-devel [-- Attachment #1: Type: text/plain, Size: 219 bytes --] Hi, With the attached patch, I can build and run guile-1.8.8 on Solaris. It seems that the old logic that used USRSTACK no longer works, so I took it out. Tested on Solaris 10u9, on both SPARC64 and x86_64. - Andrew [-- Attachment #2: fix-solaris-stackbase-detection.patch --] [-- Type: text/x-diff, Size: 680 bytes --] --- guile-1.8.8/libguile/gc_os_dep.c.orig Mon Dec 13 19:25:01 2010 +++ guile-1.8.8/libguile/gc_os_dep.c Fri Apr 15 14:03:13 2011 @@ -714,11 +714,8 @@ /* # define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7, */ /* but reportedly breaks under 2.8. It appears that the stack */ /* base is a property of the executable, so this should not break */ /* old executables. */ -/* HEURISTIC2 probably works, but this appears to be preferable. */ -# include <sys/vm.h> -# define STACKBOTTOM ((ptr_t) USRSTACK) # ifndef USE_MMAP # define USE_MMAP # endif # ifdef USE_MMAP ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] get 1.8.8 to build on Solaris 10u9 2011-04-28 15:33 [patch] get 1.8.8 to build on Solaris 10u9 Andrew Gaylard @ 2011-04-28 17:55 ` Andy Wingo 2011-04-28 18:19 ` Nelson H. F. Beebe 2011-04-29 20:27 ` Andrew Gaylard 0 siblings, 2 replies; 4+ messages in thread From: Andy Wingo @ 2011-04-28 17:55 UTC (permalink / raw) To: Andrew Gaylard; +Cc: guile-devel Hi Andrew, On Thu 28 Apr 2011 17:33, Andrew Gaylard <ag@computer.org> writes: > With the attached patch, I can build and run guile-1.8.8 on Solaris. > It seems that the old logic that used USRSTACK no longer works, > so I took it out. > > Tested on Solaris 10u9, on both SPARC64 and x86_64. Thanks for the patch. Do you have access to other versions of Solaris? We would need to test this patch under them as well. Andy -- http://wingolog.org/ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] get 1.8.8 to build on Solaris 10u9 2011-04-28 17:55 ` Andy Wingo @ 2011-04-28 18:19 ` Nelson H. F. Beebe 2011-04-29 20:27 ` Andrew Gaylard 1 sibling, 0 replies; 4+ messages in thread From: Nelson H. F. Beebe @ 2011-04-28 18:19 UTC (permalink / raw) To: Andy Wingo; +Cc: guile-devel, beebe >> > Tested on Solaris 10u9, on both SPARC64 and x86_64. I've just successfully applied Andrew Gaylard's patch for guile-1.8.8 on Solaris SPARC, and got a successful build and installation. We have this version: % cat /etc/release Solaris 10 5/09 s10s_u7wos_08 SPARC ... I'd already installed the stock 1.8.8 release on three different Solaris 10 Intel boxes, and an OpenSolaris 11 Intel box. ------------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - University of Utah FAX: +1 801 581 4148 - - Department of Mathematics, 110 LCB Internet e-mail: beebe@math.utah.edu - - 155 S 1400 E RM 233 beebe@acm.org beebe@computer.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ - ------------------------------------------------------------------------------- ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] get 1.8.8 to build on Solaris 10u9 2011-04-28 17:55 ` Andy Wingo 2011-04-28 18:19 ` Nelson H. F. Beebe @ 2011-04-29 20:27 ` Andrew Gaylard 1 sibling, 0 replies; 4+ messages in thread From: Andrew Gaylard @ 2011-04-29 20:27 UTC (permalink / raw) To: guile-devel [resending -- this time to the list. Sorry for the noise.] On Thu, Apr 28, 2011 at 7:55 PM, Andy Wingo <wingo@pobox.com> wrote: > Hi Andrew, > > On Thu 28 Apr 2011 17:33, Andrew Gaylard <ag@computer.org> writes: > >> With the attached patch, I can build and run guile-1.8.8 on Solaris. >> It seems that the old logic that used USRSTACK no longer works, >> so I took it out. >> >> Tested on Solaris 10u9, on both SPARC64 and x86_64. > > Thanks for the patch. Do you have access to other versions of Solaris? > We would need to test this patch under them as well. > > Andy Hi Andy, I've tested on a Solaris-9 SPARC zone, with these results: gmake[4]: Entering directory `/export/home/andrewg/guile/branches/1.8.8/src/guile-1.8.8/test-suite/standalone' PASS: test-system-cmds PASS: test-require-extension PASS: test-bad-identifiers PASS: test-num2integral PASS: test-round PASS: test-gh PASS: test-asmobs PASS: test-list FAIL: test-unwind PASS: test-conversion PASS: test-fast-slot-ref PASS: test-use-srfi PASS: test-scm-c-read PASS: test-scm-take-locale-symbol PASS: test-with-guile-module PASS: test-scm-with-guile ================================== 1 of 16 tests failed Please report to bug-guile@gnu.org ================================== This occurs with and without the patch to guile-1.8.8/libguile/threads.c. Without the patch to guile-1.8.8/libguile/gc_os_dep.c, the build doesn't even complete: gc_os_dep.c: In function `scm_get_stack_base': gc_os_dep.c:1909: error: `USERLIMIT' undeclared (first use in this function) gc_os_dep.c:1909: error: (Each undeclared identifier is reported only once gc_os_dep.c:1909: error: for each function it appears in.) So this patch is good to go, I think. I've tried debugging the core left behind by test-unwind by rebuilding with -g, but I get this far, after which I'm stuck: Core was generated by `/export/home/andrewg/guile/branches/1.8.8/src/guile-1.8.8/test-suite/standalone'. Program terminated with signal 11, Segmentation fault. #0 0x7f8bf714 in scm_i_dowinds (to=0xfd740, delta=-1, turn_func=0x7f8b6764 <copy_stack>, data=0xffbfec10) at dynwind.c:303 303 if (FRAME_P (wind_elt)) (gdb) bt #0 0x7f8bf714 in scm_i_dowinds (to=0xfd740, delta=-1, turn_func=0x7f8b6764 <copy_stack>, data=0xffbfec10) at dynwind.c:303 #1 0x7f8bf6f0 in scm_i_dowinds (to=0xfd750, delta=-2, turn_func=0x7f8b6764 <copy_stack>, data=0xffbfec10) at dynwind.c:300 #2 0x7f8b6854 in copy_stack_and_call (continuation=0x105668, val=0x4, dst=0xffbfeec4) at continuations.c:222 #3 0x7f8b698c in scm_dynthrow (cont=0xfd758, val=0x4) at continuations.c:275 #4 0x7f8b6758 in grow_stack (cont=0x7f9bb6c4, val=0xffbfefd0) at continuations.c:187 #5 0x7f8b6974 in scm_dynthrow (cont=0x0, val=0x0) at continuations.c:271 Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) list 298 SCM wind_key; 299 300 scm_i_dowinds (SCM_CDR (to), 1 + delta, turn_func, data); 301 wind_elt = SCM_CAR (to); 302 303 if (FRAME_P (wind_elt)) 304 { 305 if (!FRAME_REWINDABLE_P (wind_elt)) 306 scm_misc_error ("dowinds", 307 "cannot invoke continuation from this context", (gdb) p wind_elt $1 = (SCM) 0x0 (gdb) p to $2 = (SCM) 0xfd740 I'm pretty sure this is not due to the patch to guile-1.8.8/libguile/threads.c, since it happens with and without it. -- Andrew ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-04-29 20:27 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-28 15:33 [patch] get 1.8.8 to build on Solaris 10u9 Andrew Gaylard 2011-04-28 17:55 ` Andy Wingo 2011-04-28 18:19 ` Nelson H. F. Beebe 2011-04-29 20:27 ` Andrew Gaylard
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).