unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* [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).