patches/glibc/2.3.3/bad/glibc-2.3.3-alpha-pwrite64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jul 28 21:34:41 2007 +0000 (2007-07-28)
changeset 301 2be7232a73ac
permissions -rw-r--r--
Bump version to 0.2.2.
yann@1
     1
Attempted fix for this error:
yann@1
     2
yann@1
     3
yann@1
     4
crosstool-0.30/build/alpha-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.3/build-glibc/libc_pic.os(.text+0xc8bd0): In function `__posix_fallocate64_l64':
yann@1
     5
: undefined reference to `__GI___pwrite64'
yann@1
     6
collect2: ld returned 1 exit status
yann@1
     7
make[1]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/alpha-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.3/glibc-2.3.3'
yann@1
     8
make[1]: *** [/home/dank/queue/jobdir.fast2/crosstool-0.30/build/alpha-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.3/build-glibc/libc.so] Error 1
yann@1
     9
make: *** [all] Error 2
yann@1
    10
yann@1
    11
extracted from GLIBC CVS by Dan Kegel
yann@1
    12
wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.diff?r1=1.14&r2=1.15&cvsroot=glibc'
yann@1
    13
(to match context of...)
yann@1
    14
wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.diff?r1=1.16&r2=1.17&cvsroot=glibc'
yann@1
    15
and rediffed.
yann@1
    16
yann@1
    17
cf. 
yann@1
    18
http://sources.redhat.com/ml/libc-alpha/2003-10/msg00038.html
yann@1
    19
yann@1
    20
Originally thought we needed this hunk, too:
yann@1
    21
http://sources.redhat.com/ml/libc-alpha/2003-10/msg00037.html
yann@1
    22
but it seems the sysdep.h change is sufficient, and works better 
yann@1
    23
when compiling against linux-2.4.
yann@1
    24
yann@1
    25
And then rediffed again against glibc-2.3.3
yann@1
    26
yann@1
    27
--- glibc-2.3.3.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h	Fri Jun 20 09:24:36 2003
yann@1
    28
+++ glibc-2.3.3/sysdeps/unix/sysv/linux/alpha/sysdep.h	Wed Mar 23 23:59:58 2005
yann@1
    29
@@ -1,4 +1,4 @@
yann@1
    30
-/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003
yann@1
    31
+/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003, 2004
yann@1
    32
    Free Software Foundation, Inc.
yann@1
    33
    This file is part of the GNU C Library.
yann@1
    34
    Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
yann@1
    35
@@ -63,6 +63,16 @@
yann@1
    36
 /* Help old kernel headers where particular syscalls are not available.  */
yann@1
    37
 #ifndef __NR_semtimedop
yann@1
    38
 # define __NR_semtimedop	423
yann@1
    39
+#endif
yann@1
    40
+
yann@1
    41
+/* This is a kludge to make syscalls.list find these under the names
yann@1
    42
+   pread and pwrite, since some kernel headers define those names
yann@1
    43
+   and some define the *64 names for the same system calls.  */
yann@1
    44
+#if !defined __NR_pread && defined __NR_pread64
yann@1
    45
+# define __NR_pread __NR_pread64
yann@1
    46
+#endif
yann@1
    47
+#if !defined __NR_pwrite && defined __NR_pwrite64
yann@1
    48
+# define __NR_pwrite __NR_pwrite64
yann@1
    49
 #endif
yann@1
    50
 
yann@1
    51
 /*