public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* Linux kernel compilation failed with error: FPA is unsupported in the AAPCS
@ 2010-12-08 13:04 Prasad Joshi
  2010-12-08 13:28 ` Mikael Pettersson
  2010-12-08 13:37 ` Jamie Iles
  0 siblings, 2 replies; 6+ messages in thread
From: Prasad Joshi @ 2010-12-08 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

Hello All,

I am trying to compile the linux 2.6.36 kernel for arm-linux. This is
the error I am getting during compilation.

clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$ make
ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- zImage modules
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
kernel/bounds.c:1:0: error: FPA is unsupported in the AAPCS
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2


These are the environment variables
export BUILD="-mabi=arm-linux"
export CLFS_ARCH="arm"
export CLFS_TARGET="arm-unknown-linux-uclibc"
export CLFS_HOST="x86_64-cross-linux-gnu"
export CLFS_ENDIAN="little"
export CC="arm-unknown-linux-uclibc-gcc"
export CXX="arm-unknown-linux-uclibc-g++"
export AR="arm-unknown-linux-uclibc-ar"
export AS="arm-unknown-linux-uclibc-as"
export LD="arm-unknown-linux-uclibc-ld"
export RANLIB="arm-unknown-linux-uclibc-ranlib"
export READELF="arm-unknown-linux-uclibc-readelf"
export STRIP="arm-unknown-linux-uclibc-strip"



clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$
arm-unknown-linux-uclibc-gcc -v
Using built-in specs.
COLLECT_GCC=arm-unknown-linux-uclibc-gcc
COLLECT_LTO_WRAPPER=/mnt/clfs/cross-tools/libexec/gcc/arm-unknown-linux-uclibc/4.5.1/lto-wrapper
Target: arm-unknown-linux-uclibc
Configured with: ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
--build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu
--target=arm-unknown-linux-uclibc --with-sysroot=/mnt/clfs
--disable-nls --disable-shared --with-mpfr=/mnt/clfs/cross-tools
--with-gmp=/mnt/clfs/cross-tools --without-headers --with-newlib
--disable-decimal-float --disable-libgomp --disable-libmudflap
--disable-libssp --disable-threads --enable-languages=c :
(reconfigured) ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
--build=x86_64-cross-linux-gnu --target=arm-unknown-linux-uclibc
--host=x86_64-cross-linux-gnu --with-sysroot=/mnt/clfs --disable-nls
--enable-shared --enable-languages=c --enable-c99 --enable-long-long
--with-mpfr=/mnt/clfs/cross-tools --with-gmp=/mnt/clfs/cross-tools
Thread model: posix
gcc version 4.5.1 (GCC)


Can someone please help?

I am not subscribed to the mailing list, please include me in CC when replying.

Thanks and Regards,
Prasad

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Linux kernel compilation failed with error: FPA is unsupported in the AAPCS
  2010-12-08 13:04 Linux kernel compilation failed with error: FPA is unsupported in the AAPCS Prasad Joshi
@ 2010-12-08 13:28 ` Mikael Pettersson
  2010-12-08 13:37 ` Jamie Iles
  1 sibling, 0 replies; 6+ messages in thread
From: Mikael Pettersson @ 2010-12-08 13:28 UTC (permalink / raw)
  To: linux-arm-kernel

