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
Description: This is a digitally signed message part

