This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Building the current snapshot on Windows with Guile


Eli Zaretskii <eliz@gnu.org> skribis:

>> 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?

In Guile 2.0, .go files are not portable essentially because sizeof(SCM)
is the size of a pointer, and because numbers stored in .go files are in
native endianness.  (Guile 2.2 uses ELF as its container format, with
similar issues.)

> E.g., if they were compiled on a 64-bit Windows 7, will they work on a
> 32-bit Windows XP?

No.

> Does the answer depend on whether the Guile executable that compiled
> the *.scm files was a 64-bit or a 32-bit executable?

No.

> What about compiling on GNU/Linux and using on Windows, when the CPU
> is the same or from the same family?

That works fine.

Thanks,
Ludoâ.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]