[U-Boot] Compiling with arm-eabi and YAFFS2

Chris Isbell chris.isbell at cdsrail.com
Mon Oct 26 15:36:49 CET 2009


On Mon, 2009-10-26 at 07:41 -0500, Tom wrote:

> In my android work.  I use a separate compiler for the u-boot and 
> kernel,  the Code Sourcery arm lite edition.
> http://www.codesourcery.com/sgpp/editions.html#lite
> 
> Please try this.
> Tom
> 
> 
> Jello huang wrote:
> > if u use  eabi compiler to compile u-boot,there r some error.
> > why not use abi compiler for u-boot.it can compile successful
> > 
> > 2009/10/26 Chris Isbell <chris.isbell at cdsrail.com>
> > 
> >> On Sat, 2009-10-24 at 13:31 -0500, Tom wrote:
> >>> Chris Isbell wrote:
> >>>> U-Boot 2009.08 fails to compile with the arm-eabi compiler (V4.1.0 and
> >>>> V4.3.1) when YAFFS2 support is enabled (CONFIG_YAFFS2 defined as 1). It
> >>>> reports undefined symbols. (JFFS2 support compiles successfully.)
> >>>>
> >>>> Having investigated, it appears that a work around is to create dummy
> >>>> functions as follows:
> >>>>
> >>>> #ifdef CONFIG_YAFFS2
> >>>> /*
> >>>> * These stub functions are needed when using the arm-eabi compiler with
> >>>> YAFFS2
> >>>> * support. This is a complete hack and will probably need to be
> >> revised.
> >>>> * (Chris Isbell 23rd October 2009.)
> >>>> */
> >>>> void abort(void)
> >>>> {
> >>>>
> >>>> }
> >>>>
> >>>> void __exidx_start(void)
> >>>> {
> >>>>
> >>>> }
> >>>>
> >>>> void __exidx_end(void)
> >>>> {
> >>>>
> >>>> }
> >>>> #endif
> >>>>
> >>>> For convenience, I included these temporarily with my board-specific
> >>>> initialisation code - which is clearly not a good place.
> >>>>
> >>>> Has anyone else run into this problem and is there a more elegant
> >>>> solution?
> >>> Which board are you using ?
> >>> Can you supply the $(CROSS_COMPILE)-gcc -v ?
> >>>
> >>> Thanks
> >>> Tom
> >>>
> >>>> Thanks,
> >>>>
> >>>>
> >> Tom,
> >>
> >> Board is Ronetix PM9263.
> >>
> >> The gcc version is reported as:
> >>
> >> Using built-in specs.
> >> Target: arm-eabi
> >> Configured
> >> with: /home/jingyu/projects/gcc/android-toolchain/gcc-4.4.0/configure
> >> --prefix=/usr/local --target=arm-eabi --host=i686-pc-linux-gnu
> >> --build=i686-pc-linux-gnu --enable-languages=c,c++
> >> --with-gmp=/home/jingyu/projects/gcc/toolchain_build/obj/temp-install
> >> --with-mpfr=/home/jingyu/projects/gcc/toolchain_build/obj/temp-install
> >> --disable-libssp --enable-threads --disable-nls --disable-libmudflap
> >> --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions
> >> --disable-shared --with-float=soft --with-fpu=vfp --with-arch=armv5te
> >> --enable-target-optspace --with-abi=aapcs --with-gcc-version=4.4.0
> >> --with-binutils-version=2.19 --with-arch=armv5te
> >> --with-sysroot=/home/jingyu/projects/gcc/toolchain_build/cupcake_rel_root
> >> --with-gmp-version=4.2.4 --with-mpfr-version=2.4.1 --with-gdb-version=6.6
> >> --program-transform-name='s,^,arm-eabi-,'
> >> Thread model: single
> >> gcc version 4.4.0 (GCC)
> >>
> >> (I am using the tool chain from the Google Android V1.5 open source
> >> project - http://source.android.com/download.)
> >>
> >> Thanks,
> >>
> >>
> >> Chris.
> >>
> >>
> >>
> >> --
> >> Chris Isbell
> >> Systems Integration Manager, CDSRail
> >> Fareham, Hampshire, UK.
> >> _______________________________________________
> >> U-Boot mailing list
> >> U-Boot at lists.denx.de
> >> http://lists.denx.de/mailman/listinfo/u-boot
> >>
> > 
> > 
> > 
> 


Tom, Jello,

I am trying to keep to a single tool chain to compile everything; this
is less to maintain and less to go wrong. With the crude changes I have
made, U-Boot compiles and works with the standard Google Android tool
chain. It would be nice to find a more elegant solution, but I can live
with what I have. Hopefully my posting may also assist others who also
encounter this problem.

Thanks,


Chris.

-- 
Chris Isbell
Systems Integration Manager, CDSRail
Fareham, Hampshire, UK.


More information about the U-Boot mailing list