guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Fix continuation problems on IA64.


From: Ludovic Courtès
Subject: Re: [PATCH] Fix continuation problems on IA64.
Date: Thu, 08 May 2008 22:09:31 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Hi Neil,

Neil Jerram <address@hidden> writes:

> FYI, I finally fixed some problems on IA64 that have been outstanding
> for ages (at least about 2 years).  Following is a big spiel about it,
> and the actual patch (against 1.8.4 release).  If anyone has any
> comments or questions, please let me know.  (And if not, I'll commit
> in a couple of days' time.)

Thanks a lot for fixing this!  It just missed 1.8.5 my a few hours (my
fault).  Hopefully distributions will apply the patch by themselves
until we release a new version...

Thanks also for the nice explanation.  I must confess I didn't grasp
everything (especially since I'm not familiar with IA64 and its RBS
thing), but I'm confident you did the right thing.  ;-)

> +     * threads.h (scm_i_thread): New IA64 fields:
> +     register_backing_store_base and pending_rbs_continuation.

This breaks ABI compatibility on IA64, but if Guile wasn't usable on
IA64 (was it?) that's probably not a problem.

> +    void scm_ia64_longjmp (jmp_buf *, int);

Add `SCM_API' at the beginning and `SCM_NORETURN' at the end.  The
latter should fix this:

> +#ifdef __ia64__
> +  /* On IA64, we #define longjmp as setcontext, and GCC appears not to
> +     know that that doesn't return. */
> +  return SCM_UNSPECIFIED;
> +#endif


Thanks!

Ludovic.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]