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 <aure...@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 <poch...@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