[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r3526 - in glibc-package/branches/eglibc-2.10/debian: . patches patches/any



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 <aurel32@debian.org>  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  <aurelien@aurel32.net>
+
+	* 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


Reply to: