This is the mail archive of the crossgcc@sourceware.org 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: Failure to boot into cross built environment (iWMMXt NPTL EABI)


--- Steven Newbury <s_j_newbury@yahoo.co.uk> wrote:

> 
> --- Steven Newbury <s_j_newbury@yahoo.co.uk> wrote:
> 
> > 
> > --- Steven Newbury <s_j_newbury@yahoo.co.uk> wrote:
> > 
> > > 
> > > --- Khem Raj <khem@mvista.com> wrote:
> > > 
> > > > Steven Newbury wrote:
> > > > > OK this is now confirmed.  I tried turning on oldabi support and
> > booting
> > > > into
> > > > > another rootfs. That worked. Chrooting into my EABI environment gave
> > the
> > > > error
> > > > > below.
> > > > >   
> > > > thats expected. EABI changes structure alignments and some structure 
> > > > passing that happens between kernel and glibc
> > > > will not match and you will have problems. Especially when kernel tried
> 
> > > > to compare the size of the structures for sanity
> > > > while catering system calls.
> > > > 
> > > > 
> > > Except the exact same thing happens when I try booting directly into my
> > pure
> > > EABI environment with no old ABI anywhere.
> > Above was with the 2.6.16 Linux kernel + patches
> > 
> > I have now tested 2.6.17 + (a lot less!) patches:
> > Same thing happens, so I'm inclined to think something has gone wrong with
> my
> > glibc build??? Perhaps missing a "when EABI build do something different"
> > case?
> >  I'll have a closer look.  Any help would be most welcome! :-)
> > 
> Statically linked "sash", built with the same toolchain; works fine if it
> makes
> any difference.  I do find that a little odd...
> 
I'm sorry that I keep replying to myself!

I don't know if it's relevant, but I had to manually define SSIZE_MAX when
cross compiling the native target gcc.  On the other hand glibc compiled
cleanly.  I am using portage to manage my cross compilation, the resultant
environment was used to compile glibc:


 *             ABI:   default
 *          CBUILD:   i686-pc-linux-gnu
 *           CHOST:   arm-iwmmxt-linux-gnueabi
 *         CTARGET:   arm-iwmmxt-linux-gnueabi
 *      CBUILD_OPT:
 *     CTARGET_OPT:
 *              CC:
 *          CFLAGS:    -march=iwmmxt -mcpu=iwmmxt -pipe -O2 -march=iwmmxt
-mcpu=iwmmxt -mabi=aapcs

 * Configuring GLIBC for nptl with:
                --disable-dev-erandom
                --with-abi=aapcs
                --with-arch=iwmmxt
                --with-tls
                --with-__thread
                --enable-add-ons=nptl,ports,c_stubs,libidn
                --enable-kernel=2.6.16
                --with-sysroot=/usr/arm-iwmmxt-linux-gnueabi/
                --without-selinux
                --without-cvs
                --enable-bind-now
                --build=i686-pc-linux-gnu
                --host=arm-iwmmxt-linux-gnueabi
                --disable-profile
                --without-gd
                --with-headers=/usr/arm-iwmmxt-linux-gnueabi//usr/include
                --prefix=/usr
                --mandir=/usr/share/man
                --infodir=/usr/share/info
                --libexecdir=/usr/lib/misc/glibc

The resulting binaries look like this:
arm-iwmmxt-linux-gnueabi-objdump /usr/arm-iwmmxt-linux-gnueabi/lib/libc-2.4.so
--all | grep ^private
private flags = 4000002: [Version4 EABI] [has entry point]

So it would seem to have used EABI.

I've crossposted to arm-linux-kernel in case it's a kernel problem.

Since it has been snipped from the above the error I'm getting is:

Inconsistency detected by ld.so: dl-minimal.c: 84: __libc_memalign: Assertion
`page != ((void *) -1)' failed!

This is when booting into a prepared pure EABI userspace attempting to run init
or (dynamically linked) bash.  It's the first and only thing shown from
userspace following the kernel messages.

Steve


		
___________________________________________________________ 
Switch an email account to Yahoo! Mail, you could win FIFA World Cup tickets. http://uk.mail.yahoo.com

--
For unsubscribe information see http://sourceware.org/lists.html#faq


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