[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Removal of hppa support
From: |
John Paul Adrian Glaubitz |
Subject: |
Re: Removal of hppa support |
Date: |
Tue, 4 Feb 2020 12:02:49 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
Hi!
On 1/27/20 4:46 PM, Andy Wingo wrote:
> William is correct. HPPA support is not gone from Guile; and indeed
> it's good to hear from you :) I wasn't sure there were any IA64 users
> remaining.
It fails to build from source on Debian hppa, however:
> https://buildd.debian.org/status/fetch.php?pkg=guile-3.0&arch=hppa&ver=3.0.0%2B1-1&stamp=1580702308&raw=0
continuations.c: In function 'scm_dynthrow':
continuations.c:326:5: error: too few arguments to function 'grow_stack'
326 | grow_stack (cont);
| ^~~~~~~~~~
continuations.c:276:1: note: declared here
276 | grow_stack (SCM cont, uint8_t *mra)
| ^~~~~~~~~~
I'm currently working on a patch.
> Initially in Guile I planned to use GNU Lightning, in part because of
> its great platform support. However it turned out to not be the right
> thing, and reluctantly I ended up doing something that was more like a
> rewrite than a refactor. In that context I personally don't have the
> budget to write the IA64 backend. So, Guile 3 still runs on IA64, just
> without JIT support.
It also fails on ia64 at the moment:
> https://buildd.debian.org/status/fetch.php?pkg=guile-3.0&arch=ia64&ver=3.0.0%2B1-1&stamp=1580702151&raw=0
continuations.c:146:23: error: missing binary operator before token "or"
146 | # if !(defined __ia64 or defined __ia64__)
| ^~
I fixed the preprocessor conditional, but then I'm running into another
issue:
continuations.c: In function 'capture_auxiliary_stack':
continuations.c:152:7: warning: implicit declaration of function 'getcontext'
[-Wimplicit-function-declaration]
152 | if (getcontext (&ctx) != 0)
| ^~~~~~~~~~
continuations.c:158:21: error: invalid type argument of '->' (have 'ucontext_t'
{aka 'struct ucontext_t'})
158 | top = (char *) ctx->uc_mcontext.sc_ar_bsp;
| ^~
continuations.c:167:26: error: 'scm_thread' {aka 'struct scm_thread'} has no
member named 'auxiliary_stack_base'
167 | top - (char *) thread->auxiliary_stack_base;
| ^~
continuations.c:171:48: error: 'scm_thread' {aka 'struct scm_thread'} has no
member named 'auxiliary_stack_base'
171 | memcpy (continuation->auxiliary_stack, thread->auxiliary_stack_base,
| ^~
continuations.c: In function 'restore_auxiliary_stack':
continuations.c:180:17: error: 'scm_thread' {aka 'struct scm_thread'} has no
member named 'auxiliary_stack_base'
180 | memcpy (thread->auxiliary_stack_base, continuation->auxiliary_stack,
| ^~
Working on a patch here as well.
> If someone would like to write an IA64 backend for Lightening, I would
> be happy to accept it :) The beginnings of one are there in the git
> history.
Ok. I assume that applies to alpha, hppa, m68k, powerpc*, riscv*, sparc* as
well.
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - address@hidden
`. `' Freie Universitaet Berlin - address@hidden
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
- Re: Removal of hppa support,
John Paul Adrian Glaubitz <=