Author: aurel32
Date: 2009-05-23 12:50:29 +0000 (Sat, 23 May 2009)
New Revision: 3526

Added:
   
glibc-package/branches/eglibc-2.10/debian/patches/any/submitted-rtld-not-cancel.diff
Modified:
   glibc-package/branches/eglibc-2.10/debian/changelog
   glibc-package/branches/eglibc-2.10/debian/patches/series
Log:
  * add debian/patches/any/submitted-rtld-not-cancel.diff to fix build
    on architecture without inline syscalls.



Modified: glibc-package/branches/eglibc-2.10/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.10/debian/changelog 2009-05-23 11:50:34 UTC 
(rev 3525)
+++ glibc-package/branches/eglibc-2.10/debian/changelog 2009-05-23 12:50:29 UTC 
(rev 3526)
@@ -84,6 +84,8 @@
     architectures init.c in csu and nptl individually.
   * Add debian/patches/any/submitted-accept4-hidden.diff to fix build
     on non Linux architectures.
+  * add debian/patches/any/submitted-rtld-not-cancel.diff to fix build
+    on architecture without inline syscalls.
 
  -- Aurelien Jarno <[email protected]>  Sun, 10 May 2009 15:03:39 +0200
 

Added: 
glibc-package/branches/eglibc-2.10/debian/patches/any/submitted-rtld-not-cancel.diff
===================================================================
--- 
glibc-package/branches/eglibc-2.10/debian/patches/any/submitted-rtld-not-cancel.diff
                                (rev 0)
+++ 
glibc-package/branches/eglibc-2.10/debian/patches/any/submitted-rtld-not-cancel.diff
        2009-05-23 12:50:29 UTC (rev 3526)
@@ -0,0 +1,45 @@
+2009-05-23  Aurelien Jarno  <[email protected]>
+
+       * elf/dl-misc.c: include not-cancel.h.
+       (_dl_debug_vdprintf): Use writev_not_cancel_no_status instead
+       of __writev or INTERNAL_SYSCALL.
+
+--- a/elf/dl-misc.c
++++ b/elf/dl-misc.c
+@@ -33,6 +33,7 @@
+ #include <sysdep.h>
+ #include <stdio-common/_itoa.h>
+ #include <bits/libc-lock.h>
++#include <not-cancel.h>
+ 
+ /* Read the whole contents of FILE into new mmap'd space with given
+    protections.  *SIZEP gets the size of the file.  On error MAP_FAILED
+@@ -236,24 +237,21 @@ _dl_debug_vdprintf (int fd, int tag_p, const char *fmt, 
va_list arg)
+     }
+ 
+   /* Finally write the result.  */
+-#ifdef HAVE_INLINED_SYSCALLS
+-  INTERNAL_SYSCALL_DECL (err);
+-  INTERNAL_SYSCALL (writev, err, 3, fd, &iov, niov);
+-#elif RTLD_PRIVATE_ERRNO
++#if !defined(HAVE_INLINED_SYSCALLS) && RTLD_PRIVATE_ERRNO
+   /* We have to take this lock just to be sure we don't clobber the private
+      errno when it's being used by another thread that cares about it.
+      Yet we must be sure not to try calling the lock functions before
+      the thread library is fully initialized.  */
+   if (__builtin_expect (INTUSE (_dl_starting_up), 0))
+-    __writev (fd, iov, niov);
++    writev_not_cancel_no_status(fd, iov, niov);
+   else
+     {
+       __rtld_lock_lock_recursive (GL(dl_load_lock));
+-      __writev (fd, iov, niov);
++      writev_not_cancel_no_status(fd, iov, niov);
+       __rtld_lock_unlock_recursive (GL(dl_load_lock));
+     }
+ #else
+-  __writev (fd, iov, niov);
++  writev_not_cancel_no_status(fd, iov, niov);
+ #endif
+ }
+ 

Modified: glibc-package/branches/eglibc-2.10/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.10/debian/patches/series    2009-05-23 
11:50:34 UTC (rev 3525)
+++ glibc-package/branches/eglibc-2.10/debian/patches/series    2009-05-23 
12:50:29 UTC (rev 3526)
@@ -185,3 +185,4 @@
 any/cvs-nptl-init.diff
 any/local-revert-3270.diff
 any/submitted-accept4-hidden.diff
+any/submitted-rtld-not-cancel.diff


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to