[Buildroot] Buildroot Compile Errors for SH4

Bill Traynor btraynor at gmail.com
Tue Apr 10 19:43:32 UTC 2007


On 4/10/07, Bill Traynor <btraynor at gmail.com> wrote:
> Hi All,
>
> Trying to compile Buildroot for SH4 (from April 10th snapshot
> http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2)
> with the following config:
>
> 2.6.20 Kernel Headers
> uClibc - daily snapshot
> binutils 2.17.50.0.14
> GCC 4.2
>
> Received the following error:
>
> CC libc/sysdeps/linux/sh/syscall.os
> libc/sysdeps/linux/sh/syscall.c:11: error: conflicting types for 'syscall'
> ./include/unistd.h:1016: error: previous declaration of 'syscall' was here

So the offending code is:

syscall.c
long syscall(long sysnum,
                         long arg1, long arg2, long arg3,
                         long arg4, long arg5, long arg6)
{
register long __sc3 __asm__ ("r3") = sysnum;
register long __sc4 __asm__ ("r4") = (long) arg1;
register long __sc5 __asm__ ("r5") = (long) arg2;
register long __sc6 __asm__ ("r6") = (long) arg3;
register long __sc7 __asm__ ("r7") = (long) arg4;
register long __sc0 __asm__ ("r0") = (long) arg5;
register long __sc1 __asm__ ("r1") = (long) arg6;
__asm__ __volatile__ (
        "trapa %1"
        : "=z" (__sc0) \
        : "i" (__SH_SYSCALL_TRAP_BASE + 6),
          "0" (__sc0), "r" (__sc4), "r" (__sc5), "r" (__sc6), "r" (__sc7), \
          "r" (__sc3), "r" (__sc1) \
        : "memory" );
__syscall_return(long,__sc0);
}

and unistd.h:
extern long int syscall (long int __sysno, ...) __THROW;

The question now is how to fix this for SH.


>
> Thanks
> Bill
>



More information about the buildroot mailing list