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: