On 09/03/2022 14:31, Chris Johns wrote:
> Hello
>
> I'd like to see if Python 3.10 will build with GCC 10.
>
> I suspect there are a few issues that might come into play here. One is
> that I usually build native, so it might take a week to build (IIRC GCC
> 10 is very slow when building native). I could probably get it to
> cross-compile on my unix box though.
Cross-compiling is the better option because you have the benefit of the
autobuilder to build the dependencies. After building GCC 10, adding
RO_USE_ARMEABIHF=yes
to your build-setvars ensures that most things are then built with GCC
10 (there may be some old packages that make assumptions about the
compiler in use, but I think those are rare).
> The second is the various shared libs that python uses.Am I right in
> thinking that I would need to get (or build) compatible versions of them
> all to work with the output of gcc 10?
Yes, GCC 10 uses a different stack extension strategy than previous
versions. Instead of building stack checks into the code and adding
new chunks to extend the stack, GCC 10 uses a flat stack and allocates
new stack memory pages on the fly via an abort handler. This has the
benefit of an extra work register (i.e. R10) and a stack layout that
matches what ported code is expecting (e.g. JITs, exception handlers).
Is does, however, mean that GCC 4 code and GCC 10 code are not
compatible.
Lee.
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
No comments:
Post a Comment