[glibc] 01/02: hurd-i386/cvs-open.diff: Fix __open in ld.so, thus fixing dlopen().
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch glibc-2.23
in repository glibc.
commit d15e0b2e9a0b0c7964b12da5bc20a61f1e4be64f
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Mar 20 19:41:17 2016 +0100
hurd-i386/cvs-open.diff: Fix __open in ld.so, thus fixing dlopen().
---
debian/changelog | 1 +
debian/patches/hurd-i386/cvs-open.diff | 82 ++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 84 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 52cdcc2..d3f92b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,7 @@ glibc (2.23-0experimental1) UNRELEASED; urgency=medium
* hurd-i386/unsubmitted-libpthread.so.diff: Fix building malloc tests.
* testsuite-xfail-debian.mk: Skip test which just overflows memory.
* hurd-i386/cvs-pt-kill.diff: Fix pthread_kill locking.
+ * hurd-i386/cvs-open.diff: Fix __open in ld.so, thus fixing dlopen().
[ Adam Conrad ]
* debian/patches/any/cvs-tst-malloc-thread-exit.diff: Backport fix from
diff --git a/debian/patches/hurd-i386/cvs-open.diff b/debian/patches/hurd-i386/cvs-open.diff
new file mode 100644
index 0000000..5532bfc
--- /dev/null
+++ b/debian/patches/hurd-i386/cvs-open.diff
@@ -0,0 +1,82 @@
+commit 23971d2e026d0f6843db02009fd19b8a260e25d7
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Sun Mar 20 17:56:47 2016 +0100
+
+ hurd: Do not hide rtld symbols which need to be preempted
+
+ * sysdeps/generic/dl-fcntl.h: New file, adds attribute_hidden to __open
+ and __fcntl.
+ * sysdeps/mach/hurd/dl-fcntl.h: New file, adds attribute_hidden to
+ __fcntl only.
+ * include/fcntl.h [IS_IN (rtld)]: Include <dl-fcntl.h> instead of
+ adding attribute_hidden to __open and __fcntl.
+
+diff --git a/include/fcntl.h b/include/fcntl.h
+index 4168ee4..3b2c887 100644
+--- a/include/fcntl.h
++++ b/include/fcntl.h
+@@ -31,8 +31,7 @@ extern int __openat64_2 (int __fd, const char *__path, int __oflag);
+
+
+ #if IS_IN (rtld)
+-extern __typeof (__open) __open attribute_hidden;
+-extern __typeof (__fcntl) __fcntl attribute_hidden;
++# include <dl-fcntl.h>
+ #endif
+
+ /* Flag determining whether the *at system calls are available. */
+diff --git a/sysdeps/generic/dl-fcntl.h b/sysdeps/generic/dl-fcntl.h
+new file mode 100644
+index 0000000..ee3c49c
+--- /dev/null
++++ b/sysdeps/generic/dl-fcntl.h
+@@ -0,0 +1,21 @@
++/* Functions with hidden attribute internal to ld.so, which are declared
++ in include/fcntl.h. Generic version.
++ Copyright (C) 2016 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++extern __typeof (__open) __open attribute_hidden;
++extern __typeof (__fcntl) __fcntl attribute_hidden;
+diff --git a/sysdeps/mach/hurd/dl-fcntl.h b/sysdeps/mach/hurd/dl-fcntl.h
+new file mode 100644
+index 0000000..c34bf12
+--- /dev/null
++++ b/sysdeps/mach/hurd/dl-fcntl.h
+@@ -0,0 +1,22 @@
++/* Functions with hidden attribute internal to ld.so, which are declared
++ in include/fcntl.h. Hurd version.
++ Copyright (C) 2016 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++/* __open can't be hidden in ld.so on Hurd since it will be preempted by the
++ one in libc.so after bootstrap. */
++extern __typeof (__fcntl) __fcntl attribute_hidden;
diff --git a/debian/patches/series b/debian/patches/series
index 15d678d..7c7fa2c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -136,6 +136,7 @@ hurd-i386/cvs-openat.diff
hurd-i386/cvs-gai_sigqueue.diff
hurd-i386/cvs-aio_sigqueue.diff
hurd-i386/cvs-pt-kill.diff
+hurd-i386/cvs-open.diff
i386/local-biarch.diff
i386/local-cmov.diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git
Reply to: