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

[glibc] 02/02: hurd: Fix missing patch files



This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch glibc-2.26
in repository glibc.

commit 0d06c86911722ff5f38ea03b1798c29cfab38ef7
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Oct 2 23:56:20 2017 +0000

    hurd: Fix missing patch files
---
 debian/changelog                                   |   4 +-
 .../patches/hurd-i386/git-dirfd-linknamespace.diff | 124 +++++++++++++++++++++
 .../hurd-i386/git-ifaddrs-linknamespace.diff       |  94 ++++++++++++++++
 .../hurd-i386/git-revoke-linknamespace.diff        |  75 +++++++++++++
 .../hurd-i386/git-seekdir-linknamespace.diff       |  61 ++++++++++
 5 files changed, 356 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index c3f01da..f7c72a4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -91,8 +91,8 @@ glibc (2.26-0experimental0) UNRELEASED; urgency=medium
     - patches/hurd-i386/tg-ifaddrs_v6.diff: Update.
     - patches/hurd-i386/git-dirfd-linknamespace.diff: New patch.
     - patches/hurd-i386/git-revoke-linknamespace.diff: New patch.
-    - patches/hurd-i386/git-seekdir.diff: New patch.
-    - patches/hurd-i386/git-ifaddrs.diff: New patch.
+    - patches/hurd-i386/git-seekdir-linknamespace.diff: New patch.
+    - patches/hurd-i386/git-ifaddrs-linknamespace.diff: New patch.
     - testsuite-xfail-debian.mk: Update.
     - testsuite-xfail-debian.mk: Remove now-removed XPG3 entries.
 
