[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Something fishy with the toolchain in unstable



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 [james410@cowgill.org.uk]
> Sent: 17 August 2015 11:35
> To: Jurica Stanojkovic
> Cc: debian-mips@lists.debian.org; 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
> 

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: