Re: Something fishy with the toolchain in unstable

James Cowgill <[email protected]>
Newsgroups gmane.linux.debian.ports.mips
Message-ID <[email protected]>
On Mon, 2015-08-17 at 10:00 +0000, Jurica Stanojkovic wrote:
> Hi,
> 
> That is another error that could be resolved with following patch for gcc-5:
> 
> diff -upNr gcc-5.1.0-old/gcc/jit/jit-playback.c gcc-5.1.0/gcc/jit/jit-playback.c
> --- gcc-5.1.0-old/gcc/jit/jit-playback.c        2015-02-03 17:19:58.000000000 +0000
> +++ gcc-5.1.0/gcc/jit/jit-playback.c    2015-07-29 11:26:32.000000000 +0000
> @@ -2322,6 +2322,9 @@ invoke_driver (const char *ctxt_progname
> 
>    if (shared)
>      ADD_ARG ("-shared");
> +#ifdef __mips__
> +    ADD_ARG ("-fPIC");
> +#endif
> 
>    if (!run_linker)
>      ADD_ARG ("-c");
> 
> I was testing this patch when this new issue occurred.
> 
> As I remember on Debian build MIPS is set to always use -fPIC.
> Here is not configured with it and that is creating problem for pygccjit.
>
> I think that fake.so was build without -fPIC and that was creating a problem.
> I will check this again and send more info.

Looking at jit-playback.c, -fPIC is passed already when compiling
anything to assembly (on any arch). The difference is that on MIPS, you
must also pass -fPIC when assembling the file (-KPIC if invoking as
directly). So yes something like that patch would help improve things,

Thanks,
James

> ________________________________________
> From: James Cowgill [[email protected]]
> Sent: 17 August 2015 11:35
> To: Jurica Stanojkovic
> Cc: [email protected]; Mike Hommey
> Subject: Re: Something fishy with the toolchain in unstable
> 
> Hi,
> 
> On Mon, 2015-08-17 at 08:07 +0000, Jurica Stanojkovic wrote:
> > Hello,
> > 
> > Package that I have used for build are:
> > 
> > libgccjit-5-dev_5.1.1-14
> > libgccjit0_5.1.1-14
> > gcc-5-base_5.1.1-14
> > 
> > With those packages installed error:
> > /tmp/libgccjit-JbKzhg/fake.s:14: Error: `fp=xx' used with a cpu
> > lacking ldc1/sdc1 instructions
> > those not occur during pygccjit build any more.
> 
> So in GCC 5, the FPXX ABI has been enabled by default.
> 
> FPXX does not work when compiling for mips1 CPUs so the GCC driver will
> always pass '-march=mips2 -mfpxx' to as so that this error doesn't
> occur. The error could also happen if the CPU was overridden in the .s
> file (eg by '.set mips1').
> 
> Is it possible for you to get the contents of fake.s and the gcc driver
> invocation which it tried to compile it with (it should be invoking
> mipsel-linux-gnu-gcc-5 with some args)?
> 
> This build log was run against gcc-5_5.1.1-13 and gives a different
> error:
> https://buildd.debian.org/status/fetch.php?pkg=pygccjit&arch=mipsel&ver=0.4-4&stamp=1436320448
> 
> Thanks,
> James
>
signature.asc (application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABCgAGBQJV0bt4AAoJEMfxZ23qLQHvvf0P/iii+fogz7VysO6dqzFiPSII
vmukNy0qZ7E3dkt1+JUmRLs8kv6i61Uoa/wVHwt2/iav3SD8Jo4VivoEhpN2bTLN
T5x4yZXuslIFYyIBS5osIeb84Nk5+mzBI4TIc8r354I4M4TyFCJGKlE4QtWjfcSb
crbsJh5OIqCyzwtIZaFZcdkFFSke7AYBiCHyPIZwvMxE+IR/1imb9qDzsLlC62SR
y+JJQk49LiIGulIMEnFzaj6458KYVUzgESjeOjIYsUqaPs5UeXMR6VQ2/evQjItj
bqzgx25y33r3EtTiU+YZQ20dwOpis/yM/InIArR7gqUyYV94w5Xip20brJipqAq3
HDf5deEGy4Cq5mMgTBl7tkzGESDTBAbjGGLBdt+POebQqJnj8lJPrFFGZBjKmjN1
T21YvPsPtcFxd41ocqRnuKSq5c//NHUE4MbXhvlMz2uNVlCJc0ToR4VyG+UwpT1S
zwiKunavOTWvAss1ATttfoKrbl/wZeBVWwCRglPfYFYWf5/Fo6NzEFzCAnarIiKI
grz/DR7YlQcZ8fu6RIUCemsSInHVjD/MqhrwM+qwA2JcLkPiKbJo2yR5AoOr5oaS
Wacr144gF43LTQaZTuQSeHK/q+77GlmH5XbXKoOXESzYspED/xo02wLSW4R13QGy
TPzCY+miaN3bNX46mhpz
=+1wa
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.