This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-2.95.3 on mipsel


Dan Kegel wrote:
> 
> Stuart Hughes wrote:
> > I've been trying to build the gcc-2.95.3-glibc-2.2.2 toolcombo on mipsel
> > and it dies with:
> >
> > ../sysdeps/mips/setjmp.S: Assembler messages:
> > ../sysdeps/mips/setjmp.S:43: Error: Can not represent
> > BFD_RELOC_16_PCREL_S2 relocation in this object file format
> > make[2]: ***
> > [/usr/src/rpm/BUILD/crosstool/build/mipsel-linux/gcc-2.95.3-glibc-2.2.2
> >
> > I googled a lot and found:
> >
> > glibc-2.2.5-mips-clone-local-label.patch
> >
> > Which is similar, but I'm surprised that I'd need to do this for
> > setjmp.S, as I would have thought that this version of gcc has been
> > built many times for mipsel.  This seems to be a gcc bug.
> 
> Does that patch fix your problem?  If so, run with it...
> that toolcombo is old, and there were bound to be lots of problems.
> (I'd advise updating to glibc-2.2.5 if you can.)
> 
> Here's what Karim said last time this came up:
> http://www.embeddedtux.org/pipermail/etux/2003-September/000338.html
> - Dan

Hi Dan,

Unfortunately, that doesn't fix the problem.  Elsewhere I saw a posting
that said:

    This happens when you try to assemble the ''j'' instruction in PIC
    code.  I think it should work with GCC 2.96, there was some
    incosistency in the spec files if I remember correctly.  Make sure
    that PIC is defined so that the right code in setjmp.S is used.


So looking in the uclibc gcc-2.95 set of patches (this is a 2.95.4
pre-release derived from Debian I think).  I then applied:
gcc-20011006/gcc-021-mips-linux.patch

This fixes the setjmp problem, only to fail later with:

/opt/Embedix/usr/local/mipsel-linux/gcc-2.95.3-glibc-2.2.2/mipsel-linux/bin/ld:
target elf32-littlemips not found

Which can be got past by patching with
glibc-2.2.3-mips-base-addr-got.patch

Unfortunately this later fails building iconv_prog ... undefined
reference to 'no symbol'

At this point I gave up using 2.95.3, and at the moment I'm trying to
build using the uclibc gcc 2.95.4 plus the huge number of patches it
has.  In conjunction with this I'm using binutils-2.11.90.0.7 and
glibc-2.2.2.

BTW: The reason I'm using these versions is because I need to provide a
compiler that will produce executables compatible with target that run
glibc-2.2.2 (or what is 2.2.1).

I'd be interested to hear anyone elses experiences with 2.95.x on mipsel
(and powerpc).

Regards, Stuart


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]