[armedslack] EABI
David F. Carlson
dave at chronolytics.com
Wed Jul 8 11:45:05 UTC 2009
What a mess. I am not sure the thumb interworking is worth the hassle. But the 5 or 6 different floating points all determined at compile time -- oi what a mess.
Nice debian article though. Thanks.
This is my gcc build spec:
Target: arm-none-linux-gnueabi
Configured with: ../configure -v --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-clocale=gnu --enable-mpfr --disable-libssp --disable-libmudflap --disable-libgomp --enable-checking=release --enable-nls --enable-threads=posix -with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --enable-__cxa_atexit --build=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --host=i686-pc-linux-gnu --enable-multilib --disable-libunwind-exceptions --with-arch=armv6 --with-tune=arm1176jzf-s --with-float=softfp --with-fpu=vfp --disable-sjlj-exceptions --enable-languages=c,c++
Thread model: posix
gcc version 4.2.2
It seems to work (for me :-).
I downloaded the existing 12.2 tree. I can't get it to build. Lots of scripts that know where you build ($HOME, etc). I have not built very much slackware from source and crossdev seems even trickier.
Whining aside, I would be glad to be build armv6 if you can get the build scripts to work EABI-style.
According to Stuart Winter:
>
> > The hassle with this (if I am correct) is that the EABI supports FPE and
> > VFP -- but at compile time only.
>
> I was checking the Debian gcc build script for gcc
> http://ftp.de.debian.org/debian/pool/main/g/gcc-4.3/gcc-4.3_4.3.3-13.diff.gz
> zcat gcc-4.3_4.3.3-13.diff.gz|patch -p1
> less debian/rules2
>
> And we'll find:
>
> ifneq (,$(findstring arm-vfp,$(DEB_TARGET_GNU_CPU)))
> CONFARGS += --with-fpu=vfp
> endif
>
> ifneq (,$(findstring arm-linux-gnueabi,$(DEB_TARGET_GNU_TYPE)))
> CONFARGS += --disable-sjlj-exceptions
> ifeq ($(distribution),Ubuntu)
> CONFARGS += --with-arch=armv5t --with-tune=cortex-a8
> #CONFARGS += --with-float=softfp --with-fpu=vfp
> #CONFARGS += --enable-multilib
> endif
> endif
>
> If you look at the actual build log:
> https://buildd.debian.org/fetch.cgi?&pkg=gcc-4.3&ver=4.3.3-13&arch=armel&stamp=1246174992&file=log
>
> we can see that Debian armel isn't build using vfp.
> Does this then mean that Debian's only armel port does not work on your
> armv6 cpu?
>
> This is how I'm currently configuring gcc-4.3.3 for -current EABI:
>
> case $ARCH in
> arm) export SLKCFLAGS="-O2 -march=armv4t"
> # "--with-arch" sets the gcc defaults
> export ARCH_CONFARGS="--disable-libssp --disable-sjlj-exceptions --enable-mpfr --with-arch=armv4t"
>
> TARGET=$ARCH-slackware-linux-gnueabi
>
> # build gcc
> mkdir gcc.build.lnx
> cd gcc.build.lnx
> BOOT_CFLAGS="$SLKCFLAGS" \
> STAGE1_CFLAGS="$SLKCFLAGS" \
> CFLAGS="$SLKCFLAGS" \
> CXXFLAGS="$SLKCFLAGS" \
> LIBCFLAGS="$SLKCFLAGS" \
> LIBCXXFLAGS="$SLKCFLAGS" \
> GCJFLAGS="$SLKCFLAGS" \
> ../gcc-$VERSION/configure $ARCH_CONFARGS \
> --prefix=/usr \
> --libdir=/usr/lib$LIBDIRSUFFIX \
> --enable-bootstrap \
> --enable-checking=release \
> --with-system-zlib \
> --disable-libunwind-exceptions \
> --enable-shared \
> --enable-languages=c,c++,fortran,java,objc \
> --enable-threads=posix \
> --enable-__cxa_atexit \
> --with-gnu-ld \
> --verbose \
> --host=$TARGET \
> --build=$TARGET \
> --target=$TARGET || failconfig
>
> > armv5el
> > armv5el-vfp
> > armv6el-vfp
> >
> > That is a lot of work though...
> >
> > Are there any other vfp people on the list that will be "lost" if the armedslack is fpe only?
>
> I was reading this and starting to understand it a little:
> http://wiki.debian.org/ArmEabiPort
>
> >From what I understand, this isn't a problem? It may be that the
> distribution isn't optimised as a whole, but particular packages can be if
> necessary?
>
> I certainly can do one port, but not maintain any more than 1 -- the old
> ABI port stops (apart from security fixes) at Slackware 12.2.
>
>
> --
> Stuart Winter
> www.armedslack.org
>
David F. Carlson Chronolytics, Inc. Rochester, NY
mailto:dave at chronolytics.com http://www.chronolytics.com
"The faster I go, the behinder I get." --Lewis Carroll
More information about the ARMedslack
mailing list