r6514 - in glibc-package/branches/glibc-2.21/debian: . patches patches/hurd-i386
Author: sthibault
Date: 2015-08-30 16:34:06 +0000 (Sun, 30 Aug 2015)
New Revision: 6514
Added:
glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-versions-hack.diff
Modified:
glibc-package/branches/glibc-2.21/debian/changelog
glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/libpthread_version.diff
glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-hurdsig-global-dispositions-version.diff
glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/submitted-exec_filename.diff
glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sigstate_thread_reference.diff
glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/unsubmitted-libc_alloca_cutoff.diff
glibc-package/branches/glibc-2.21/debian/patches/series.hurd-i386
Log:
Symbol versions which contain _DEBIAN_ are unexpected by upstream scripts.
Add hurd-i386-only patches/hurd-i386/local-versions-hack.diff to work
around the issue. Also take the opportunity of the upstream version bump
to bump the versions to GLIBC_2_21, which will allow to remove the
_DEBIAN_ hacks once packages are rebuilt.
Modified: glibc-package/branches/glibc-2.21/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.21/debian/changelog 2015-08-29 09:20:03 UTC (rev 6513)
+++ glibc-package/branches/glibc-2.21/debian/changelog 2015-08-30 16:34:06 UTC (rev 6514)
@@ -1,6 +1,11 @@
glibc (2.21-0experimental2) UNRELEASED; urgency=medium
- *
+ [ Samuel Thibault ]
+ * Symbol versions which contain _DEBIAN_ are unexpected by upstream scripts.
+ Add hurd-i386-only patches/hurd-i386/local-versions-hack.diff to work
+ around the issue. Also take the opportunity of the upstream version bump
+ to bump the versions to GLIBC_2_21, which will allow to remove the
+ _DEBIAN_ hacks once packages are rebuilt.
-- Aurelien Jarno <aurel32@debian.org> Sat, 29 Aug 2015 00:43:44 +0200
Modified: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/libpthread_version.diff
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/libpthread_version.diff 2015-08-29 09:20:03 UTC (rev 6513)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/libpthread_version.diff 2015-08-30 16:34:06 UTC (rev 6514)
@@ -1,5 +1,9 @@
This dates when libpthread was moved to glibc and some features were added.
+2.13-31/38/39 dates when the global signal disposition call was added.
+TODO: _DEBIAN_ in versions however pose problem. Remove the _DEBIAN_ version
+once packages are rebuilt against 2.21.
+
Index: glibc-2.21/libpthread/Versions
===================================================================
--- glibc-2.21.orig/libpthread/Versions
@@ -11,15 +15,203 @@
pthread_attr_destroy; pthread_attr_getdetachstate;
pthread_attr_getinheritsched; pthread_attr_getschedparam;
pthread_attr_getschedpolicy; pthread_attr_getscope; pthread_attr_init;
-@@ -132,8 +132,10 @@ libpthread {
+@@ -16,6 +16,25 @@ libc {
+ pthread_mutex_lock; pthread_mutex_trylock; pthread_mutex_unlock;
+ pthread_self; pthread_setcancelstate; pthread_setcanceltype;
+ __pthread_get_cleanup_stack;
++ }
++ GLIBC_2.21 {
++ pthread_attr_destroy; pthread_attr_getdetachstate;
++ pthread_attr_getinheritsched; pthread_attr_getschedparam;
++ pthread_attr_getschedpolicy; pthread_attr_getscope; pthread_attr_init;
++ pthread_attr_setdetachstate; pthread_attr_setinheritsched;
++ pthread_attr_setschedparam; pthread_attr_setschedpolicy;
++ pthread_attr_setscope;
++ pthread_condattr_destroy; pthread_condattr_init;
++ pthread_cond_broadcast; pthread_cond_destroy;
++ pthread_cond_init; pthread_cond_signal; pthread_cond_wait;
++ pthread_cond_timedwait;
++ pthread_equal;
++ pthread_exit; pthread_getschedparam; pthread_setschedparam;
++ pthread_mutex_destroy; pthread_mutex_init;
++ pthread_mutex_lock; pthread_mutex_trylock; pthread_mutex_unlock;
++ pthread_self; pthread_setcancelstate; pthread_setcanceltype;
++ __pthread_get_cleanup_stack;
++ }
+ GLIBC_PRIVATE {
+ __libc_pthread_init;
+ __register_atfork;
+@@ -132,7 +151,13 @@ libpthread {
__pthread_spin_lock; __pthread_spin_trylock; __pthread_spin_unlock;
_pthread_spin_lock;
}
- GLIBC_2.17 {
+ GLIBC_2.13_DEBIAN_38 {
- pthread_hurd_cond_wait_np;
++ pthread_hurd_cond_wait_np;
+ }
+ GLIBC_2.13_DEBIAN_39 {
++ pthread_hurd_cond_timedwait_np;
++ }
++ GLIBC_2.21 {
+ pthread_hurd_cond_wait_np;
pthread_hurd_cond_timedwait_np;
}
- GLIBC_PRIVATE {
+Index: glibc-2.21/libpthread/sysdeps/mach/hurd/pt-hurd-cond-timedwait.c
+===================================================================
+--- glibc-2.21.orig/libpthread/sysdeps/mach/hurd/pt-hurd-cond-timedwait.c
++++ glibc-2.21/libpthread/sysdeps/mach/hurd/pt-hurd-cond-timedwait.c
+@@ -23,6 +23,8 @@
+
+ #include <pt-internal.h>
+
++#include <shlib-compat.h>
++
+ extern int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond,
+ pthread_mutex_t *mutex,
+ const struct timespec *abstime);
+@@ -34,8 +36,18 @@ __pthread_hurd_cond_timedwait_np (pthrea
+ {
+ return __pthread_hurd_cond_timedwait_internal (cond, mutex, abstime);
+ }
++versioned_symbol (libpthread, __pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np, GLIBC_2_21);
+
+-strong_alias (__pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np);
++#if SHLIB_COMPAT (libpthread, GLIBC_2_13, GLIBC_2_21)
++int
++__pthread_hurd_cond_timedwait_np_2_13 (pthread_cond_t *cond,
++ pthread_mutex_t *mutex,
++ const struct timespec *abstime)
++{
++ return __pthread_hurd_cond_timedwait_internal (cond, mutex, abstime);
++}
++compat_symbol (libpthread, __pthread_hurd_cond_timedwait_np_2_13, pthread_hurd_cond_timedwait_np, GLIBC_2_13_DEBIAN_39);
++#endif
+
+ int
+ __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond,
+Index: glibc-2.21/libpthread/sysdeps/mach/hurd/pt-hurd-cond-wait.c
+===================================================================
+--- glibc-2.21.orig/libpthread/sysdeps/mach/hurd/pt-hurd-cond-wait.c
++++ glibc-2.21/libpthread/sysdeps/mach/hurd/pt-hurd-cond-wait.c
+@@ -23,6 +23,8 @@
+
+ #include <pt-internal.h>
+
++#include <shlib-compat.h>
++
+ /* Implemented in pt-hurd-cond-timedwait.c. */
+ extern int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond,
+ pthread_mutex_t *mutex,
+@@ -37,5 +39,17 @@ __pthread_hurd_cond_wait_np (pthread_con
+ err = __pthread_hurd_cond_timedwait_internal (cond, mutex, NULL);
+ return (err == EINTR);
+ }
++versioned_symbol (libpthread, __pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np, GLIBC_2_21);
+
+-strong_alias (__pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np);
++#if SHLIB_COMPAT (libpthread, GLIBC_2_13, GLIBC_2_21)
++int
++__pthread_hurd_cond_wait_np_2_13 (pthread_cond_t *cond,
++ pthread_mutex_t *mutex)
++{
++ error_t err;
++
++ err = __pthread_hurd_cond_timedwait_internal (cond, mutex, NULL);
++ return (err == EINTR);
++}
++compat_symbol (libpthread, __pthread_hurd_cond_wait_np_2_13, pthread_hurd_cond_wait_np, GLIBC_2_13_DEBIAN_38);
++#endif
+Index: glibc-2.21/libpthread/forward.c
+===================================================================
+--- glibc-2.21.orig/libpthread/forward.c
++++ glibc-2.21/libpthread/forward.c
+@@ -23,20 +23,37 @@
+ #include <shlib-compat.h>
+ #include <pthread-functions.h>
+
++#include <shlib-compat.h>
++
+ /* Pointers to the libc functions. */
+ struct pthread_functions __libc_pthread_functions attribute_hidden;
+ int __libc_pthread_functions_init attribute_hidden;
+
+-
+ # define FORWARD2(name, rettype, decl, params, defaction) \
+ rettype \
+-name decl \
++__##name decl \
+ { \
+ if (!__libc_pthread_functions_init) \
+ defaction; \
+ \
+ return PTHFCT_CALL (ptr_##name, params); \
+-}
++} \
++versioned_symbol (libc, __##name, name, GLIBC_2_21); \
++
++#if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
++# define FORWARD2_COMPAT(name, rettype, decl, params, defaction) \
++rettype \
++__##name##_2_13 decl \
++{ \
++ if (!__libc_pthread_functions_init) \
++ defaction; \
++ \
++ return PTHFCT_CALL (ptr_##name, params); \
++} \
++compat_symbol (libc, __##name##_2_13, name, GLIBC_2_13_DEBIAN_31);
++#else
++# define FORWARD2_COMPAT(name, rettype, decl, params, defaction)
++#endif
+
+ /* Same as FORWARD2, only without return. */
+ # define FORWARD_NORETURN(name, rettype, decl, params, defaction) \
+@@ -47,10 +64,19 @@ name decl \
+ defaction; \
+ \
+ PTHFCT_CALL (ptr_##name, params); \
++} \
++rettype \
++name##_2_13 decl \
++{ \
++ if (!__libc_pthread_functions_init) \
++ defaction; \
++ \
++ PTHFCT_CALL (ptr_##name, params); \
+ }
+
+ # define FORWARD(name, decl, params, defretval) \
+- FORWARD2 (name, int, decl, params, return defretval)
++ FORWARD2 (name, int, decl, params, return defretval) \
++ FORWARD2_COMPAT (name, int, decl, params, return defretval)
+
+ FORWARD (pthread_attr_destroy, (pthread_attr_t *attr), (attr), 0)
+
+@@ -107,7 +133,10 @@ FORWARD (pthread_equal, (pthread_t threa
+
+ /* Use an alias to avoid warning, as pthread_exit is declared noreturn. */
+ FORWARD_NORETURN (__pthread_exit, void, (void *retval), (retval), exit (EXIT_SUCCESS))
+-strong_alias (__pthread_exit, pthread_exit);
++versioned_symbol (libc, __pthread_exit, pthread_exit, GLIBC_2_21);
++#if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
++compat_symbol (libc, __pthread_exit_2_13, pthread_exit, GLIBC_2_13_DEBIAN_31);
++#endif
+
+
+ FORWARD (pthread_getschedparam,
+@@ -130,6 +159,7 @@ FORWARD (pthread_mutex_unlock, (pthread_
+
+
+ FORWARD2 (pthread_self, pthread_t, (void), (), return 0)
++FORWARD2_COMPAT (pthread_self, pthread_t, (void), (), return 0)
+
+
+ FORWARD (pthread_setcancelstate, (int state, int *oldstate), (state, oldstate),
+@@ -139,6 +169,7 @@ FORWARD (pthread_setcanceltype, (int typ
+
+ struct __pthread_cancelation_handler *dummy_list;
+ FORWARD2 (__pthread_get_cleanup_stack, struct __pthread_cancelation_handler **, (void), (), return &dummy_list);
++FORWARD2_COMPAT (__pthread_get_cleanup_stack, struct __pthread_cancelation_handler **, (void), (), return &dummy_list);
+
+
+ /* Fork interaction */
Modified: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-hurdsig-global-dispositions-version.diff
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-hurdsig-global-dispositions-version.diff 2015-08-29 09:20:03 UTC (rev 6513)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-hurdsig-global-dispositions-version.diff 2015-08-30 16:34:06 UTC (rev 6514)
@@ -1,6 +1,8 @@
jkoenig's work on signals
-This dates when the global signal disposition call was added.
+2.13-19 dates when the global signal disposition call was added.
+TODO: _DEBIAN_ in versions however pose problem. Remove the _DEBIAN_ version
+once packages are rebuilt against 2.21.
---
hurd/Versions | 8 ++++++++
@@ -10,7 +12,7 @@
===================================================================
--- glibc-2.21.orig/hurd/Versions
+++ glibc-2.21/hurd/Versions
-@@ -124,6 +124,14 @@ libc {
+@@ -124,6 +124,22 @@ libc {
# functions used in macros & inline functions
__errno_location;
}
@@ -22,6 +24,130 @@
+ _hurd_sigstate_unlock;
+ _hurd_sigstate_delete;
+ }
++ GLIBC_2.21 {
++ # functions used by libpthread and <hurd/signal.h>
++ _hurd_sigstate_set_global_rcv;
++ _hurd_sigstate_lock;
++ _hurd_sigstate_pending;
++ _hurd_sigstate_unlock;
++ _hurd_sigstate_delete;
++ }
HURD_CTHREADS_0.3 {
# weak refs to libthreads functions that libc calls iff libthreads in use
+Index: glibc-2.21/hurd/hurdsig.c
+===================================================================
+--- glibc-2.21.orig/hurd/hurdsig.c
++++ glibc-2.21/hurd/hurdsig.c
+@@ -32,6 +32,8 @@
+ #include "hurdmalloc.h" /* XXX */
+ #include "../locale/localeinfo.h"
+
++#include <shlib-compat.h>
++
+ const char *_hurdsig_getenv (const char *);
+
+ struct mutex _hurd_siglock;
+@@ -128,7 +130,7 @@ _hurd_thread_sigstate (thread_t thread)
+ * corresponding thread is terminated (the kernel thread port must remain valid
+ * until this function is called.) */
+ void
+-_hurd_sigstate_delete (thread_t thread)
++__hurd_sigstate_delete (thread_t thread)
+ {
+ struct hurd_sigstate **ssp, *ss;
+
+@@ -145,14 +147,32 @@ _hurd_sigstate_delete (thread_t thread)
+ if (ss)
+ free (ss);
+ }
++versioned_symbol (libc, __hurd_sigstate_delete, _hurd_sigstate_delete, GLIBC_2_21);
++#if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
++void
++__hurd_sigstate_delete_2_13 (thread_t thread)
++{
++ __hurd_sigstate_delete (thread);
++}
++compat_symbol (libc, __hurd_sigstate_delete_2_13, _hurd_sigstate_delete, GLIBC_2_13_DEBIAN_19);
++#endif
+
+ /* Make SS a global receiver, with pthread signal semantics. */
+ void
+-_hurd_sigstate_set_global_rcv (struct hurd_sigstate *ss)
++__hurd_sigstate_set_global_rcv (struct hurd_sigstate *ss)
+ {
+ assert (ss->thread != MACH_PORT_NULL);
+ ss->actions[0].sa_handler = SIG_IGN;
+ }
++versioned_symbol (libc, __hurd_sigstate_set_global_rcv, _hurd_sigstate_set_global_rcv, GLIBC_2_21);
++#if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
++void
++__hurd_sigstate_set_global_rcv_2_13 (struct hurd_sigstate *ss)
++{
++ __hurd_sigstate_set_global_rcv (ss);
++}
++compat_symbol (libc, __hurd_sigstate_set_global_rcv_2_13, _hurd_sigstate_set_global_rcv, GLIBC_2_13_DEBIAN_19);
++#endif
+
+ /* Check whether SS is a global receiver. */
+ static int
+@@ -164,30 +184,56 @@ sigstate_is_global_rcv (const struct hur
+ /* Lock/unlock a hurd_sigstate structure. If the accessors below require
+ it, the global sigstate will be locked as well. */
+ void
+-_hurd_sigstate_lock (struct hurd_sigstate *ss)
++__hurd_sigstate_lock (struct hurd_sigstate *ss)
+ {
+ if (sigstate_is_global_rcv (ss))
+ __spin_lock (&_hurd_global_sigstate->lock);
+ __spin_lock (&ss->lock);
+ }
+ void
+-_hurd_sigstate_unlock (struct hurd_sigstate *ss)
++__hurd_sigstate_unlock (struct hurd_sigstate *ss)
+ {
+ __spin_unlock (&ss->lock);
+ if (sigstate_is_global_rcv (ss))
+ __spin_unlock (&_hurd_global_sigstate->lock);
+ }
++versioned_symbol (libc, __hurd_sigstate_lock, _hurd_sigstate_lock, GLIBC_2_21);
++versioned_symbol (libc, __hurd_sigstate_unlock, _hurd_sigstate_unlock, GLIBC_2_21);
++
++#if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
++void
++__hurd_sigstate_lock_2_13 (struct hurd_sigstate *ss)
++{
++ __hurd_sigstate_lock (ss);
++}
++void
++__hurd_sigstate_unlock_2_13 (struct hurd_sigstate *ss)
++{
++ __hurd_sigstate_unlock (ss);
++}
++compat_symbol (libc, __hurd_sigstate_lock_2_13, _hurd_sigstate_lock, GLIBC_2_13_DEBIAN_19);
++compat_symbol (libc, __hurd_sigstate_unlock_2_13, _hurd_sigstate_unlock, GLIBC_2_13_DEBIAN_19);
++#endif
+
+ /* Retreive a thread's full set of pending signals, including the global
+ ones if appropriate. SS must be locked. */
+ sigset_t
+-_hurd_sigstate_pending (const struct hurd_sigstate *ss)
++__hurd_sigstate_pending (const struct hurd_sigstate *ss)
+ {
+ sigset_t pending = ss->pending;
+ if (sigstate_is_global_rcv (ss))
+ __sigorset (&pending, &pending, &_hurd_global_sigstate->pending);
+ return pending;
+ }
++versioned_symbol (libc, __hurd_sigstate_pending, _hurd_sigstate_pending, GLIBC_2_21);
++#if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
++sigset_t
++__hurd_sigstate_pending_2_13 (const struct hurd_sigstate *ss)
++{
++ return __hurd_sigstate_pending (ss);
++}
++compat_symbol (libc, __hurd_sigstate_pending_2_13, _hurd_sigstate_pending, GLIBC_2_13_DEBIAN_19);
++#endif
+
+ /* Clear a pending signal and return the associated detailed
+ signal information. SS must be locked, and must have signal SIGNO
Added: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-versions-hack.diff
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-versions-hack.diff (rev 0)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/local-versions-hack.diff 2015-08-30 16:34:06 UTC (rev 6514)
@@ -0,0 +1,22 @@
+Oops, these old _DEBIAN_ symbol versions don't play nice with the new upstream
+sorting scripts. Hack around that for now, and we'll have to rebuild packages
+using these symbols to get rid of the oddly-shaped _DEBIAN_ version.
+
+Index: glibc-2.21/scripts/versionlist.awk
+===================================================================
+--- glibc-2.21.orig/scripts/versionlist.awk
++++ glibc-2.21/scripts/versionlist.awk
+@@ -54,11 +54,11 @@ END {
+ # for the cases we have so far. e.g. GCC_3.0 is "later than"
+ # all GLIBC_* sets that matter for purposes of Versions files.
+
+- sort = "sort -u -t. -k 1,1 -k 2n,2n -k 3";
++ sort = "sed s/_DEBIAN_/.DEBIAN_/ | sort -u -t. -k 1,1 -k 2n,2n -k 3 | sed s/.DEBIAN_/_DEBIAN_/";
+ printf "%s", libs[lib] | sort;
+ close(sort);
+
+- sort = "sort -u -t. -k 1,1 -k 2n,2n -k 3";
++ sort = "sed s/_DEBIAN_/.DEBIAN_/ | sort -u -t. -k 1,1 -k 2n,2n -k 3 | sed s/.DEBIAN_/_DEBIAN_/";
+ printf "%s", others_libs[lib] | sort;
+ close(sort);
+
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-08-29 09:20:03 UTC (rev 6513)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/submitted-exec_filename.diff 2015-08-30 16:34:06 UTC (rev 6514)
@@ -1,3 +1,8 @@
+2.13-33 dates when this was added
+
+TODO: _DEBIAN_ in versions however pose problem. Remove the _DEBIAN_ version
+once packages are rebuilt against 2.21.
+
2010-08-04 Emilio Pozuelo Monfort <pochu27@gmail.com>
* hurd/hurdexec.c (_hurd_exec): Deprecate it.
(_hurd_exec_file_name): New function.
@@ -32,7 +37,7 @@
===================================================================
--- glibc-2.21.orig/hurd/Versions
+++ glibc-2.21/hurd/Versions
-@@ -132,6 +132,10 @@ libc {
+@@ -140,6 +140,14 @@ libc {
_hurd_sigstate_unlock;
_hurd_sigstate_delete;
}
@@ -40,6 +45,10 @@
+ # "quasi-internal" functions
+ _hurd_exec_file_name;
+ }
++ GLIBC_2.21 {
++ # "quasi-internal" functions
++ _hurd_exec_file_name;
++ }
HURD_CTHREADS_0.3 {
# weak refs to libthreads functions that libc calls iff libthreads in use
@@ -89,8 +98,12 @@
===================================================================
--- glibc-2.21.orig/hurd/hurdexec.c
+++ glibc-2.21/hurd/hurdexec.c
-@@ -30,11 +30,29 @@
+@@ -28,13 +28,33 @@
+ #include <assert.h>
+ #include <argz.h>
++#include <shlib-compat.h>
++
/* Overlay TASK, executing FILE with arguments ARGV and environment ENVP.
If TASK == mach_task_self (), some ports are dealloc'd by the exec server.
- ARGV and ENVP are terminated by NULL pointers. */
@@ -114,13 +127,13 @@
+ FILE if FILE is a script, and will then pass /dev/fd/N to the
+ interpreter. */
+error_t
-+_hurd_exec_file_name (task_t task, file_t file, const char *filename,
++__hurd_exec_file_name (task_t task, file_t file, const char *filename,
+ char *const argv[], char *const envp[])
+{
error_t err;
char *args, *env;
size_t argslen, envlen;
-@@ -216,7 +234,7 @@ _hurd_exec (task_t task, file_t file,
+@@ -216,7 +236,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
@@ -129,7 +142,7 @@
auth_t newauth;
-@@ -360,13 +378,27 @@ _hurd_exec (task_t task, file_t file,
+@@ -360,13 +380,27 @@ _hurd_exec (task_t task, file_t file,
if (__sigismember (&_hurdsig_traced, SIGKILL))
flags |= EXEC_SIGTRAP;
#endif
@@ -164,6 +177,20 @@
}
/* Release references to the standard ports. */
+@@ -401,3 +435,13 @@ _hurd_exec (task_t task, file_t file,
+ free (env);
+ return err;
+ }
++versioned_symbol (libc, __hurd_exec_file_name, _hurd_exec_file_name, GLIBC_2_21);
++#if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
++error_t
++__hurd_exec_file_name_2_13 (task_t task, file_t file, const char *filename,
++ char *const argv[], char *const envp[])
++{
++ return __hurd_exec_file_name (task, file, filename, argv, envp);
++}
++compat_symbol (libc, __hurd_exec_file_name_2_13, _hurd_exec_file_name, GLIBC_2_13_DEBIAN_33);
++#endif
Index: glibc-2.21/sysdeps/mach/hurd/execve.c
===================================================================
--- glibc-2.21.orig/sysdeps/mach/hurd/execve.c
Modified: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sigstate_thread_reference.diff
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sigstate_thread_reference.diff 2015-08-29 09:20:03 UTC (rev 6513)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/tg-sigstate_thread_reference.diff 2015-08-30 16:34:06 UTC (rev 6514)
@@ -100,9 +100,9 @@
- * until this function is called.) */
+ * corresponding thread is terminated. */
void
- _hurd_sigstate_delete (thread_t thread)
+ __hurd_sigstate_delete (thread_t thread)
{
-@@ -146,7 +152,12 @@ _hurd_sigstate_delete (thread_t thread)
+@@ -145,7 +151,12 @@ __hurd_sigstate_delete (thread_t thread)
__mutex_unlock (&_hurd_siglock);
if (ss)
@@ -114,5 +114,5 @@
+ free (ss);
+ }
}
-
- /* Make SS a global receiver, with pthread signal semantics. */
+ versioned_symbol (libc, __hurd_sigstate_delete, _hurd_sigstate_delete, GLIBC_2_21);
+ #if SHLIB_COMPAT (libc, GLIBC_2_13, GLIBC_2_21)
Modified: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/unsubmitted-libc_alloca_cutoff.diff
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/unsubmitted-libc_alloca_cutoff.diff 2015-08-29 09:20:03 UTC (rev 6513)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/unsubmitted-libc_alloca_cutoff.diff 2015-08-30 16:34:06 UTC (rev 6514)
@@ -23,22 +23,22 @@
+ return size <= 4096;
+}
+libc_hidden_def (__libc_alloca_cutoff)
-Index: glibc/libpthread/Versions
+Index: glibc-2.21/libpthread/Versions
===================================================================
---- glibc.orig/libpthread/Versions
-+++ glibc/libpthread/Versions
-@@ -17,6 +17,7 @@ libc {
- pthread_self; pthread_setcancelstate; pthread_setcanceltype;
+--- glibc-2.21.orig/libpthread/Versions
++++ glibc-2.21/libpthread/Versions
+@@ -36,6 +36,7 @@ libc {
__pthread_get_cleanup_stack;
+ }
GLIBC_PRIVATE {
+ __libc_alloca_cutoff;
__libc_pthread_init;
__register_atfork;
}
-diff --git a/sysdeps/pthread/allocalim.h b/sysdeps/pthread/allocalim.h
-index 718f199..e4d0825 100644
---- a/sysdeps/pthread/allocalim.h
-+++ b/sysdeps/pthread/allocalim.h
+Index: glibc-2.21/sysdeps/pthread/allocalim.h
+===================================================================
+--- glibc-2.21.orig/sysdeps/pthread/allocalim.h
++++ glibc-2.21/sysdeps/pthread/allocalim.h
@@ -24,6 +24,9 @@ extern __always_inline
int
__libc_use_alloca (size_t size)
Modified: glibc-package/branches/glibc-2.21/debian/patches/series.hurd-i386
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/series.hurd-i386 2015-08-29 09:20:03 UTC (rev 6513)
+++ glibc-package/branches/glibc-2.21/debian/patches/series.hurd-i386 2015-08-30 16:34:06 UTC (rev 6514)
@@ -12,3 +12,4 @@
hurd-i386/submitted-handle-eprototype.diff
hurd-i386/local-no-bootstrap-fs-access.diff
hurd-i386/unsubmitted-timer_routines.diff
+hurd-i386/local-versions-hack.diff
Reply to: