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