diff --git a/debian/patches/hurd-i386/git-dirfd-linknamespace.diff b/debian/patches/hurd-i386/git-dirfd-linknamespace.diff
new file mode 100644
index 0000000..630d42b
--- /dev/null
+++ b/debian/patches/hurd-i386/git-dirfd-linknamespace.diff
@@ -0,0 +1,124 @@
+commit 8f5238538d47e958cad2490732fbb27e7b1cd8ab
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Wed Sep 27 23:46:51 2017 +0200
+
+    hurd: Fix dirfd symbol exposition from ftw
+    
+    dirfd is XOPEN2K8 only, it should not be exposed along ftw which is earlier.
+    
+            * include/dirent.h (__dirfd): New declaration.
+            * dirent/dirfd.c (dirfd): Rename to __dirfd, and redefine as weak
+            alias.
+            * sysdeps/posix/dirfd/dirfd.c (dirfd): Likewise.
+            * sysdeps/mach/hurd/dirfd.c (dirfd): Likewise.
+            * io/ftw.c (open_dir_stream, ftw_dir): Use __dirfd instead of dirfd.
+
++ glob in glibc 2.26, removed later
+
+Index: glibc-2.26/dirent/dirfd.c
+===================================================================
+--- glibc-2.26.orig/dirent/dirfd.c
++++ glibc-2.26/dirent/dirfd.c
+@@ -21,10 +21,11 @@
+ #include <errno.h>
+ 
+ int
+-dirfd (DIR *dirp)
++__dirfd (DIR *dirp)
+ {
+   __set_errno (ENOSYS);
+   return -1;
+ }
+ 
++weak_alias (__dirfd, dirfd)
+ stub_warning (dirfd)
+Index: glibc-2.26/include/dirent.h
+===================================================================
+--- glibc-2.26.orig/include/dirent.h
++++ glibc-2.26/include/dirent.h
+@@ -48,6 +48,7 @@ extern DIR *__alloc_dir (int fd, bool cl
+ 			 const struct stat64 *statp)
+      internal_function attribute_hidden;
+ extern __typeof (rewinddir) __rewinddir;
++extern __typeof (dirfd) __dirfd;
+ 
+ extern void __scandir_cancel_handler (void *arg) attribute_hidden;
+ extern int __scandir_tail (DIR *dp,
+Index: glibc-2.26/io/ftw.c
+===================================================================
+--- glibc-2.26.orig/io/ftw.c
++++ glibc-2.26/io/ftw.c
+@@ -363,7 +363,7 @@ open_dir_stream (int *dfdp, struct ftw_d
+ 	result = -1;
+       else
+ 	{
+-	  dirp->streamfd = dirfd (dirp->stream);
++	  dirp->streamfd = __dirfd (dirp->stream);
+ 	  dirp->content = NULL;
+ 	  data->dirstreams[data->actdir] = dirp;
+ 
+@@ -522,7 +522,7 @@ fail:
+   /* If necessary, change to this directory.  */
+   if (data->flags & FTW_CHDIR)
+     {
+-      if (__fchdir (dirfd (dir.stream)) < 0)
++      if (__fchdir (__dirfd (dir.stream)) < 0)
+ 	{
+ 	  result = -1;
+ 	  goto fail;
+@@ -606,7 +606,7 @@ fail:
+       /* Change back to the parent directory.  */
+       int done = 0;
+       if (old_dir->stream != NULL)
+-	if (__fchdir (dirfd (old_dir->stream)) == 0)
++	if (__fchdir (__dirfd (old_dir->stream)) == 0)
+ 	  done = 1;
+ 
+       if (!done)
+Index: glibc-2.26/sysdeps/mach/hurd/dirfd.c
+===================================================================
+--- glibc-2.26.orig/sysdeps/mach/hurd/dirfd.c
++++ glibc-2.26/sysdeps/mach/hurd/dirfd.c
+@@ -22,7 +22,7 @@
+ #include <errno.h>
+ 
+ int
+-dirfd (DIR *dirp)
++__dirfd (DIR *dirp)
+ {
+   int fd;
+ 
+@@ -41,3 +41,5 @@ dirfd (DIR *dirp)
+ 
+   return fd;
+ }
++
++weak_alias (__dirfd, dirfd)
+Index: glibc-2.26/sysdeps/posix/dirfd.c
+===================================================================
+--- glibc-2.26.orig/sysdeps/posix/dirfd.c
++++ glibc-2.26/sysdeps/posix/dirfd.c
+@@ -22,7 +22,9 @@
+ #undef dirfd
+ 
+ int
+-dirfd (DIR *dirp)
++__dirfd (DIR *dirp)
+ {
+   return dirp->fd;
+ }
++
++weak_alias (__dirfd, dirfd)
+Index: glibc-2.26/posix/glob.c
+===================================================================
+--- glibc-2.26.orig/posix/glob.c
++++ glibc-2.26/posix/glob.c
+@@ -1557,7 +1557,7 @@ glob_in_dir (const char *pattern, const
+ 	{
+ #ifdef _LIBC
+ 	  int dfd = (__builtin_expect (flags & GLOB_ALTDIRFUNC, 0)
+-		     ? -1 : dirfd ((DIR *) stream));
++		     ? -1 : __dirfd ((DIR *) stream));
+ #endif
+ 	  int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0)
+ 			   | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)
diff --git a/debian/patches/hurd-i386/git-ifaddrs-linknamespace.diff b/debian/patches/hurd-i386/git-ifaddrs-linknamespace.diff
new file mode 100644
index 0000000..3b1c1af
--- /dev/null
+++ b/debian/patches/hurd-i386/git-ifaddrs-linknamespace.diff
@@ -0,0 +1,94 @@
+commit 4009ddc69225d571772aaea597615a0c032e14ab
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Sep 28 00:19:18 2017 +0200
+
+    hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition
+    
+    from `freeaddrinfo'.
+    
+    `getifaddrs' and `freeifaddrs' are not in POSIX, they should not be
+    exposed along `freeaddrinfo' (through `__check_pf') which is POSIX.
+    
+            * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations,
+            and use libc_hidden_def on them.
+            * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on
+            them.
+            * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise.
+            * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs
+            instead of getifaddrs and freeifaddrs.
+
+Index: glibc-2.26/include/ifaddrs.h
+===================================================================
+--- glibc-2.26.orig/include/ifaddrs.h
++++ glibc-2.26/include/ifaddrs.h
+@@ -9,6 +9,11 @@
+ libc_hidden_proto (getifaddrs)
+ libc_hidden_proto (freeifaddrs)
+ 
++extern int __getifaddrs (struct ifaddrs **__ifap);
++libc_hidden_proto (__getifaddrs)
++extern void __freeifaddrs (struct ifaddrs *__ifa);
++libc_hidden_proto (__freeifaddrs)
++
+ struct in6addrinfo
+ {
+   enum {
+Index: glibc-2.26/inet/check_pf.c
+===================================================================
+--- glibc-2.26.orig/inet/check_pf.c
++++ glibc-2.26/inet/check_pf.c
+@@ -32,7 +32,7 @@ __check_pf (bool *seen_ipv4, bool *seen_
+ 
+   /* Get the interface list via getifaddrs.  */
+   struct ifaddrs *ifa = NULL;
+-  if (getifaddrs (&ifa) != 0)
++  if (__getifaddrs (&ifa) != 0)
+     {
+       /* We cannot determine what interfaces are available.  Be
+ 	 pessimistic.  */
+@@ -51,7 +51,7 @@ __check_pf (bool *seen_ipv4, bool *seen_
+     else if (runp->ifa_addr->sa_family == PF_INET6)
+       *seen_ipv6 = true;
+ 
+-  (void) freeifaddrs (ifa);
++  (void) __freeifaddrs (ifa);
+ }
+ 
+ 
+Index: glibc-2.26/inet/ifaddrs.c
+===================================================================
+--- glibc-2.26.orig/inet/ifaddrs.c
++++ glibc-2.26/inet/ifaddrs.c
+@@ -30,6 +30,7 @@ __getifaddrs (struct ifaddrs **ifap)
+   return -1;
+ }
+ weak_alias (__getifaddrs, getifaddrs)
++libc_hidden_def (__getifaddrs)
+ libc_hidden_weak (getifaddrs)
+ stub_warning (getifaddrs)
+ 
+@@ -43,5 +44,6 @@ __freeifaddrs (struct ifaddrs *ifa)
+   abort ();
+ }
+ weak_alias (__freeifaddrs, freeifaddrs)
++libc_hidden_def (__freeifaddrs)
+ libc_hidden_weak (freeifaddrs)
+ stub_warning (freeifaddrs)
+Index: glibc-2.26/sysdeps/gnu/ifaddrs.c
+===================================================================
+--- glibc-2.26.orig/sysdeps/gnu/ifaddrs.c
++++ glibc-2.26/sysdeps/gnu/ifaddrs.c
+@@ -151,6 +151,7 @@ __getifaddrs (struct ifaddrs **ifap)
+   return 0;
+ }
+ weak_alias (__getifaddrs, getifaddrs)
++libc_hidden_def (__getifaddrs)
+ #ifndef getifaddrs
+ libc_hidden_weak (getifaddrs)
+ #endif
+@@ -161,4 +162,5 @@ __freeifaddrs (struct ifaddrs *ifa)
+   free (ifa);
+ }
+ weak_alias (__freeifaddrs, freeifaddrs)
++libc_hidden_def (__freeifaddrs)
+ libc_hidden_weak (freeifaddrs)
diff --git a/debian/patches/hurd-i386/git-revoke-linknamespace.diff b/debian/patches/hurd-i386/git-revoke-linknamespace.diff
new file mode 100644
index 0000000..404e43e
--- /dev/null
+++ b/debian/patches/hurd-i386/git-revoke-linknamespace.diff
@@ -0,0 +1,75 @@
+commit 22f24293a4311e395fa978b3bb3b1e30e9a01caf
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Sep 28 00:01:40 2017 +0200
+
+    hurd: Fix `revoke' symbol exposition from `unlockpt'
+    
+    `revoke' is MISC only, it should not be exposed along `unlockpt' which is
+    XOPEN.
+    
+            * include/unistd.h (__revoke): New declaration.
+            * misc/revoke.c (revoke): Rename to __revoke, and redefine as weak
+            alias.
+            * sysdeps/mach/hurd/revoke.c (revoke): Likewise.
+            * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of
+            revoke.
+
+diff --git a/include/unistd.h b/include/unistd.h
+index a5625ed7f4..bfe0e4de47 100644
+--- a/include/unistd.h
++++ b/include/unistd.h
+@@ -130,6 +130,7 @@ extern int __symlink (const char *__from, const char *__to);
+ extern ssize_t __readlink (const char *__path, char *__buf, size_t __len);
+ extern int __unlink (const char *__name);
+ extern int __gethostname (char *__name, size_t __len);
++extern int __revoke (const char *__file);
+ extern int __profil (unsigned short int *__sample_buffer, size_t __size,
+ 		     size_t __offset, unsigned int __scale);
+ extern int __getdtablesize (void);
+diff --git a/misc/revoke.c b/misc/revoke.c
+index d953216246..21df2bbf90 100644
+--- a/misc/revoke.c
++++ b/misc/revoke.c
+@@ -20,9 +20,11 @@
+ #include <errno.h>
+ 
+ int
+-revoke (const char *file)
++__revoke (const char *file)
+ {
+   __set_errno (ENOSYS);
+   return -1;
+ }
++
++weak_alias (__revoke, revoke)
+ stub_warning (revoke)
+diff --git a/sysdeps/mach/hurd/revoke.c b/sysdeps/mach/hurd/revoke.c
+index 15b955b733..2f47f42de6 100644
+--- a/sysdeps/mach/hurd/revoke.c
++++ b/sysdeps/mach/hurd/revoke.c
+@@ -21,7 +21,7 @@
+ #include <hurd.h>
+ 
+ int
+-revoke (const char *file_name)
++__revoke (const char *file_name)
+ {
+   error_t err;
+   file_t file = __file_name_lookup (file_name, 0, 0);
+@@ -36,3 +36,5 @@ revoke (const char *file_name)
+     return __hurd_fail (err);
+   return 0;
+ }
++
++weak_alias (__revoke, revoke)
+diff --git a/sysdeps/unix/bsd/unlockpt.c b/sysdeps/unix/bsd/unlockpt.c
+index 7388c98523..ca4e7c654e 100644
+--- a/sysdeps/unix/bsd/unlockpt.c
++++ b/sysdeps/unix/bsd/unlockpt.c
+@@ -32,5 +32,5 @@ unlockpt (int fd)
+   /* BSD doesn't have a lock, but it does have `revoke'.  */
+   if (__ptsname_r (fd, buf, sizeof (buf)))
+     return -1;
+-  return revoke (buf);
++  return __revoke (buf);
+ }
diff --git a/debian/patches/hurd-i386/git-seekdir-linknamespace.diff b/debian/patches/hurd-i386/git-seekdir-linknamespace.diff
new file mode 100644
index 0000000..0e5ba27
--- /dev/null
+++ b/debian/patches/hurd-i386/git-seekdir-linknamespace.diff
@@ -0,0 +1,61 @@
+commit 6c16da9834e158e26edca046ddd597f850d9e244
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Sep 28 00:41:02 2017 +0200
+
+    hurd: Fix `seekdir' symbol exposition from `rewinddir'
+    
+    `seekdir' is MISC || XOPEN, it should not be exposed along `rewinddir' which
+    is POSIX.
+    
+            * include/dirent.h (__seekdir): New declaration.
+            * sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and
+            redefine as weak alias.
+            * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead
+            of seekdir.
+
+Index: glibc-2.26/include/dirent.h
+===================================================================
+--- glibc-2.26.orig/include/dirent.h
++++ glibc-2.26/include/dirent.h
+@@ -48,6 +48,7 @@ extern DIR *__alloc_dir (int fd, bool cl
+ 			 const struct stat64 *statp)
+      internal_function attribute_hidden;
+ extern __typeof (rewinddir) __rewinddir;
++extern __typeof (seekdir) __seekdir;
+ extern __typeof (dirfd) __dirfd;
+ 
+ extern void __scandir_cancel_handler (void *arg) attribute_hidden;
+Index: glibc-2.26/sysdeps/mach/hurd/rewinddir.c
+===================================================================
+--- glibc-2.26.orig/sysdeps/mach/hurd/rewinddir.c
++++ glibc-2.26/sysdeps/mach/hurd/rewinddir.c
+@@ -24,7 +24,7 @@
+ void
+ __rewinddir (DIR *dirp)
+ {
+-  seekdir (dirp, (off_t) 0L);
++  __seekdir (dirp, (off_t) 0L);
+ }
+ libc_hidden_def (__rewinddir)
+ weak_alias (__rewinddir, rewinddir)
+Index: glibc-2.26/sysdeps/mach/hurd/seekdir.c
+===================================================================
+--- glibc-2.26.orig/sysdeps/mach/hurd/seekdir.c
++++ glibc-2.26/sysdeps/mach/hurd/seekdir.c
+@@ -22,9 +22,8 @@
+ #include "dirstream.h"
+ 
+ /* Seek to position POS in DIRP.  */
+-/* XXX should be __seekdir ? */
+ void
+-seekdir (DIR *dirp, long int pos)
++__seekdir (DIR *dirp, long int pos)
+ {
+   __libc_lock_lock (dirp->__lock);
+   /* Change our entry index pointer to POS and discard any data already
+@@ -35,3 +34,5 @@ seekdir (DIR *dirp, long int pos)
+   dirp->__size = 0;
+   __libc_lock_unlock (dirp->__lock);
+ }
++
++weak_alias (__seekdir, seekdir)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: