logo       

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

t2.devel

Subject: Re: generic eabi arm embedded build uclibc failure

Thank You.

I did an svn update, and that got me to building the stage 1 linux26 kernel
which fails building several modules using old style udelay calls which have
not been fixed by the upstream maintainers for some time now. I created a
target/embedded/kernel.conf file attached that disables building those
modules.

My next encounter is 1st stage binutils error:
arm-t2-linux-gnueabi-gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-Werror -g -O2 -o .libs/as-new
app.o as.o atof-generic.o cond.o depend.o dwarf2dbg.o dw2gencfi.o ecoff.o
ehopt.o expr.o flonum-copy.o flonum-konst.o flonum-mult.o frags.o hash.o
input-file.o input-scrub.o listing.o literal.o macro.o messages.o
output-file.o read.o sb.o stabs.o subsegs.o symbols.o write.o tc-arm.o
obj-elf.o
atof-ieee.o ../opcodes/.libs/libopcodes.so ../bfd/.libs/libbfd.so
-L/home/jnewell/work/t2-trunk/src.binutils.default.20070703.145344.14953.orion.eng.wgate.com/binutils-2.17.50.0.15/objdir/libiberty/pic
-liberty ../libiberty/libiberty.a
/home/jnewell/work/t2-trunk/src.binutils.default.20070703.145344.14953.orion.eng.wgate.com/binutils-2.17.50.0.15/objdir/libiberty/pic/libiberty.a(floatformat.o):

In function `floatformat_from_double':
floatformat.c:(.text+0x2d8): undefined reference to `frexp'
floatformat.c:(.text+0x350): undefined reference to `ldexp'
/home/jnewell/work/t2-trunk/src.binutils.default.20070703.145344.14953.orion.eng.wgate.com/binutils-2.17.50.0.15/objdir/libiberty/pic/libiberty.a(floatformat.o):

In function `floatformat_to_double':
floatformat.c:(.text+0x530): undefined reference to `ldexp'
floatformat.c:(.text+0x5b8): undefined reference to `ldexp'
collect2: ld returned 1 exit status
make[4]: *** [as-new] Error 1
make[4]: Leaving directory
`/home/jnewell/work/t2-trunk/src.binutils.default.20070703.145344.14953.orion.eng.wgate.com/binutils-2.17.50.0.15/objdir/gas'

I believe the binutils/gas requires libm. I used the ./debug.sh t2 feature to
modify the binutils/gas/configure file to add need_libm=yes with fixfile and
fixfilediff > ../package/diffname, but the new patch doesn't seem to be
permanent when I rerun the ./script/Build-Target command again. Any hints on
this would be great.

Thanks,
Jim


On Saturday 23 June 2007 4:06:33 am René Rebe wrote:
> 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,


Attachment: kernel.conf
Description: Text document

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