Prasad Joshi writes:
 > Hello All,
 > 
 > I am trying to compile the linux 2.6.36 kernel for arm-linux. This is
 > the error I am getting during compilation.
 > 
 > clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$ make
 > ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- zImage modules
 >   CHK     include/linux/version.h
 >   CHK     include/generated/utsrelease.h
 > make[1]: `include/generated/mach-types.h' is up to date.
 >   CC      kernel/bounds.s
 > kernel/bounds.c:1:0: error: FPA is unsupported in the AAPCS
 > make[1]: *** [kernel/bounds.s] Error 1
 > make: *** [prepare0] Error 2
 > 
 > 
 > These are the environment variables
 > export BUILD="-mabi=arm-linux"
 > export CLFS_ARCH="arm"
 > export CLFS_TARGET="arm-unknown-linux-uclibc"
 > export CLFS_HOST="x86_64-cross-linux-gnu"
 > export CLFS_ENDIAN="little"
 > export CC="arm-unknown-linux-uclibc-gcc"
 > export CXX="arm-unknown-linux-uclibc-g++"
 > export AR="arm-unknown-linux-uclibc-ar"
 > export AS="arm-unknown-linux-uclibc-as"
 > export LD="arm-unknown-linux-uclibc-ld"
 > export RANLIB="arm-unknown-linux-uclibc-ranlib"
 > export READELF="arm-unknown-linux-uclibc-readelf"
 > export STRIP="arm-unknown-linux-uclibc-strip"
 > 
 > 
 > 
 > clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$
 > arm-unknown-linux-uclibc-gcc -v
 > Using built-in specs.
 > COLLECT_GCC=arm-unknown-linux-uclibc-gcc
 > COLLECT_LTO_WRAPPER=/mnt/clfs/cross-tools/libexec/gcc/arm-unknown-linux-uclibc/4.5.1/lto-wrapper
 > Target: arm-unknown-linux-uclibc
 > Configured with: ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
 > --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu
 > --target=arm-unknown-linux-uclibc --with-sysroot=/mnt/clfs
 > --disable-nls --disable-shared --with-mpfr=/mnt/clfs/cross-tools
 > --with-gmp=/mnt/clfs/cross-tools --without-headers --with-newlib
 > --disable-decimal-float --disable-libgomp --disable-libmudflap
 > --disable-libssp --disable-threads --enable-languages=c :
 > (reconfigured) ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
 > --build=x86_64-cross-linux-gnu --target=arm-unknown-linux-uclibc
 > --host=x86_64-cross-linux-gnu --with-sysroot=/mnt/clfs --disable-nls
 > --enable-shared --enable-languages=c --enable-c99 --enable-long-long
 > --with-mpfr=/mnt/clfs/cross-tools --with-gmp=/mnt/clfs/cross-tools
 > Thread model: posix
 > gcc version 4.5.1 (GCC)

Looks like you're trying to build an EABI kernel with an
OABI compiler.  That doesn't work.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Linux kernel compilation failed with error: FPA is unsupported in the AAPCS
  2010-12-08 13:04 Linux kernel compilation failed with error: FPA is unsupported in the AAPCS Prasad Joshi
  2010-12-08 13:28 ` Mikael Pettersson
@ 2010-12-08 13:37 ` Jamie Iles
  2010-12-08 14:03   ` Prasad Joshi
  1 sibling, 1 reply; 6+ messages in thread
From: Jamie Iles @ 2010-12-08 13:37 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 08, 2010 at 01:04:17PM +0000, Prasad Joshi wrote:
> Hello All,
> 
> I am trying to compile the linux 2.6.36 kernel for arm-linux. This is
> the error I am getting during compilation.
> 
> clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$ make
> ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- zImage modules
>   CHK     include/linux/version.h
>   CHK     include/generated/utsrelease.h
> make[1]: `include/generated/mach-types.h' is up to date.
>   CC      kernel/bounds.s
> kernel/bounds.c:1:0: error: FPA is unsupported in the AAPCS
> make[1]: *** [kernel/bounds.s] Error 1
> make: *** [prepare0] Error 2
> 
> These are the environment variables
> export BUILD="-mabi=arm-linux"
> export CLFS_ARCH="arm"
> export CLFS_TARGET="arm-unknown-linux-uclibc"
> export CLFS_HOST="x86_64-cross-linux-gnu"
> export CLFS_ENDIAN="little"
> export CC="arm-unknown-linux-uclibc-gcc"
> export CXX="arm-unknown-linux-uclibc-g++"
> export AR="arm-unknown-linux-uclibc-ar"
> export AS="arm-unknown-linux-uclibc-as"
> export LD="arm-unknown-linux-uclibc-ld"
> export RANLIB="arm-unknown-linux-uclibc-ranlib"
> export READELF="arm-unknown-linux-uclibc-readelf"
> export STRIP="arm-unknown-linux-uclibc-strip"
> 
> clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$
> arm-unknown-linux-uclibc-gcc -v
> Using built-in specs.
> COLLECT_GCC=arm-unknown-linux-uclibc-gcc
> COLLECT_LTO_WRAPPER=/mnt/clfs/cross-tools/libexec/gcc/arm-unknown-linux-uclibc/4.5.1/lto-wrapper
> Target: arm-unknown-linux-uclibc
> Configured with: ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
> --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu
> --target=arm-unknown-linux-uclibc --with-sysroot=/mnt/clfs
> --disable-nls --disable-shared --with-mpfr=/mnt/clfs/cross-tools
> --with-gmp=/mnt/clfs/cross-tools --without-headers --with-newlib
> --disable-decimal-float --disable-libgomp --disable-libmudflap
> --disable-libssp --disable-threads --enable-languages=c :
> (reconfigured) ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
> --build=x86_64-cross-linux-gnu --target=arm-unknown-linux-uclibc
> --host=x86_64-cross-linux-gnu --with-sysroot=/mnt/clfs --disable-nls
> --enable-shared --enable-languages=c --enable-c99 --enable-long-long
> --with-mpfr=/mnt/clfs/cross-tools --with-gmp=/mnt/clfs/cross-tools
> Thread model: posix
> gcc version 4.5.1 (GCC)
If your kernel is configured for EABI (CONFIG_AEABI=y) then you'll need a 
compiler built for EABI. You can find one at 
http://kernel.org/pub/tools/crosstool/files/bin/ that doesn't have a libc.

Jamie

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Linux kernel compilation failed with error: FPA is unsupported in the AAPCS
  2010-12-08 13:37 ` Jamie Iles
