r6609 - in glibc-package/branches/glibc-2.22/debian: . debhelper.in rules.d
Author: adconrad Date: 2015-09-21 00:55:51 + (Mon, 21 Sep 2015) New Revision: 6609 Modified: glibc-package/branches/glibc-2.22/debian/changelog glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postinst glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postrm glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.postinst glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.preinst glibc-package/branches/glibc-2.22/debian/rules.d/debhelper.mk Log: Merge from 2.21 branch Modified: glibc-package/branches/glibc-2.22/debian/changelog === --- glibc-package/branches/glibc-2.22/debian/changelog 2015-09-20 21:17:48 UTC (rev 6608) +++ glibc-package/branches/glibc-2.22/debian/changelog 2015-09-21 00:55:51 UTC (rev 6609) @@ -118,7 +118,7 @@ non-compliance is intentional. These tests were previously marked as failing under the run-conformtest.out, but they have been lost during the conversion to the new format. - * testsuite-checking/compare.sh: reenable failures in case of regressions. + * testsuite-checking/compare.sh: re-enable failures in case of regressions. * rules.d/build.mk: don't require flavours to be tested before being installed. They are still tested when calling the build-arch or binary-arch targets, but not anymore when calling the build-indep or Modified: glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postinst === --- glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postinst 2015-09-20 21:17:48 UTC (rev 6608) +++ glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postinst 2015-09-21 00:55:51 UTC (rev 6609) @@ -4,7 +4,8 @@ if [ "$1" = "configure" ] then -# /etc/ld.so.nohwcap code: NOHWCAP +# /etc/ld.so.nohwcap code: +__NOHWCAP__ fi #DEBHELPER# Modified: glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postrm === --- glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postrm 2015-09-20 21:17:48 UTC (rev 6608) +++ glibc-package/branches/glibc-2.22/debian/debhelper.in/libc-otherbuild.postrm 2015-09-21 00:55:51 UTC (rev 6609) @@ -3,7 +3,8 @@ set -e if [ "$1" = "remove" ]; then -# /etc/ld.so.nohwcap code: NOHWCAP +# /etc/ld.so.nohwcap code +__NOHWCAP__ fi #DEBHELPER# Modified: glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.postinst === --- glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.postinst 2015-09-20 21:17:48 UTC (rev 6608) +++ glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.postinst 2015-09-21 00:55:51 UTC (rev 6609) @@ -73,7 +73,8 @@ # We don't use a registry anymore, remove the old file rm -f /etc/ld.so.hwcappkgs -# /etc/ld.so.nohwcap code: NOHWCAP +# /etc/ld.so.nohwcap code: +__NOHWCAP__ # Load debconf module if available if [ -f /usr/share/debconf/confmodule ] ; then @@ -93,7 +94,8 @@ check="$check sasl2-bin slapd smail sendmail snmpd ssh" check="$check spamassassin vsftpd wu-ftpd wu-ftpd-academ wwwoffle" check="$check webmin dropbear gdm" - # NSS services check: NSS_CHECK + # NSS services check: + __NSS_CHECK__ if [ -n "$services" ]; then if [ -f /usr/share/debconf/confmodule ] ; then Modified: glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.preinst === --- glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.preinst 2015-09-20 21:17:48 UTC (rev 6608) +++ glibc-package/branches/glibc-2.22/debian/debhelper.in/libc.preinst 2015-09-21 00:55:51 UTC (rev 6609) @@ -171,7 +171,8 @@ fi check="kdm postgresql xdm" - # NSS services check: NSS_CHECK + # NSS services check: + __NSS_CHECK__ if [ -n "$services" ]; then if [ -f /usr/share/debconf/confmodule ] ; then db_version 2.0 Modified: glibc-package/branches/glibc-2.22/debian/rules.d/debhelper.mk === --- glibc-package/branches/glibc-2.22/debian/rules.d/debhelper.mk 2015-09-20 21:17:48 UTC (rev 6608) +++ glibc-package/branches/glibc-2.22/debian/rules.d/debhelper.mk 2015-09-21 00:55:51 UTC (rev 6609) @@ -129,14 +129,15 @@ $(stamp)debhelper-common: for x in `find debian/debhelper.in -maxdepth 1 -type f`; do \ y=debian/`basename $$x`; \ - sed -e "/NSS_CHECK/r debian/script.in/nsscheck.sh" \ - -e "/NOHWCAP/r debian/script.in/nohwcap.sh" \ - -e "/
r6607 - glibc-package/branches/glibc-2.21/debian/patches/hurd-i386
Author: sthibault Date: 2015-09-20 21:17:28 + (Sun, 20 Sep 2015) New Revision: 6607 Modified: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/submitted-exec_filename.diff Log: fix more fuzz Modified: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff === --- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff 2015-09-20 21:17:04 UTC (rev 6606) +++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff 2015-09-20 21:17:28 UTC (rev 6607) @@ -21,10 +21,8 @@ sysdeps/mach/hurd/dl-sysdep.c | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) -Index: glibc-2.19/mach/mach/mach_traps.h -=== glibc-2.19.orig/mach/mach/mach_traps.h -+++ glibc-2.19/mach/mach/mach_traps.h +--- a/mach/mach/mach_traps.h b/mach/mach/mach_traps.h @@ -41,9 +41,10 @@ extern mach_port_t __mach_thread_self (v extern mach_port_t (mach_task_self) (void); extern mach_port_t (__mach_task_self) (void); @@ -39,10 +37,8 @@ /* Attempt to context switch the current thread off the processor. Returns true if there are other threads that can be run and false if not. */ -Index: glibc-2.19/mach/mach_init.c -=== glibc-2.19.orig/mach/mach_init.c -+++ glibc-2.19/mach/mach_init.c +--- a/mach/mach_init.c b/mach/mach_init.c @@ -20,6 +20,7 @@ #include @@ -58,11 +54,9 @@ + __mach_host_self_ = (__mach_host_self) (); __mig_init (0); - #if HAVE_HOST_PAGE_SIZE -Index: glibc-2.19/mach/mach_init.h -=== glibc-2.19.orig/mach/mach_init.h -+++ glibc-2.19/mach/mach_init.h + #ifdef HAVE_HOST_PAGE_SIZE +--- a/mach/mach_init.h b/mach/mach_init.h @@ -31,6 +31,11 @@ extern mach_port_t __mach_task_self_; #define __mach_task_self()(__mach_task_self_ + 0) /* Not an lvalue. */ #define mach_task_self() (__mach_task_self ()) @@ -75,10 +69,8 @@ /* Kernel page size. */ extern vm_size_t __vm_page_size; extern vm_size_t vm_page_size; -Index: glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c -=== glibc-2.19.orig/sysdeps/mach/hurd/dl-sysdep.c -+++ glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +--- a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c @@ -278,6 +278,7 @@ _dl_sysdep_start_cleanup (void) __mach_init. We are done with them now, and the user will reacquire them for himself when he wants them. */ Modified: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/submitted-exec_filename.diff === --- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/submitted-exec_filename.diff 2015-09-20 21:17:04 UTC (rev 6606) +++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/submitted-exec_filename.diff 2015-09-20 21:17:28 UTC (rev 6607) @@ -33,10 +33,8 @@ sysdeps/mach/hurd/spawni.c | 59 ++-- 8 files changed, 102 insertions(+), 43 deletions(-) -Index: glibc-2.21/hurd/Versions -=== glibc-2.21.orig/hurd/Versions -+++ glibc-2.21/hurd/Versions +--- a/hurd/Versions b/hurd/Versions @@ -140,6 +140,14 @@ libc { _hurd_sigstate_unlock; _hurd_sigstate_delete; @@ -52,12 +50,10 @@ HURD_CTHREADS_0.3 { # weak refs to libthreads functions that libc calls iff libthreads in use -Index: glibc-2.21/hurd/Makefile -=== glibc-2.21.orig/hurd/Makefile -+++ glibc-2.21/hurd/Makefile +--- a/hurd/Makefile b/hurd/Makefile @@ -32,8 +32,8 @@ user-interfaces := $(addprefix hurd/,\ - auth startup \ + auth auth_request auth_reply startup \ process process_request \ msg msg_reply msg_request \ - exec exec_startup crash interrupt \ @@ -67,10 +63,8 @@ login password pfinet \ ) server-interfaces := hurd/msg faultexc -Index: glibc-2.21/hurd/hurd.h -=== glibc-2.21.orig/hurd/hurd.h -+++ glibc-2.21/hurd/hurd.h +--- a/hurd/hurd.h b/hurd/hurd.h @@ -245,12 +245,20 @@ extern FILE *fopenport (io_t port, const extern FILE *__fopenport (io_t port, const char *mode); @@ -94,10 +88,8 @@ /* Inform the pro
r6608 - glibc-package/branches/glibc-2.22/debian/patches/hurd-i386
Author: sthibault Date: 2015-09-20 21:17:48 + (Sun, 20 Sep 2015) New Revision: 6608 Modified: glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/submitted-exec_filename.diff Log: fix more fuzz Modified: glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff === --- glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff 2015-09-20 21:17:28 UTC (rev 6607) +++ glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff 2015-09-20 21:17:48 UTC (rev 6608) @@ -21,10 +21,8 @@ sysdeps/mach/hurd/dl-sysdep.c | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) -Index: glibc-2.19/mach/mach/mach_traps.h -=== glibc-2.19.orig/mach/mach/mach_traps.h -+++ glibc-2.19/mach/mach/mach_traps.h +--- a/mach/mach/mach_traps.h b/mach/mach/mach_traps.h @@ -41,9 +41,10 @@ extern mach_port_t __mach_thread_self (v extern mach_port_t (mach_task_self) (void); extern mach_port_t (__mach_task_self) (void); @@ -39,10 +37,8 @@ /* Attempt to context switch the current thread off the processor. Returns true if there are other threads that can be run and false if not. */ -Index: glibc-2.19/mach/mach_init.c -=== glibc-2.19.orig/mach/mach_init.c -+++ glibc-2.19/mach/mach_init.c +--- a/mach/mach_init.c b/mach/mach_init.c @@ -20,6 +20,7 @@ #include @@ -58,11 +54,9 @@ + __mach_host_self_ = (__mach_host_self) (); __mig_init (0); - #if HAVE_HOST_PAGE_SIZE -Index: glibc-2.19/mach/mach_init.h -=== glibc-2.19.orig/mach/mach_init.h -+++ glibc-2.19/mach/mach_init.h + #ifdef HAVE_HOST_PAGE_SIZE +--- a/mach/mach_init.h b/mach/mach_init.h @@ -31,6 +31,11 @@ extern mach_port_t __mach_task_self_; #define __mach_task_self()(__mach_task_self_ + 0) /* Not an lvalue. */ #define mach_task_self() (__mach_task_self ()) @@ -75,10 +69,8 @@ /* Kernel page size. */ extern vm_size_t __vm_page_size; extern vm_size_t vm_page_size; -Index: glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c -=== glibc-2.19.orig/sysdeps/mach/hurd/dl-sysdep.c -+++ glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +--- a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c @@ -278,6 +278,7 @@ _dl_sysdep_start_cleanup (void) __mach_init. We are done with them now, and the user will reacquire them for himself when he wants them. */ Modified: glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/submitted-exec_filename.diff === --- glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/submitted-exec_filename.diff 2015-09-20 21:17:28 UTC (rev 6607) +++ glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/submitted-exec_filename.diff 2015-09-20 21:17:48 UTC (rev 6608) @@ -33,10 +33,8 @@ sysdeps/mach/hurd/spawni.c | 59 ++-- 8 files changed, 102 insertions(+), 43 deletions(-) -Index: glibc-2.21/hurd/Versions -=== glibc-2.21.orig/hurd/Versions -+++ glibc-2.21/hurd/Versions +--- a/hurd/Versions b/hurd/Versions @@ -140,6 +140,14 @@ libc { _hurd_sigstate_unlock; _hurd_sigstate_delete; @@ -52,12 +50,10 @@ HURD_CTHREADS_0.3 { # weak refs to libthreads functions that libc calls iff libthreads in use -Index: glibc-2.21/hurd/Makefile -=== glibc-2.21.orig/hurd/Makefile -+++ glibc-2.21/hurd/Makefile +--- a/hurd/Makefile b/hurd/Makefile @@ -32,8 +32,8 @@ user-interfaces := $(addprefix hurd/,\ - auth startup \ + auth auth_request auth_reply startup \ process process_request \ msg msg_reply msg_request \ - exec exec_startup crash interrupt \ @@ -67,10 +63,8 @@ login password pfinet \ ) server-interfaces := hurd/msg faultexc -Index: glibc-2.21/hurd/hurd.h -=== glibc-2.21.orig/hurd/hurd.h -+++ glibc-2.21/hurd/hurd.h +--- a/hurd/hurd.h b/hurd/hurd.h @@ -245,12 +245,20 @@ extern FILE *fopenport (io_t port, const extern FILE *__fopenport (io_t port, const char *mode); @@ -94,10 +88,8 @@ /* Inform the pro
r6606 - glibc-package/trunk/debian/patches/hurd-i386
Author: sthibault Date: 2015-09-20 21:17:04 + (Sun, 20 Sep 2015) New Revision: 6606 Modified: glibc-package/trunk/debian/patches/hurd-i386/submitted-exec_filename.diff Log: fix more fuzz Modified: glibc-package/trunk/debian/patches/hurd-i386/submitted-exec_filename.diff === --- glibc-package/trunk/debian/patches/hurd-i386/submitted-exec_filename.diff 2015-09-20 21:11:03 UTC (rev 6605) +++ glibc-package/trunk/debian/patches/hurd-i386/submitted-exec_filename.diff 2015-09-20 21:17:04 UTC (rev 6606) @@ -55,7 +55,7 @@ --- a/hurd/Makefile +++ b/hurd/Makefile @@ -36,8 +36,8 @@ user-interfaces := $(addprefix hurd/,\ - auth startup \ + auth auth_request auth_reply startup \ process process_request \ msg msg_reply msg_request \ - exec exec_startup crash interrupt \ @@ -123,7 +123,7 @@ error_t err; char *args, *env; size_t argslen, envlen; -@@ -217,7 +235,7 @@ _hurd_exec (task_t task, file_t file, +@@ -216,7 +234,7 @@ _hurd_exec (task_t task, file_t file, /* We have euid != svuid or egid != svgid. POSIX.1 says that exec sets svuid = euid and svgid = egid. So we must get a new auth port and reauthenticate everything with it. We'll pass the new @@ -132,7 +132,7 @@ auth_t newauth; -@@ -361,13 +379,27 @@ _hurd_exec (task_t task, file_t file, +@@ -360,13 +378,27 @@ _hurd_exec (task_t task, file_t file, if (__sigismember (&_hurdsig_traced, SIGKILL)) flags |= EXEC_SIGTRAP; #endif
r6605 - glibc-package/trunk/debian/patches/hurd-i386
Author: sthibault Date: 2015-09-20 21:11:03 + (Sun, 20 Sep 2015) New Revision: 6605 Modified: glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff Log: Fix fuzzy Modified: glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff === --- glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff 2015-09-20 21:09:56 UTC (rev 6604) +++ glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff 2015-09-20 21:11:03 UTC (rev 6605) @@ -20,10 +20,8 @@ sysdeps/mach/hurd/sendmsg.c | 34 +++ 2 files changed, 170 insertions(+) -Index: glibc-2.19/sysdeps/mach/hurd/recvmsg.c -=== glibc-2.19.orig/sysdeps/mach/hurd/recvmsg.c -+++ glibc-2.19/sysdeps/mach/hurd/recvmsg.c +--- a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c @@ -23,6 +23,123 @@ #include #include @@ -181,11 +179,9 @@ } } -Index: glibc-2.19/sysdeps/mach/hurd/sendmsg.c -=== glibc-2.19.orig/sysdeps/mach/hurd/sendmsg.c -+++ glibc-2.19/sysdeps/mach/hurd/sendmsg.c -@@ -112,6 +112,8 @@ __libc_sendmsg (int fd, const struct msg +--- a/sysdeps/mach/hurd/sendmsg.c b/sysdeps/mach/hurd/sendmsg.c +@@ -111,6 +111,8 @@ __libc_sendmsg (int fd, const struct msg if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) nports += (cmsg->cmsg_len - CMSG_ALIGN (sizeof (struct cmsghdr))) / sizeof (int); @@ -194,7 +190,7 @@ if (nports) ports = __alloca (nports * sizeof (mach_port_t)); -@@ -146,6 +148,38 @@ __libc_sendmsg (int fd, const struct msg +@@ -145,6 +147,38 @@ __libc_sendmsg (int fd, const struct msg goto out; } } @@ -233,10 +229,8 @@ } if (addr) -Index: glibc-2.19/hurd/Makefile -=== glibc-2.19.orig/hurd/Makefile -+++ glibc-2.19/hurd/Makefile +--- a/hurd/Makefile b/hurd/Makefile @@ -33,7 +33,7 @@ inline-headers = hurd.h $(addprefix hurd # The RPC interfaces go in a separate library. interface-library := libhurduser @@ -245,4 +239,4 @@ + auth auth_request auth_reply startup \ process process_request \ msg msg_reply msg_request \ - exec exec_experimental exec_startup crash interrupt \ + exec exec_startup crash interrupt \ Modified: glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff === --- glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff 2015-09-20 21:09:56 UTC (rev 6604) +++ glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff 2015-09-20 21:11:03 UTC (rev 6605) @@ -8,10 +8,8 @@ sysdeps/mach/hurd/sendmsg.c | 73 +-- 2 files changed, 152 insertions(+), 13 deletions(-) -Index: glibc-2.19/sysdeps/mach/hurd/recvmsg.c -=== glibc-2.19.orig/sysdeps/mach/hurd/recvmsg.c -+++ glibc-2.19/sysdeps/mach/hurd/recvmsg.c +--- a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c @@ -32,13 +32,33 @@ __libc_recvmsg (int fd, struct msghdr *m addr_port_t aport; char *data = NULL; @@ -126,11 +124,9 @@ } weak_alias (__libc_recvmsg, recvmsg) -Index: glibc-2.19/sysdeps/mach/hurd/sendmsg.c -=== glibc-2.19.orig/sysdeps/mach/hurd/sendmsg.c -+++ glibc-2.19/sysdeps/mach/hurd/sendmsg.c -@@ -32,6 +32,10 @@ ssize_t +--- a/sysdeps/mach/hurd/sendmsg.c b/sysdeps/mach/hurd/sendmsg.c +@@ -31,6 +31,10 @@ ssize_t __libc_sendmsg (int fd, const struct msghdr *message, int flags) { error_t err = 0; @@ -141,7 +137,7 @@ struct sockaddr_un *addr = message->msg_name; socklen_t addr_len = message->msg_namelen; addr_port_t aport = MACH_PORT_NULL; -@@ -44,6 +48,7 @@ __libc_sendmsg (int fd, const struct msg +@@ -43,6 +47,7 @@ __libc_sendmsg (int fd, const struct msg mach_msg_type_number_t len; mach_msg_type_number_t amount; int dealloc = 0; @@ -149,7 +145,7 @@ int i; /* Find the total number of bytes to be written. */ -@@ -101,6 +106,48 @@ __libc_sendmsg (int fd, const struct msg +@@ -100,6 +105,48 @@ __libc_sendmsg (int fd, const struct msg } } @@ -198,8 +194,8 @@ if (addr) { if (addr->sun_family == AF_LOCAL) -@@ -111,9 +158,8 @@ __libc_sendmsg (int fd, const struct msg - file_t file = __file_name_lookup (name, 0, 0); +@@ -109,9 +15
r6603 - in glibc-package/branches/glibc-2.22/debian: . patches patches/hurd-i386
Author: sthibault Date: 2015-09-20 21:09:51 + (Sun, 20 Sep 2015) New Revision: 6603 Added: glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff Modified: glibc-package/branches/glibc-2.22/debian/changelog glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff glibc-package/branches/glibc-2.22/debian/patches/series Log: port r6602 from trunk: * hurd-i386/tg-sendmsg-SCM_RIGHTS.diff: Update from upstream. * hurd-i386/tg-sendmsg-SCM_CREDS.diff: New patch, adds support for passing credentials over sockets (SCM_CREDS). Modified: glibc-package/branches/glibc-2.22/debian/changelog === --- glibc-package/branches/glibc-2.22/debian/changelog 2015-09-20 21:05:05 UTC (rev 6602) +++ glibc-package/branches/glibc-2.22/debian/changelog 2015-09-20 21:09:51 UTC (rev 6603) @@ -382,6 +382,9 @@ build with newer mig. * patches/hurd-i386/cvs-cache-mach_host_self.diff: New patch to avoid port count issue on the host port. + * patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff: Update from upstream. + * patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff: New patch, adds support for +passing credentials over sockets (SCM_CREDS). -- Samuel Thibault Sun, 13 Sep 2015 19:50:50 +0200 Copied: glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff (from rev 6602, glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff) === --- glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff (rev 0) +++ glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff 2015-09-20 21:09:51 UTC (rev 6603) @@ -0,0 +1,242 @@ +Subject: [PATCH] hurd: SCM_CREDS support + +Svante Signell +Samuel Thibault + + * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): On SCM_CREDS + control messages, record uids, pass a rendez-vous port in the + control message, and call __auth_user_authenticate_request to + make auth send credentials on that port. Do not wait for a + reply. + + * sysdeps/mach/hurd/recvmsg.c (contains_uid, contains_gid, + check_auth): New functions. + (__libc_recvmsg): On SCM_CREDS control messages, call check_auth + to check the passed credentials thanks to the answer from the + auth server. + +--- + sysdeps/mach/hurd/recvmsg.c | 136 + sysdeps/mach/hurd/sendmsg.c | 34 +++ + 2 files changed, 170 insertions(+) + +--- a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c +@@ -23,6 +23,123 @@ + #include + #include + ++static unsigned ++contains_uid (unsigned int n, __uid_t uids[n], __uid_t uid) ++{ ++ unsigned i; ++ ++ for (i = 0; i < n; i++) ++if (uids[i] == uid) ++ return 1; ++ return 0; ++} ++ ++static unsigned ++contains_gid (unsigned int n, __gid_t gids[n], __gid_t gid) ++{ ++ unsigned i; ++ ++ for (i = 0; i < n; i++) ++if (gids[i] == gid) ++ return 1; ++ return 0; ++} ++ ++/* Check the passed credentials. */ ++static error_t ++check_auth (mach_port_t rendezvous, ++ __pid_t pid, ++ __uid_t uid, __uid_t euid, ++ __gid_t gid, ++ int ngroups, __gid_t groups[ngroups]) ++{ ++ error_t err; ++ size_t neuids = CMGROUP_MAX, nauids = CMGROUP_MAX; ++ size_t negids = CMGROUP_MAX, nagids = CMGROUP_MAX; ++ __uid_t euids_buf[neuids], auids_buf[nauids]; ++ __gid_t egids_buf[negids], agids_buf[nagids]; ++ __uid_t *euids = euids_buf, *auids = auids_buf; ++ __gid_t *egids = egids_buf, *agids = agids_buf; ++ ++ struct procinfo *pi = NULL; ++ mach_msg_type_number_t pi_size = 0; ++ int flags = PI_FETCH_TASKINFO; ++ char *tw = NULL; ++ size_t tw_size = 0; ++ unsigned i; ++ ++ err = mach_port_mod_refs (mach_task_self (), rendezvous, ++ MACH_PORT_RIGHT_SEND, 1); ++ if (err) ++goto out; ++ ++ do ++err = __USEPORT ++ (AUTH, __auth_server_authenticate (port, ++ rendezvous, MACH_MSG_TYPE_COPY_SEND, ++ MACH_PORT_NULL, 0, ++ &euids, &neuids, &auids, &nauids, ++ &egids, &negids, &agids, &nagids)); ++ while (err == EINTR); ++ if (err) ++goto out; ++ ++ /* Check whether this process indeed has these IDs */ ++ if ( !contains_uid (neuids, euids, uid) ++ && !contains_uid (nauids, auids, uid) ++ ||!contains_uid (neuids, euids, euid) ++ && !contains_uid (nauids, auids, euid) ++ ||!contains_gid (negids, egids, gid) ++ && !contains_gid (nagids, agids, gid) ++) ++{ ++ err = EIO; ++ goto out; ++} ++ ++ /* Check groups */ ++ for (i = 0; i < ng
r6604 - in glibc-package/branches/glibc-2.21/debian: . patches patches/hurd-i386
Author: sthibault Date: 2015-09-20 21:09:56 + (Sun, 20 Sep 2015) New Revision: 6604 Added: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff Modified: glibc-package/branches/glibc-2.21/debian/changelog glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff glibc-package/branches/glibc-2.21/debian/patches/series Log: port r6602 from trunk: * hurd-i386/tg-sendmsg-SCM_RIGHTS.diff: Update from upstream. * hurd-i386/tg-sendmsg-SCM_CREDS.diff: New patch, adds support for passing credentials over sockets (SCM_CREDS). Modified: glibc-package/branches/glibc-2.21/debian/changelog === --- glibc-package/branches/glibc-2.21/debian/changelog 2015-09-20 21:09:51 UTC (rev 6603) +++ glibc-package/branches/glibc-2.21/debian/changelog 2015-09-20 21:09:56 UTC (rev 6604) @@ -315,6 +315,9 @@ build with newer mig. * patches/hurd-i386/cvs-cache-mach_host_self.diff: New patch to avoid port count issue on the host port. + * patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff: Update from upstream. + * patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff: New patch, adds support for +passing credentials over sockets (SCM_CREDS). -- Samuel Thibault Sun, 13 Sep 2015 19:50:50 +0200 Copied: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff (from rev 6602, glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff) === --- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff (rev 0) +++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff 2015-09-20 21:09:56 UTC (rev 6604) @@ -0,0 +1,242 @@ +Subject: [PATCH] hurd: SCM_CREDS support + +Svante Signell +Samuel Thibault + + * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): On SCM_CREDS + control messages, record uids, pass a rendez-vous port in the + control message, and call __auth_user_authenticate_request to + make auth send credentials on that port. Do not wait for a + reply. + + * sysdeps/mach/hurd/recvmsg.c (contains_uid, contains_gid, + check_auth): New functions. + (__libc_recvmsg): On SCM_CREDS control messages, call check_auth + to check the passed credentials thanks to the answer from the + auth server. + +--- + sysdeps/mach/hurd/recvmsg.c | 136 + sysdeps/mach/hurd/sendmsg.c | 34 +++ + 2 files changed, 170 insertions(+) + +--- a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c +@@ -23,6 +23,123 @@ + #include + #include + ++static unsigned ++contains_uid (unsigned int n, __uid_t uids[n], __uid_t uid) ++{ ++ unsigned i; ++ ++ for (i = 0; i < n; i++) ++if (uids[i] == uid) ++ return 1; ++ return 0; ++} ++ ++static unsigned ++contains_gid (unsigned int n, __gid_t gids[n], __gid_t gid) ++{ ++ unsigned i; ++ ++ for (i = 0; i < n; i++) ++if (gids[i] == gid) ++ return 1; ++ return 0; ++} ++ ++/* Check the passed credentials. */ ++static error_t ++check_auth (mach_port_t rendezvous, ++ __pid_t pid, ++ __uid_t uid, __uid_t euid, ++ __gid_t gid, ++ int ngroups, __gid_t groups[ngroups]) ++{ ++ error_t err; ++ size_t neuids = CMGROUP_MAX, nauids = CMGROUP_MAX; ++ size_t negids = CMGROUP_MAX, nagids = CMGROUP_MAX; ++ __uid_t euids_buf[neuids], auids_buf[nauids]; ++ __gid_t egids_buf[negids], agids_buf[nagids]; ++ __uid_t *euids = euids_buf, *auids = auids_buf; ++ __gid_t *egids = egids_buf, *agids = agids_buf; ++ ++ struct procinfo *pi = NULL; ++ mach_msg_type_number_t pi_size = 0; ++ int flags = PI_FETCH_TASKINFO; ++ char *tw = NULL; ++ size_t tw_size = 0; ++ unsigned i; ++ ++ err = mach_port_mod_refs (mach_task_self (), rendezvous, ++ MACH_PORT_RIGHT_SEND, 1); ++ if (err) ++goto out; ++ ++ do ++err = __USEPORT ++ (AUTH, __auth_server_authenticate (port, ++ rendezvous, MACH_MSG_TYPE_COPY_SEND, ++ MACH_PORT_NULL, 0, ++ &euids, &neuids, &auids, &nauids, ++ &egids, &negids, &agids, &nagids)); ++ while (err == EINTR); ++ if (err) ++goto out; ++ ++ /* Check whether this process indeed has these IDs */ ++ if ( !contains_uid (neuids, euids, uid) ++ && !contains_uid (nauids, auids, uid) ++ ||!contains_uid (neuids, euids, euid) ++ && !contains_uid (nauids, auids, euid) ++ ||!contains_gid (negids, egids, gid) ++ && !contains_gid (nagids, agids, gid) ++) ++{ ++ err = EIO; ++ goto out; ++} ++ ++ /* Check groups */ ++ for (i = 0; i < ng
r6602 - in glibc-package/trunk/debian: . patches patches/hurd-i386
Author: sthibault Date: 2015-09-20 21:05:05 + (Sun, 20 Sep 2015) New Revision: 6602 Added: glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff glibc-package/trunk/debian/patches/series Log: * hurd-i386/tg-sendmsg-SCM_RIGHTS.diff: Update from upstream. * hurd-i386/tg-sendmsg-SCM_CREDS.diff: New patch, adds support for passing credentials over sockets (SCM_CREDS). Modified: glibc-package/trunk/debian/changelog === --- glibc-package/trunk/debian/changelog2015-09-20 13:52:36 UTC (rev 6601) +++ glibc-package/trunk/debian/changelog2015-09-20 21:05:05 UTC (rev 6602) @@ -9,6 +9,9 @@ build with newer mig. * patches/hurd-i386/cvs-cache-mach_host_self.diff: New patch to avoid port count issue on the host port. + * patches/hurd-i386/tg-sendmsg-SCM_RIGHTS.diff: Update from upstream. + * patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff: New patch, adds support for +passing credentials over sockets (SCM_CREDS). -- Samuel Thibault Sun, 13 Sep 2015 19:50:50 +0200 Added: glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff === --- glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff (rev 0) +++ glibc-package/trunk/debian/patches/hurd-i386/tg-sendmsg-SCM_CREDS.diff 2015-09-20 21:05:05 UTC (rev 6602) @@ -0,0 +1,248 @@ +Subject: [PATCH] hurd: SCM_CREDS support + +Svante Signell +Samuel Thibault + + * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): On SCM_CREDS + control messages, record uids, pass a rendez-vous port in the + control message, and call __auth_user_authenticate_request to + make auth send credentials on that port. Do not wait for a + reply. + + * sysdeps/mach/hurd/recvmsg.c (contains_uid, contains_gid, + check_auth): New functions. + (__libc_recvmsg): On SCM_CREDS control messages, call check_auth + to check the passed credentials thanks to the answer from the + auth server. + +--- + sysdeps/mach/hurd/recvmsg.c | 136 + sysdeps/mach/hurd/sendmsg.c | 34 +++ + 2 files changed, 170 insertions(+) + +Index: glibc-2.19/sysdeps/mach/hurd/recvmsg.c +=== +--- glibc-2.19.orig/sysdeps/mach/hurd/recvmsg.c glibc-2.19/sysdeps/mach/hurd/recvmsg.c +@@ -23,6 +23,123 @@ + #include + #include + ++static unsigned ++contains_uid (unsigned int n, __uid_t uids[n], __uid_t uid) ++{ ++ unsigned i; ++ ++ for (i = 0; i < n; i++) ++if (uids[i] == uid) ++ return 1; ++ return 0; ++} ++ ++static unsigned ++contains_gid (unsigned int n, __gid_t gids[n], __gid_t gid) ++{ ++ unsigned i; ++ ++ for (i = 0; i < n; i++) ++if (gids[i] == gid) ++ return 1; ++ return 0; ++} ++ ++/* Check the passed credentials. */ ++static error_t ++check_auth (mach_port_t rendezvous, ++ __pid_t pid, ++ __uid_t uid, __uid_t euid, ++ __gid_t gid, ++ int ngroups, __gid_t groups[ngroups]) ++{ ++ error_t err; ++ size_t neuids = CMGROUP_MAX, nauids = CMGROUP_MAX; ++ size_t negids = CMGROUP_MAX, nagids = CMGROUP_MAX; ++ __uid_t euids_buf[neuids], auids_buf[nauids]; ++ __gid_t egids_buf[negids], agids_buf[nagids]; ++ __uid_t *euids = euids_buf, *auids = auids_buf; ++ __gid_t *egids = egids_buf, *agids = agids_buf; ++ ++ struct procinfo *pi = NULL; ++ mach_msg_type_number_t pi_size = 0; ++ int flags = PI_FETCH_TASKINFO; ++ char *tw = NULL; ++ size_t tw_size = 0; ++ unsigned i; ++ ++ err = mach_port_mod_refs (mach_task_self (), rendezvous, ++ MACH_PORT_RIGHT_SEND, 1); ++ if (err) ++goto out; ++ ++ do ++err = __USEPORT ++ (AUTH, __auth_server_authenticate (port, ++ rendezvous, MACH_MSG_TYPE_COPY_SEND, ++ MACH_PORT_NULL, 0, ++ &euids, &neuids, &auids, &nauids, ++ &egids, &negids, &agids, &nagids)); ++ while (err == EINTR); ++ if (err) ++goto out; ++ ++ /* Check whether this process indeed has these IDs */ ++ if ( !contains_uid (neuids, euids, uid) ++ && !contains_uid (nauids, auids, uid) ++ ||!contains_uid (neuids, euids, euid) ++ && !contains_uid (nauids, auids, euid) ++ ||!contains_gid (negids, egids, gid) ++ && !contains_gid (nagids, agids, gid) ++) ++{ ++ err = EIO; ++ goto out; ++} ++ ++ /* Check groups */ ++ for (i = 0; i < ngroups; i++) ++if ( !contains_gid (negids, egids, groups[i]) ++ && !contains_gid (nagids, agids, groups[i])
r6601 - glibc-package/branches/glibc-2.21/debian
Author: aurel32 Date: 2015-09-20 13:52:36 + (Sun, 20 Sep 2015) New Revision: 6601 Modified: glibc-package/branches/glibc-2.21/debian/changelog Log: Fix a spelling error in changelog to make lintian happy Modified: glibc-package/branches/glibc-2.21/debian/changelog === --- glibc-package/branches/glibc-2.21/debian/changelog 2015-09-20 13:50:58 UTC (rev 6600) +++ glibc-package/branches/glibc-2.21/debian/changelog 2015-09-20 13:52:36 UTC (rev 6601) @@ -51,7 +51,7 @@ non-compliance is intentional. These tests were previously marked as failing under the run-conformtest.out, but they have been lost during the conversion to the new format. - * testsuite-checking/compare.sh: reenable failures in case of regressions. + * testsuite-checking/compare.sh: re-enable failures in case of regressions. * rules.d/build.mk: don't require flavours to be tested before being installed. They are still tested when calling the build-arch or binary-arch targets, but not anymore when calling the build-indep or
r6600 - in glibc-package/branches/glibc-2.21/debian: debhelper.in rules.d
Author: aurel32 Date: 2015-09-20 13:50:58 + (Sun, 20 Sep 2015) New Revision: 6600 Modified: glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postinst glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postrm glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.postinst glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.preinst glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk Log: rules.d/debhelper.mk: use perl instead of sed to do pattern replacement sed doesn't do pattern replacement on included files. Use perl instead. Modified: glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postinst === --- glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postinst 2015-09-20 11:23:54 UTC (rev 6599) +++ glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postinst 2015-09-20 13:50:58 UTC (rev 6600) @@ -4,7 +4,8 @@ if [ "$1" = "configure" ] then -# /etc/ld.so.nohwcap code: NOHWCAP +# /etc/ld.so.nohwcap code: +__NOHWCAP__ fi #DEBHELPER# Modified: glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postrm === --- glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postrm 2015-09-20 11:23:54 UTC (rev 6599) +++ glibc-package/branches/glibc-2.21/debian/debhelper.in/libc-otherbuild.postrm 2015-09-20 13:50:58 UTC (rev 6600) @@ -3,7 +3,8 @@ set -e if [ "$1" = "remove" ]; then -# /etc/ld.so.nohwcap code: NOHWCAP +# /etc/ld.so.nohwcap code +__NOHWCAP__ fi #DEBHELPER# Modified: glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.postinst === --- glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.postinst 2015-09-20 11:23:54 UTC (rev 6599) +++ glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.postinst 2015-09-20 13:50:58 UTC (rev 6600) @@ -73,7 +73,8 @@ # We don't use a registry anymore, remove the old file rm -f /etc/ld.so.hwcappkgs -# /etc/ld.so.nohwcap code: NOHWCAP +# /etc/ld.so.nohwcap code: +__NOHWCAP__ # Load debconf module if available if [ -f /usr/share/debconf/confmodule ] ; then @@ -93,7 +94,8 @@ check="$check sasl2-bin slapd smail sendmail snmpd ssh" check="$check spamassassin vsftpd wu-ftpd wu-ftpd-academ wwwoffle" check="$check webmin dropbear gdm" - # NSS services check: NSS_CHECK + # NSS services check: + __NSS_CHECK__ if [ -n "$services" ]; then if [ -f /usr/share/debconf/confmodule ] ; then Modified: glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.preinst === --- glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.preinst 2015-09-20 11:23:54 UTC (rev 6599) +++ glibc-package/branches/glibc-2.21/debian/debhelper.in/libc.preinst 2015-09-20 13:50:58 UTC (rev 6600) @@ -171,7 +171,8 @@ fi check="kdm postgresql xdm" - # NSS services check: NSS_CHECK + # NSS services check: + __NSS_CHECK__ if [ -n "$services" ]; then if [ -f /usr/share/debconf/confmodule ] ; then db_version 2.0 Modified: glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk === --- glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk 2015-09-20 11:23:54 UTC (rev 6599) +++ glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk 2015-09-20 13:50:58 UTC (rev 6600) @@ -129,14 +129,15 @@ $(stamp)debhelper-common: for x in `find debian/debhelper.in -maxdepth 1 -type f`; do \ y=debian/`basename $$x`; \ - sed -e "/NSS_CHECK/r debian/script.in/nsscheck.sh" \ - -e "/NOHWCAP/r debian/script.in/nohwcap.sh" \ - -e "/__PROVIDED_LOCALES__/r debian/tmp-libc/usr/share/i18n/SUPPORTED" \ - -e "s#GLIBC_VERSION#$(GLIBC_VERSION)#" \ - -e "s#CURRENT_VER#$(DEB_VERSION)#" \ - -e "s#BUILD-TREE#$(build-tree)#" \ - -e "s#LIBC#$(libc)#" \ - -e "s#DEB_HOST_ARCH#$(DEB_HOST_ARCH)#" \ + perl -p \ + -e 'BEGIN {undef $$/; open(IN, "debian/script.in/nsscheck.sh"); $$j=;} s/__NSS_CHECK__/$$j/g;' \ + -e 'BEGIN {undef $$/; open(IN, "debian/script.in/nohwcap.sh"); $$k=;} s/__NOHWCAP__/$$k/g;' \ + -e 'BEGIN {undef $$/; open(IN, "debian/tmp-libc/usr/share/i18n/SUPPORTED"); $$l=;} s/__PROVIDED_LOCALES__/$$l/g;' \ + -e 's#GLIBC_VERSION#$(GLIBC_VERSION)#g;' \ + -e 's#CURRENT_VER#$(DEB_VERSION)#g;' \ + -e 's#BUILD-T
r6597 - in glibc-package/trunk/debian: . patches patches/hurd-i386
Author: sthibault Date: 2015-09-20 11:22:11 + (Sun, 20 Sep 2015) New Revision: 6597 Added: glibc-package/trunk/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/series Log: hurd-i386/cvs-cache-mach_host_self.diff: avoid port count issue on the host port. Modified: glibc-package/trunk/debian/changelog === --- glibc-package/trunk/debian/changelog2015-09-19 22:46:04 UTC (rev 6596) +++ glibc-package/trunk/debian/changelog2015-09-20 11:22:11 UTC (rev 6597) @@ -7,6 +7,8 @@ * patches/hurd-i386/cvs-bootstrap.diff: Fix typos. * libc0.3.symbols.hurd-i386: Remove internal _server_routine symbols, fixes build with newer mig. + * patches/hurd-i386/cvs-cache-mach_host_self.diff: New patch to avoid port +count issue on the host port. -- Samuel Thibault Sun, 13 Sep 2015 19:50:50 +0200 Added: glibc-package/trunk/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff === --- glibc-package/trunk/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff (rev 0) +++ glibc-package/trunk/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff 2015-09-20 11:22:11 UTC (rev 6597) @@ -0,0 +1,89 @@ +From: Justus Winter <4win...@informatik.uni-hamburg.de> +Subject: [PATCH glibc 1/2] mach: cache the host port + +Cache the host port like we cache the task port. This way we do not +need to call the kernel just to get the port. Furthermore, we no +longer increase the reference count on every invocation of +`mach_host_self'. + +* mach/mach/mach_traps.h (__mach_host_self, mach_host_self): +Protect declarations against the macro expansion. +* mach/mach_init.c (__mach_host_self_): New variable. +(mach_init): Initialize `__mach_host_self_'. +* mach/mach_init.h (__mach_host_self_): New declaration. +(__mach_host_self, mach_host_self): New macros. +* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): +Release reference. +--- + mach/mach/mach_traps.h| 7 --- + mach/mach_init.c | 2 ++ + mach/mach_init.h | 5 + + sysdeps/mach/hurd/dl-sysdep.c | 1 + + 4 files changed, 12 insertions(+), 3 deletions(-) + +Index: glibc-2.19/mach/mach/mach_traps.h +=== +--- glibc-2.19.orig/mach/mach/mach_traps.h glibc-2.19/mach/mach/mach_traps.h +@@ -41,9 +41,10 @@ extern mach_port_t __mach_thread_self (v + extern mach_port_t (mach_task_self) (void); + extern mach_port_t (__mach_task_self) (void); + +-/* Return the host information port for the host of the calling task. */ +-extern mach_port_t mach_host_self (void); +-extern mach_port_t __mach_host_self (void); ++/* Return the host information port for the host of the calling task. ++ The parens are needed to protect against the macro in . */ ++extern mach_port_t (mach_host_self) (void); ++extern mach_port_t (__mach_host_self) (void); + + /* Attempt to context switch the current thread off the processor. Returns +true if there are other threads that can be run and false if not. */ +Index: glibc-2.19/mach/mach_init.c +=== +--- glibc-2.19.orig/mach/mach_init.c glibc-2.19/mach/mach_init.c +@@ -20,6 +20,7 @@ + #include + + mach_port_t __mach_task_self_; ++mach_port_t __mach_host_self_; + vm_size_t __vm_page_size = 0; /* Must be data not bss for weak alias. */ + weak_alias (__vm_page_size, vm_page_size) + +@@ -34,6 +35,7 @@ __mach_init (void) + kern_return_t err; + + __mach_task_self_ = (__mach_task_self) (); ++ __mach_host_self_ = (__mach_host_self) (); + __mig_init (0); + + #if HAVE_HOST_PAGE_SIZE +Index: glibc-2.19/mach/mach_init.h +=== +--- glibc-2.19.orig/mach/mach_init.h glibc-2.19/mach/mach_init.h +@@ -31,6 +31,11 @@ extern mach_port_t __mach_task_self_; + #define __mach_task_self()(__mach_task_self_ + 0) /* Not an lvalue. */ + #define mach_task_self() (__mach_task_self ()) + ++/* This cache is initialized at startup. */ ++extern mach_port_t __mach_host_self_; ++#define __mach_host_self()(__mach_host_self_ + 0) /* Not an lvalue. */ ++#define mach_host_self() (__mach_host_self ()) ++ + /* Kernel page size. */ + extern vm_size_t __vm_page_size; + extern vm_size_t vm_page_size; +Index: glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +=== +--- glibc-2.19.orig/sysdeps/mach/hurd/dl-sysdep.c glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +@@ -278,6 +278,7 @@ _dl_sysdep_start_cleanup (void) + __mach_init. We are done with them now, and the user will + reacquire them for himself when he wants them. */ + __mig_dealloc_reply_port (MACH_PORT_NULL); ++ __mach_port_deall
r6598 - in glibc-package/branches/glibc-2.21/debian: . patches patches/hurd-i386
Author: sthibault Date: 2015-09-20 11:23:16 + (Sun, 20 Sep 2015) New Revision: 6598 Added: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff Modified: glibc-package/branches/glibc-2.21/debian/changelog glibc-package/branches/glibc-2.21/debian/patches/series Log: port r6597 from trunk: hurd-i386/cvs-cache-mach_host_self.diff: avoid port count issue on the host port. Modified: glibc-package/branches/glibc-2.21/debian/changelog === --- glibc-package/branches/glibc-2.21/debian/changelog 2015-09-20 11:22:11 UTC (rev 6597) +++ glibc-package/branches/glibc-2.21/debian/changelog 2015-09-20 11:23:16 UTC (rev 6598) @@ -313,6 +313,8 @@ * patches/hurd-i386/cvs-bootstrap.diff: Fix typo. * libc0.3.symbols.hurd-i386: Remove internal _server_routine symbols, fixes build with newer mig. + * patches/hurd-i386/cvs-cache-mach_host_self.diff: New patch to avoid port +count issue on the host port. -- Samuel Thibault Sun, 13 Sep 2015 19:50:50 +0200 Added: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff === --- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff (rev 0) +++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff 2015-09-20 11:23:16 UTC (rev 6598) @@ -0,0 +1,89 @@ +From: Justus Winter <4win...@informatik.uni-hamburg.de> +Subject: [PATCH glibc 1/2] mach: cache the host port + +Cache the host port like we cache the task port. This way we do not +need to call the kernel just to get the port. Furthermore, we no +longer increase the reference count on every invocation of +`mach_host_self'. + +* mach/mach/mach_traps.h (__mach_host_self, mach_host_self): +Protect declarations against the macro expansion. +* mach/mach_init.c (__mach_host_self_): New variable. +(mach_init): Initialize `__mach_host_self_'. +* mach/mach_init.h (__mach_host_self_): New declaration. +(__mach_host_self, mach_host_self): New macros. +* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): +Release reference. +--- + mach/mach/mach_traps.h| 7 --- + mach/mach_init.c | 2 ++ + mach/mach_init.h | 5 + + sysdeps/mach/hurd/dl-sysdep.c | 1 + + 4 files changed, 12 insertions(+), 3 deletions(-) + +Index: glibc-2.19/mach/mach/mach_traps.h +=== +--- glibc-2.19.orig/mach/mach/mach_traps.h glibc-2.19/mach/mach/mach_traps.h +@@ -41,9 +41,10 @@ extern mach_port_t __mach_thread_self (v + extern mach_port_t (mach_task_self) (void); + extern mach_port_t (__mach_task_self) (void); + +-/* Return the host information port for the host of the calling task. */ +-extern mach_port_t mach_host_self (void); +-extern mach_port_t __mach_host_self (void); ++/* Return the host information port for the host of the calling task. ++ The parens are needed to protect against the macro in . */ ++extern mach_port_t (mach_host_self) (void); ++extern mach_port_t (__mach_host_self) (void); + + /* Attempt to context switch the current thread off the processor. Returns +true if there are other threads that can be run and false if not. */ +Index: glibc-2.19/mach/mach_init.c +=== +--- glibc-2.19.orig/mach/mach_init.c glibc-2.19/mach/mach_init.c +@@ -20,6 +20,7 @@ + #include + + mach_port_t __mach_task_self_; ++mach_port_t __mach_host_self_; + vm_size_t __vm_page_size = 0; /* Must be data not bss for weak alias. */ + weak_alias (__vm_page_size, vm_page_size) + +@@ -34,6 +35,7 @@ __mach_init (void) + kern_return_t err; + + __mach_task_self_ = (__mach_task_self) (); ++ __mach_host_self_ = (__mach_host_self) (); + __mig_init (0); + + #if HAVE_HOST_PAGE_SIZE +Index: glibc-2.19/mach/mach_init.h +=== +--- glibc-2.19.orig/mach/mach_init.h glibc-2.19/mach/mach_init.h +@@ -31,6 +31,11 @@ extern mach_port_t __mach_task_self_; + #define __mach_task_self()(__mach_task_self_ + 0) /* Not an lvalue. */ + #define mach_task_self() (__mach_task_self ()) + ++/* This cache is initialized at startup. */ ++extern mach_port_t __mach_host_self_; ++#define __mach_host_self()(__mach_host_self_ + 0) /* Not an lvalue. */ ++#define mach_host_self() (__mach_host_self ()) ++ + /* Kernel page size. */ + extern vm_size_t __vm_page_size; + extern vm_size_t vm_page_size; +Index: glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +=== +--- glibc-2.19.orig/sysdeps/mach/hurd/dl-sysdep.c glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +@@ -278,6 +278,7 @@ _dl_sysdep_start_cleanup (void) + __mach_init. We are done with them no
r6599 - in glibc-package/branches/glibc-2.22/debian: . patches patches/hurd-i386
Author: sthibault Date: 2015-09-20 11:23:54 + (Sun, 20 Sep 2015) New Revision: 6599 Added: glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff Modified: glibc-package/branches/glibc-2.22/debian/changelog glibc-package/branches/glibc-2.22/debian/patches/series Log: port r6597 from trunk: hurd-i386/cvs-cache-mach_host_self.diff: avoid port count issue on the host port. Modified: glibc-package/branches/glibc-2.22/debian/changelog === --- glibc-package/branches/glibc-2.22/debian/changelog 2015-09-20 11:23:16 UTC (rev 6598) +++ glibc-package/branches/glibc-2.22/debian/changelog 2015-09-20 11:23:54 UTC (rev 6599) @@ -380,6 +380,8 @@ * patches/hurd-i386/cvs-bootstrap.diff: Fix typo. * libc0.3.symbols.hurd-i386: Remove internal _server_routine symbols, fixes build with newer mig. + * patches/hurd-i386/cvs-cache-mach_host_self.diff: New patch to avoid port +count issue on the host port. -- Samuel Thibault Sun, 13 Sep 2015 19:50:50 +0200 Added: glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff === --- glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff (rev 0) +++ glibc-package/branches/glibc-2.22/debian/patches/hurd-i386/cvs-cache-mach_host_self.diff 2015-09-20 11:23:54 UTC (rev 6599) @@ -0,0 +1,89 @@ +From: Justus Winter <4win...@informatik.uni-hamburg.de> +Subject: [PATCH glibc 1/2] mach: cache the host port + +Cache the host port like we cache the task port. This way we do not +need to call the kernel just to get the port. Furthermore, we no +longer increase the reference count on every invocation of +`mach_host_self'. + +* mach/mach/mach_traps.h (__mach_host_self, mach_host_self): +Protect declarations against the macro expansion. +* mach/mach_init.c (__mach_host_self_): New variable. +(mach_init): Initialize `__mach_host_self_'. +* mach/mach_init.h (__mach_host_self_): New declaration. +(__mach_host_self, mach_host_self): New macros. +* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): +Release reference. +--- + mach/mach/mach_traps.h| 7 --- + mach/mach_init.c | 2 ++ + mach/mach_init.h | 5 + + sysdeps/mach/hurd/dl-sysdep.c | 1 + + 4 files changed, 12 insertions(+), 3 deletions(-) + +Index: glibc-2.19/mach/mach/mach_traps.h +=== +--- glibc-2.19.orig/mach/mach/mach_traps.h glibc-2.19/mach/mach/mach_traps.h +@@ -41,9 +41,10 @@ extern mach_port_t __mach_thread_self (v + extern mach_port_t (mach_task_self) (void); + extern mach_port_t (__mach_task_self) (void); + +-/* Return the host information port for the host of the calling task. */ +-extern mach_port_t mach_host_self (void); +-extern mach_port_t __mach_host_self (void); ++/* Return the host information port for the host of the calling task. ++ The parens are needed to protect against the macro in . */ ++extern mach_port_t (mach_host_self) (void); ++extern mach_port_t (__mach_host_self) (void); + + /* Attempt to context switch the current thread off the processor. Returns +true if there are other threads that can be run and false if not. */ +Index: glibc-2.19/mach/mach_init.c +=== +--- glibc-2.19.orig/mach/mach_init.c glibc-2.19/mach/mach_init.c +@@ -20,6 +20,7 @@ + #include + + mach_port_t __mach_task_self_; ++mach_port_t __mach_host_self_; + vm_size_t __vm_page_size = 0; /* Must be data not bss for weak alias. */ + weak_alias (__vm_page_size, vm_page_size) + +@@ -34,6 +35,7 @@ __mach_init (void) + kern_return_t err; + + __mach_task_self_ = (__mach_task_self) (); ++ __mach_host_self_ = (__mach_host_self) (); + __mig_init (0); + + #if HAVE_HOST_PAGE_SIZE +Index: glibc-2.19/mach/mach_init.h +=== +--- glibc-2.19.orig/mach/mach_init.h glibc-2.19/mach/mach_init.h +@@ -31,6 +31,11 @@ extern mach_port_t __mach_task_self_; + #define __mach_task_self()(__mach_task_self_ + 0) /* Not an lvalue. */ + #define mach_task_self() (__mach_task_self ()) + ++/* This cache is initialized at startup. */ ++extern mach_port_t __mach_host_self_; ++#define __mach_host_self()(__mach_host_self_ + 0) /* Not an lvalue. */ ++#define mach_host_self() (__mach_host_self ()) ++ + /* Kernel page size. */ + extern vm_size_t __vm_page_size; + extern vm_size_t vm_page_size; +Index: glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +=== +--- glibc-2.19.orig/sysdeps/mach/hurd/dl-sysdep.c glibc-2.19/sysdeps/mach/hurd/dl-sysdep.c +@@ -278,6 +278,7 @@ _dl_sysdep_start_cleanup (void) + __mach_init. We are done with them no