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)


Sorry I shouldn't have added arm-linux-kernel please reply this email rather
than the previous, many appologies.

--- 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:
> > 
> > > 
> > > --- 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
> 
> 


Steve

Send instant messages to your online friends http://uk.messenger.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]