[armedslack] EABI

Stuart Winter m-lists at biscuit.org.uk
Tue Jul 7 10:30:54 UTC 2009


> 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




More information about the ARMedslack mailing list