[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Patches] SWI relocation error building EGLIBC for ARM Cortex-A8

On Sat, 21 Apr 2012, P. J. McDermott wrote:

> Hi,
> I'm trying to build a cross toolchain for the ARM Cortex-A8 core
> (ARMv7-A).  (See my configuration and build procedure [1] for GCC and
> EGLIBC.)  I've built and installed Linux's headers, Binutils, GMP, MPFR,
> MPC, and a statically-linked GCC.  When I try to build EGLIBC, I get the
> following error about software interrupt relocation:
>   ../sysdeps/unix/syscall.S: Assembler messages:
>   ../sysdeps/unix/syscall.S:28: Error: cannot represent SWI relocation i
>   n this object file format

That file should never be used for ARM at all.  With ARM EABI, up until 
yesterday the file sysdeps/unix/sysv/linux/arm/eabi/syscall.S should be 
used (the eabi/ directory no longer exists); with old-ABI (no longer 
supported), an automatically generated syscall from 
sysdeps/unix/sysv/linux/arm/syscalls.list would have been used.

Thus, EGLIBC has been misconfigured for ARM EABI; it was not configured 
with the correct options, did not have the correct source directory 
contents for those options (unmodified EGLIBC sources except for the ports 
directory being in the appropriate place for the given --enable-add-ons 
configure option) or otherwise configured the wrong set of sysdeps 
directories.  You need to resolve that issue before looking at any other 

There are no problems with asm/unistd.h here and no need for any change to 
that file or other headers from the Linux kernel.

Joseph S. Myers
Patches mailing list