@ 2010-12-08 14:03   ` Prasad Joshi
  2010-12-08 14:21     ` Mikael Pettersson
  2010-12-08 14:28     ` Dave Martin
  0 siblings, 2 replies; 6+ messages in thread
From: Prasad Joshi @ 2010-12-08 14:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 8, 2010 at 1:37 PM, Jamie Iles <jamie@jamieiles.com> wrote:
> On Wed, Dec 08, 2010 at 01:04:17PM +0000, Prasad Joshi wrote:
>> Hello All,
>>
>> I am trying to compile the linux 2.6.36 kernel for arm-linux. This is
>> the error I am getting during compilation.
>>
>> clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$ make
>> ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- zImage modules
>> ? CHK ? ? include/linux/version.h
>> ? CHK ? ? include/generated/utsrelease.h
>> make[1]: `include/generated/mach-types.h' is up to date.
>> ? CC ? ? ?kernel/bounds.s
>> kernel/bounds.c:1:0: error: FPA is unsupported in the AAPCS
>> make[1]: *** [kernel/bounds.s] Error 1
>> make: *** [prepare0] Error 2
>>
>> These are the environment variables
>> export BUILD="-mabi=arm-linux"
>> export CLFS_ARCH="arm"
>> export CLFS_TARGET="arm-unknown-linux-uclibc"
>> export CLFS_HOST="x86_64-cross-linux-gnu"
>> export CLFS_ENDIAN="little"
>> export CC="arm-unknown-linux-uclibc-gcc"
>> export CXX="arm-unknown-linux-uclibc-g++"
>> export AR="arm-unknown-linux-uclibc-ar"
>> export AS="arm-unknown-linux-uclibc-as"
>> export LD="arm-unknown-linux-uclibc-ld"
>> export RANLIB="arm-unknown-linux-uclibc-ranlib"
>> export READELF="arm-unknown-linux-uclibc-readelf"
>> export STRIP="arm-unknown-linux-uclibc-strip"
>>
>> clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$
>> arm-unknown-linux-uclibc-gcc -v
>> Using built-in specs.
>> COLLECT_GCC=arm-unknown-linux-uclibc-gcc
>> COLLECT_LTO_WRAPPER=/mnt/clfs/cross-tools/libexec/gcc/arm-unknown-linux-uclibc/4.5.1/lto-wrapper
>> Target: arm-unknown-linux-uclibc
>> Configured with: ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
>> --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu
>> --target=arm-unknown-linux-uclibc --with-sysroot=/mnt/clfs
>> --disable-nls --disable-shared --with-mpfr=/mnt/clfs/cross-tools
>> --with-gmp=/mnt/clfs/cross-tools --without-headers --with-newlib
>> --disable-decimal-float --disable-libgomp --disable-libmudflap
>> --disable-libssp --disable-threads --enable-languages=c :
>> (reconfigured) ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
>> --build=x86_64-cross-linux-gnu --target=arm-unknown-linux-uclibc
>> --host=x86_64-cross-linux-gnu --with-sysroot=/mnt/clfs --disable-nls
>> --enable-shared --enable-languages=c --enable-c99 --enable-long-long
>> --with-mpfr=/mnt/clfs/cross-tools --with-gmp=/mnt/clfs/cross-tools
>> Thread model: posix
>> gcc version 4.5.1 (GCC)
> If your kernel is configured for EABI (CONFIG_AEABI=y) then you'll need a
> compiler built for EABI. You can find one at
> http://kernel.org/pub/tools/crosstool/files/bin/ that doesn't have a libc.
>

Thanks a lot Jamie and Mikael. I can not follow what is EABI or OABI.
But while configuring the linux kernel I enabled EABI. After disabling
it, make is running smoothly.

I have one more (silly) question on same, my intention behind
compiling the linux kernel is to boot RealView ARM under QEMU. Would
disabling EABI would make kernel unbootable with QEMU?

> Jamie
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Linux kernel compilation failed with error: FPA is unsupported in the AAPCS
  2010-12-08 14:03   ` Prasad Joshi
@ 2010-12-08 14:21     ` Mikael Pettersson
  2010-12-08 14:28     ` Dave Martin
  1 sibling, 0 replies; 6+ messages in thread
From: Mikael Pettersson @ 2010-12-08 14:21 UTC (permalink / raw)
  To: linux-arm-kernel

Prasad Joshi writes:
 > On Wed, Dec 8, 2010 at 1:37 PM, Jamie Iles <jamie@jamieiles.com> wrote:
 > > On Wed, Dec 08, 2010 at 01:04:17PM +0000, Prasad Joshi wrote:
 > >> Hello All,
 > >>
 > >> I am trying to compile the linux 2.6.36 kernel for arm-linux. This is
 > >> the error I am getting during compilation.
 > >>
 > >> clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$ make
 > >> ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- zImage modules
 > >> ? CHK ? ? include/linux/version.h
 > >> ? CHK ? ? include/generated/utsrelease.h
 > >> make[1]: `include/generated/mach-types.h' is up to date.
 > >> ? CC ? ? ?kernel/bounds.s
 > >> kernel/bounds.c:1:0: error: FPA is unsupported in the AAPCS
 > >> make[1]: *** [kernel/bounds.s] Error 1
 > >> make: *** [prepare0] Error 2
 > >>
 > >> These are the environment variables
 > >> export BUILD="-mabi=arm-linux"
 > >> export CLFS_ARCH="arm"
 > >> export CLFS_TARGET="arm-unknown-linux-uclibc"
 > >> export CLFS_HOST="x86_64-cross-linux-gnu"
 > >> export CLFS_ENDIAN="little"
 > >> export CC="arm-unknown-linux-uclibc-gcc"
 > >> export CXX="arm-unknown-linux-uclibc-g++"
 > >> export AR="arm-unknown-linux-uclibc-ar"
 > >> export AS="arm-unknown-linux-uclibc-as"
 > >> export LD="arm-unknown-linux-uclibc-ld"
 > >> export RANLIB="arm-unknown-linux-uclibc-ranlib"
 > >> export READELF="arm-unknown-linux-uclibc-readelf"
 > >> export STRIP="arm-unknown-linux-uclibc-strip"
 > >>
 > >> clfs at prasad-desktop:/mnt/clfs/sources/linux-2.6.36$
 > >> arm-unknown-linux-uclibc-gcc -v
 > >> Using built-in specs.
 > >> COLLECT_GCC=arm-unknown-linux-uclibc-gcc
 > >> COLLECT_LTO_WRAPPER=/mnt/clfs/cross-tools/libexec/gcc/arm-unknown-linux-uclibc/4.5.1/lto-wrapper
 > >> Target: arm-unknown-linux-uclibc
 > >> Configured with: ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
 > >> --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu
 > >> --target=arm-unknown-linux-uclibc --with-sysroot=/mnt/clfs
 > >> --disable-nls --disable-shared --with-mpfr=/mnt/clfs/cross-tools
 > >> --with-gmp=/mnt/clfs/cross-tools --without-headers --with-newlib
 > >> --disable-decimal-float --disable-libgomp --disable-libmudflap
 > >> --disable-libssp --disable-threads --enable-languages=c :
 > >> (reconfigured) ../gcc-4.5.1/configure --prefix=/mnt/clfs/cross-tools
 > >> --build=x86_64-cross-linux-gnu --target=arm-unknown-linux-uclibc
 > >> --host=x86_64-cross-linux-gnu --with-sysroot=/mnt/clfs --disable-nls
 > >> --enable-shared --enable-languages=c --enable-c99 --enable-long-long
 > >> --with-mpfr=/mnt/clfs/cross-tools --with-gmp=/mnt/clfs/cross-tools
 > >> Thread model: posix
 > >> gcc version 4.5.1 (GCC)
 > > If your kernel is configured for EABI (CONFIG_AEABI=y) then you'll need a
 > > compiler built for EABI. You can find one at
 > > http://kernel.org/pub/tools/crosstool/files/bin/ that doesn't have a libc.
 > >
 > 
 > Thanks a lot Jamie and Mikael. I can not follow what is EABI or OABI.
 > But while configuring the linux kernel I enabled EABI. After disabling
 > it, make is running smoothly.
 > 
 > I have one more (silly) question on same, my intention behind
 > compiling the linux kernel is to boot RealView ARM under QEMU. Would
 > disabling EABI would make kernel unbootable with QEMU?

The kernel, no, but user-space won't work if it's EABI while the kernel
is OABI.  I'm guessing your user-space is arm-unknown-linux-uclibc, which
presumably is OABI, so an OABI kernel should be selected.

However, OABI is becoming obsolete and unsupported.  New projects should
be EABI.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Linux kernel compilation failed with error: FPA is unsupported in the AAPCS
  2010-12-08 14:03   ` Prasad Joshi
  2010-12-08 14:21     ` Mikael Pettersson
@ 2010-12-08 14:28     ` Dave Martin
  1 sibling, 0 replies; 6+ messages in thread
From: Dave Martin @ 2010-12-08 14:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 8, 2010 at 2:03 PM, Prasad Joshi <prasadjoshi124@gmail.com> wrote:

[...]

>
> Thanks a lot Jamie and Mikael. I can not follow what is EABI or OABI.
> But while configuring the linux kernel I enabled EABI. After disabling
> it, make is running smoothly.

EABI is the new ABI intended to be used with newer ARM processors, and
is applicable primarily for ARMv5 and later (though with some
limitations it also works with ARMv4T -- the Debian community
currently use this configuration for their "armel" architecture for
example).

OABI ("Old ABI") is the informal name for pre-existing ABI prior to
EABI, used with ARMv4 processors and earlier.  OABI isn't really an
official name for the old ABI, it's just a useful to have a name which
distinguishes it from the new ABI.

With regard to that, EABI compilers all have "eabi" in the GNU
architecture name, e.g.

$  arm-linux-gnueabi-gcc -dumpmachine
arm-linux-gnueabi

I believe the old ABI may get deprecated and eventually dropped from
new releases of GCC/binutils in the not-too-distant future.  Unless
you're using a really old platform (unlikely) you should stick with
EABI.

>
> I have one more (silly) question on same, my intention behind
> compiling the linux kernel is to boot RealView ARM under QEMU. Would
> disabling EABI would make kernel unbootable with QEMU?

If you are using full system emulation (I guess you are, if you're
running a kernel under QEMU) then either ABI should work, in general.

However, building an EABI kernel does imply a different system call
interface.  Therefore, EABI userspace (as used by pretty much all
modern distros for ARM) needs an EABI kernel.  For backwards
compatibility, you can use OABI userspace with an EABI kernel if you
turn on the CONFIG_OABI_COMPAT kernel option.

Cheers
---Dave

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-12-08 14:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-08 13:04 Linux kernel compilation failed with error: FPA is unsupported in the AAPCS Prasad Joshi
2010-12-08 13:28 ` Mikael Pettersson
2010-12-08 13:37 ` Jamie Iles
2010-12-08 14:03   ` Prasad Joshi
2010-12-08 14:21     ` Mikael Pettersson
2010-12-08 14:28     ` Dave Martin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox