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 - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913