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

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: