r4755 - in glibc-package/trunk/debian: . patches/hurd-i386
Author: sthibault
Date: 2011-06-27 21:01:35 +0000 (Mon, 27 Jun 2011)
New Revision: 4755
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/hurd-i386/local-sendmsg-SCM_RIGHTS.diff
Log:
patches/hurd-i386/local-sendmsg-SCM_RIGHTS.diff: Do not call getauth(),
use the __USEPORT() cache macro instead. This should fix zsh FTBFS with
duplicate getproc() symbol.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2011-06-27 20:39:33 UTC (rev 4754)
+++ glibc-package/trunk/debian/changelog 2011-06-27 21:01:35 UTC (rev 4755)
@@ -3,6 +3,9 @@
[ Samuel Thibault ]
* Add patches/hurd-i386/submitted-ldsodefs.h.diff to fix loading binaries
with GNU/Hurd-specific extensions, disabled for now.
+ * patches/hurd-i386/local-sendmsg-SCM_RIGHTS.diff: Do not call getauth(),
+ use the __USEPORT() cache macro instead. This should fix zsh FTBFS with
+ duplicate getproc() symbol.
[ Aurelien Jarno ]
* Add patches/any/cvs-addmntent.diff to correctly report errors status in
Modified: glibc-package/trunk/debian/patches/hurd-i386/local-sendmsg-SCM_RIGHTS.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/local-sendmsg-SCM_RIGHTS.diff 2011-06-27 20:39:33 UTC (rev 4754)
+++ glibc-package/trunk/debian/patches/hurd-i386/local-sendmsg-SCM_RIGHTS.diff 2011-06-27 21:01:35 UTC (rev 4755)
@@ -16,7 +16,7 @@
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
-@@ -33,13 +33,35 @@
+@@ -33,13 +33,33 @@
addr_port_t aport;
char *data = NULL;
mach_msg_type_number_t len = 0;
@@ -32,8 +32,6 @@
+ int nfds, *fds;
+ int i, j;
+
-+ auth_t auth;
-+
+ error_t reauthenticate (mach_port_t port, mach_port_t *result)
+ {
+ error_t err;
@@ -44,9 +42,9 @@
+ while (err == EINTR);
+ if (!err)
+ do
-+ err = __auth_user_authenticate (auth,
++ err = __USEPORT (AUTH, __auth_user_authenticate (port,
+ ref, MACH_MSG_TYPE_MAKE_SEND,
-+ result);
++ result));
+ while (err == EINTR);
+ __mach_port_destroy (__mach_task_self (), ref);
+ return err;
@@ -54,14 +52,13 @@
/* Find the total number of bytes to be read. */
amount = 0;
-@@ -136,6 +158,86 @@
+@@ -136,6 +156,85 @@
message->msg_controllen = clen;
memcpy (message->msg_control, cdata, message->msg_controllen);
+ /* SCM_RIGHTS ports. */
+ if (nports > 0)
+ {
-+ auth = getauth ();
+ newports = __alloca (nports * sizeof (mach_port_t));
+
+ /* Reauthenticate all ports here. */
Reply to: