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