unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: Andy Wingo <wingo@igalia.com>,
	William ML Leslie <william.leslie.ttg@gmail.com>
Cc: Helge Deller <deller@gmx.de>,
	John David Anglin <dave.anglin@bell.net>,
	guile-devel@gnu.org,
	"debian-hppa@lists.debian.org" <debian-hppa@lists.debian.org>
Subject: Re: Removal of hppa support
Date: Tue, 4 Feb 2020 12:02:49 +0100	[thread overview]
Message-ID: <c522a599-b7c0-f292-0606-1fba4ba982a6@physik.fu-berlin.de> (raw)
In-Reply-To: <87eevkgaw7.fsf@igalia.com>

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



  parent reply	other threads:[~2020-02-04 11:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-25 19:32 Removal of hppa support John Paul Adrian Glaubitz
2020-01-25 19:48 ` John David Anglin
2020-01-25 21:59   ` Helge Deller
2020-01-26  5:46 ` William ML Leslie
2020-01-26  6:19   ` William ML Leslie
2020-01-27 15:46     ` Andy Wingo
2020-01-27 17:30       ` Stefan Monnier
2020-01-27 21:41         ` tomas
2020-02-04 11:02       ` John Paul Adrian Glaubitz [this message]
2020-02-04 11:23         ` Andy Wingo
2020-02-04 11:41           ` John Paul Adrian Glaubitz
2020-01-26  9:50   ` John Paul Adrian Glaubitz
2020-01-26 12:21     ` William ML Leslie
2020-01-26 13:34       ` John Paul Adrian Glaubitz
2020-01-26 15:50         ` John David Anglin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c522a599-b7c0-f292-0606-1fba4ba982a6@physik.fu-berlin.de \
    --to=glaubitz@physik.fu-berlin.de \
    --cc=dave.anglin@bell.net \
    --cc=debian-hppa@lists.debian.org \
    --cc=deller@gmx.de \
    --cc=guile-devel@gnu.org \
    --cc=william.leslie.ttg@gmail.com \
    --cc=wingo@igalia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).