[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: