patches/glibc/2.3.2/glibc-2.3.2-sparc64-pwrite64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
     1 Fix for this error:
     2 
     3 /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':
     4 : undefined reference to `__GI___pwrite64'
     5 collect2: ld returned 1 exit status
     6 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
     7 
     8 extracted from GLIBC CVS by M.H.VanLeeuwen
     9 
    10 cf. 
    11 http://sources.redhat.com/ml/libc-alpha/2003-10/msg00038.html
    12 
    13 Originally thought we needed this hunk, too:
    14 http://sources.redhat.com/ml/libc-alpha/2003-10/msg00037.html
    15 but it seems the sysdep.h change is sufficient, and works better 
    16 when compiling against linux-2.4.
    17 
    18 --- glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h.orig	Sat Mar 13 02:01:51 2004
    19 +++ glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h	Sat Mar 13 02:02:20 2004
    20 @@ -29,6 +29,16 @@
    21  #undef SYS_ify
    22  #define SYS_ify(syscall_name) __NR_##syscall_name
    23  
    24 +/* This is a kludge to make syscalls.list find these under the names
    25 +   pread and pwrite, since some kernel headers define those names
    26 +   and some define the *64 names for the same system calls.  */
    27 +#if !defined __NR_pread && defined __NR_pread64
    28 +# define __NR_pread __NR_pread64
    29 +#endif
    30 +#if !defined __NR_pwrite && defined __NR_pwrite64
    31 +# define __NR_pwrite __NR_pwrite64
    32 +#endif
    33 +
    34  #ifdef __ASSEMBLER__
    35  
    36  #define LOADSYSCALL(x) mov __NR_##x, %g1