yann@1: Fix for this error: yann@1: yann@1: /cross/crosstool-0.27/build/sparc64-unknown-linux-gnu/gcc-3.3.3-glibc-2.3.2/build-glibc/libc_pic.os(.text+0xc4d28): In function `posix_fallocate64': yann@1: : undefined reference to `__GI___pwrite64' yann@1: collect2: ld returned 1 exit status yann@1: make[1]: *** [/cross/crosstool-0.27/build/sparc64-unknown-linux-gnu/gcc-3.3.3-glibc-2.3.2/build-glibc/libc.so] Error 1 yann@1: yann@1: extracted from GLIBC CVS by M.H.VanLeeuwen yann@1: yann@1: cf. yann@1: http://sources.redhat.com/ml/libc-alpha/2003-10/msg00038.html yann@1: yann@1: Originally thought we needed this hunk, too: yann@1: http://sources.redhat.com/ml/libc-alpha/2003-10/msg00037.html yann@1: but it seems the sysdep.h change is sufficient, and works better yann@1: when compiling against linux-2.4. yann@1: yann@1: --- glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h.orig Sat Mar 13 02:01:51 2004 yann@1: +++ glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h Sat Mar 13 02:02:20 2004 yann@1: @@ -29,6 +29,16 @@ yann@1: #undef SYS_ify yann@1: #define SYS_ify(syscall_name) __NR_##syscall_name yann@1: yann@1: +/* This is a kludge to make syscalls.list find these under the names yann@1: + pread and pwrite, since some kernel headers define those names yann@1: + and some define the *64 names for the same system calls. */ yann@1: +#if !defined __NR_pread && defined __NR_pread64 yann@1: +# define __NR_pread __NR_pread64 yann@1: +#endif yann@1: +#if !defined __NR_pwrite && defined __NR_pwrite64 yann@1: +# define __NR_pwrite __NR_pwrite64 yann@1: +#endif yann@1: + yann@1: #ifdef __ASSEMBLER__ yann@1: yann@1: #define LOADSYSCALL(x) mov __NR_##x, %g1