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 A previous message [2] on this list suggested that the issue is that Linux has deprecated and removed a number of system calls, including "__NR_syscall", for the ARM EABI in arch/arm/include/asm/unistd.h. I checked this by following the macro definitions in EGLIBC 2.15 from libc/sysdeps/unix/syscall.S:28: - to "SYSCALL" at libc/sysdeps/unix/sysdep.h:30, - to "PSEUDO" at ports/sysdeps/unix/sysv/linux/arm/sysdep.h:78, - to "DO_CALL" at ports/sysdeps/unix/sysv/linux/arm/sysdep.h:195, - to "SYS_ify" at ports/sysdeps/unix/sysv/linux/arm/sysdep.h:44, - to "__NR_syscall" as undefined in arch/arm/include/asm/unistd.h. I tried removing the system call "#undef" lines in asm/unistd.h and building EGLIBC, but then I got the following warnings and errors about versioned symbols like "getrlimit@GLIBC_2.0": <build>/misc/stub-syscalls.c:2:18: warning: ISO C99 requires whitespac e after the macro name [enabled by default] <build>/misc/stub-syscalls.c:8:17: warning: extra tokens at end of #un def directive [enabled by default] <build>/misc/stub-syscalls.c:18:1: error: stray '@' in program <build>/misc/stub-syscalls.c:18:1: error: expected '=', ',', ';', 'asm ' or '__attribute__' before 'GLIBC_2' <build>/misc/stub-syscalls.c:19:1: error: stray '@' in program <build>/misc/stub-syscalls.c:19:1: error: expected '=', ',', ';', 'asm ' or '__attribute__' before 'GLIBC_2' <build>/misc/stub-syscalls.c:20:1: error: stray '@' in program <build>/misc/stub-syscalls.c:20:1: error: expected '=', ',', ';', 'asm ' or '__attribute__' before 'GLIBC_2' ("<build>" is the path to the directory in which I tried to build EGLIBC.) Can anyone help me get EGLIBC 2.15 built for the ARM Cortex-A8 using GCC 4.6? I suspect this might have something to do with my target-specific GCC options [3]. Toolchain components: Binutils 2.22 GMP 5.0.2 MPFR 3.1.0 MPC 0.9 GCC 4.6.2 EGLIBC 2.15 Linux-libre 3.2.7 Build system: Debian GNU/Linux wheezy Binutils 2.22 GCC 4.6.3 Linux 3.2.0 1: http://git.os.pehjota.net/notes/free-embedded-os.git/tree/temporary-bootstrap-builder-setup-cortexa8.txt?id=8b0ef4a9#n245 2: http://gcc.gnu.org/ml/gcc-help/2011-01/msg00062.html 3: http://git.os.pehjota.net/notes/free-embedded-os.git/tree/temporary-bootstrap-builder-setup-cortexa8.txt?id=8b0ef4a9#n110 Thanks, -- P. J. McDermott http://www.pehjota.net/ (_/@\_) ,--. mailto:pjm@xxxxxxx http://identi.ca/pehjota o < o o > / oo \ o \ `-/ | <> |. o o o "~v /_\--/_/