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