This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Building the current snapshot on Windows with Guile
- From: Eli Zaretskii <eliz at gnu dot org>
- To: ludo at gnu dot org (Ludovic CourtÃs)
- Cc: xdje42 at gmail dot com, gdb-patches at sourceware dot org
- Date: Wed, 11 Jun 2014 17:59:29 +0300
- Subject: Re: Building the current snapshot on Windows with Guile
- Authentication-results: sourceware.org; auth=none
- References: <83y4x614y6 dot fsf at gnu dot org> <CAP9bCMQHCL7Riah5Z-M4Puo=qi1QLcv_Z6fVB8p=RdzLaNoUwQ at mail dot gmail dot com> <87ha3rocq3 dot fsf at gnu dot org>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> From: ludo@gnu.org (Ludovic CourtÃs)
> Cc: Eli Zaretskii <eliz@gnu.org>, "gdb-patches\@sourceware.org" <gdb-patches@sourceware.org>
> Date: Wed, 11 Jun 2014 14:24:52 +0200
>
> Doug Evans <xdje42@gmail.com> skribis:
>
> > (*1): As Ludo suggested, we could compile these files during a gdb
> > build, but that doesn't work in a cross-compilation scenario (without
> > requiring more complexity in the build, which would be nice to avoid).
> > Are these files guaranteed to be equivalent across configurations (I'm
> > guessing not), and if not does guile provide a cross-compiler for them
> > (I'm guessing not - could be wrong of course)?
>
> It does provide a cross-compiler (info "(guile) Compilation"):
>
> guix compile --target=mips64el-linux-gnu foo.scm -o foo.go
>
> But note that the interpretation of triplets might defer from that of
> GDB. In particular, for platforms that support several ABIs with
> different word sizes, it recognizes some specific triplet
> extensionsâe.g., âmips64el-linux-gnuabi64â for the N64 ABI on MIPS. See
> <http://git.savannah.gnu.org/cgit/guile.git/tree/module/system/base/target.scm#n76>.
Apart of the issue with multi-ABI platforms, are there any other
reasons for the *.go files to be non-portable?
E.g., if they were compiled on a 64-bit Windows 7, will they work on a
32-bit Windows XP? Does the answer depend on whether the Guile
executable that compiled the *.scm files was a 64-bit or a 32-bit
executable? What about compiling on GNU/Linux and using on Windows,
when the CPU is the same or from the same family?