logo       

Re: generic eabi arm embedded build uclibc failure: msg#00036

t2.devel

Subject: Re: generic eabi arm embedded build uclibc failure

Hi all,

On Wednesday 20 June 2007 22:03:35 you wrote:
>
> Hi James,
>
> 2007/6/20, James Newell <jnewell@xxxxxxxxx>:
> >
> > Hello,
> >
> > First off, I really like the t2 project concept, but I am a complete newbie
> > to
> > the build system. I was trying to build an embedded generic arm with eabi
> > support and the uclibc stage 1 fails with svn t2-trunc.
> >
> > #####################################################
> > You should not call uname during the build!
> > /bin/sh: line 1: 30634 Segmentation fault
> > arm-t2-linux-gnueabi-ld --warn-unresolved-symbols -o /dev/null -b
> > binary /dev/null > /dev/null 2>&1
> > CC libc/sysdeps/linux/arm/brk.os
> > CC libc/sysdeps/linux/arm/ioperm.os
> > CC libc/sysdeps/linux/arm/iopl.os
> > CC libc/sysdeps/linux/arm/mmap.os
> > CC libc/sysdeps/linux/arm/posix_fadvise.os
> > libc/sysdeps/linux/arm/posix_fadvise.c: In function '__libc_posix_fadvise':
> > libc/sysdeps/linux/arm/posix_fadvise.c:20: warning: right shift count >=
> > width
> > of type
> > libc/sysdeps/linux/arm/posix_fadvise.c:20: warning: right shift count >=
> > width
> > of type
> > CC libc/sysdeps/linux/arm/posix_fadvise64.os
> > CC libc/sysdeps/linux/arm/sigaction.os
> > CC libc/sysdeps/linux/arm/__syscall_error.os
> > CC libc/sysdeps/linux/arm/syscall.os
> > libc/sysdeps/linux/arm/syscall.c: In function 'syscall':
> > libc/sysdeps/linux/arm/syscall.c:28: error: '__NR_syscall' undeclared (first
> > use in this function)
> > libc/sysdeps/linux/arm/syscall.c:28: error: (Each undeclared identifier is
> > reported only once
> > libc/sysdeps/linux/arm/syscall.c:28: error: for each function it appears
> > in.)
> > make[1]: *** [libc/sysdeps/linux/arm/syscall.os] Error 1
> > make: *** [lib/libc.so.0] Error 2
> > Due to previous errors, no 1-uclibc.log file!
> > (Try enabling xtrace in the config to track an error inside the build
> > system.)
> > --- BUILD ERROR ---
> > Creating file list and doing final adaptions ...
> > #######################################################
> >
> > I believe it is failing because the EABI is not selected in the .config for
> > the uclibc package:
> >
> > Target ABI
> > > 1. OABI (CONFIG_ARM_OABI)
> > 2. EABI (CONFIG_ARM_EABI)
> > choice[1-2?]: 1
> > Target Processor Type
> > > 1. Generic Arm (CONFIG_GENERIC_ARM)
> > 2. Arm 610 (CONFIG_ARM610)
> > 3. Arm 710 (CONFIG_ARM710)
> >
> > I am uncertain on how to make this fix within the context of the t2 build
> > system.
>
> the arm eabi build option was introduced lately and and so far only
> works for glibc.
>
> You may copy the embedded target folder to create a new target for
> your platform, add a uclibc.config file in your target folder with the
> appropriate rules for your hardware, "X" to select an option and "O"
> to disable:
>
> O CONFIG_ARM_OABI
> X CONFIG_ARM_EABI
> ....
>
> Probably you have to select the processor type in this way, too,
> because the uclibc cpu options are not (yet) mapped to the T2-SDE cpu
> selection.

Fixed in trunk, now:

Index: package/base/uclibc/uclibc.conf
===================================================================
--- package/base/uclibc/uclibc.conf (revision 24718)
+++ package/base/uclibc/uclibc.conf (revision 24719)
@@ -57,6 +57,15 @@
echo "X ARCH_WANTS_LITTLE_ENDIAN"
fi

+ [ $arch = arm ] && {
+ if [ "$SDECFG_ARM_ABI" = "gnueabi" ]; then
+ echo "O CONFIG_ARM_OABI"
+ echo "X CONFIG_ARM_EABI"
+ else
+ echo "O CONFIG_ARM_EABI"
+ echo "O CONFIG_ARM_OABI"
+ fi
+ }
[ $uarch = sh64 ] && {
echo -e "O CONFIG_SH4\nX CONFIG_SH5"
}


Yours,

--
René Rebe - ExactCODE GmbH - Europe, Germany, Berlin
http://exactcode.de | http://t2-project.org | http://rene.rebe.name

-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
lists@xxxxxxxxxxxxxx with a subject of: unsubscribe t2
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise