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

r2637 - glibc-package/branches/glibc-2.7/debian/patches/hurd-i386



Author: mbanck
Date: 2007-10-30 17:51:13 +0000 (Tue, 30 Oct 2007)
New Revision: 2637

Modified:
   glibc-package/branches/glibc-2.7/debian/patches/hurd-i386/local-tls-support.diff
Log:
Removed .orig/.rej hunks

Modified: glibc-package/branches/glibc-2.7/debian/patches/hurd-i386/local-tls-support.diff
===================================================================
--- glibc-package/branches/glibc-2.7/debian/patches/hurd-i386/local-tls-support.diff	2007-10-29 21:08:44 UTC (rev 2636)
+++ glibc-package/branches/glibc-2.7/debian/patches/hurd-i386/local-tls-support.diff	2007-10-30 17:51:13 UTC (rev 2637)
@@ -13,292 +13,6 @@
  
    /* Set up the stack checker's canary.  */
    uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
---- csu/libc-start.c.orig.orig
-+++ csu/libc-start.c.orig
-@@ -0,0 +1,253 @@
-+/* Copyright (C) 1998-2006, 2007 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, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <ldsodefs.h>
-+#include <bp-start.h>
-+#include <bp-sym.h>
-+
-+extern void __libc_init_first (int argc, char **argv, char **envp);
-+
-+extern int __libc_multiple_libcs;
-+
-+#include <tls.h>
-+#ifndef SHARED
-+# include <dl-osinfo.h>
-+extern void __pthread_initialize_minimal (void);
-+# ifndef THREAD_SET_STACK_GUARD
-+/* Only exported for architectures that don't store the stack guard canary
-+   in thread local area.  */
-+uintptr_t __stack_chk_guard attribute_relro;
-+# endif
-+#endif
-+
-+#ifdef HAVE_PTR_NTHREADS
-+/* We need atomic operations.  */
-+# include <atomic.h>
-+#endif
-+
-+
-+#ifdef LIBC_START_MAIN
-+# ifdef LIBC_START_DISABLE_INLINE
-+#  define STATIC static
-+# else
-+#  define STATIC static inline __attribute__ ((always_inline))
-+# endif
-+#else
-+# define STATIC
-+# define LIBC_START_MAIN BP_SYM (__libc_start_main)
-+#endif
-+
-+#ifdef MAIN_AUXVEC_ARG
-+/* main gets passed a pointer to the auxiliary.  */
-+# define MAIN_AUXVEC_DECL	, void *
-+# define MAIN_AUXVEC_PARAM	, auxvec
-+#else
-+# define MAIN_AUXVEC_DECL
-+# define MAIN_AUXVEC_PARAM
-+#endif
-+
-+STATIC int LIBC_START_MAIN (int (*main) (int, char **, char **
-+					 MAIN_AUXVEC_DECL),
-+			    int argc,
-+			    char *__unbounded *__unbounded ubp_av,
-+#ifdef LIBC_START_MAIN_AUXVEC_ARG
-+			    ElfW(auxv_t) *__unbounded auxvec,
-+#endif
-+			    __typeof (main) init,
-+			    void (*fini) (void),
-+			    void (*rtld_fini) (void),
-+			    void *__unbounded stack_end)
-+     __attribute__ ((noreturn));
-+
-+
-+/* Note: the fini parameter is ignored here for shared library.  It
-+   is registered with __cxa_atexit.  This had the disadvantage that
-+   finalizers were called in more than one place.  */
-+STATIC int
-+LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL),
-+		 int argc, char *__unbounded *__unbounded ubp_av,
-+#ifdef LIBC_START_MAIN_AUXVEC_ARG
-+		 ElfW(auxv_t) *__unbounded auxvec,
-+#endif
-+		 __typeof (main) init,
-+		 void (*fini) (void),
-+		 void (*rtld_fini) (void), void *__unbounded stack_end)
-+{
-+#if __BOUNDED_POINTERS__
-+  char **argv;
-+#else
-+# define argv ubp_av
-+#endif
-+
-+  /* Result of the 'main' function.  */
-+  int result;
-+
-+  __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up;
-+
-+#ifndef SHARED
-+  char *__unbounded *__unbounded ubp_ev = &ubp_av[argc + 1];
-+
-+  INIT_ARGV_and_ENVIRON;
-+
-+  /* Store the lowest stack address.  This is done in ld.so if this is
-+     the code for the DSO.  */
-+  __libc_stack_end = stack_end;
-+
-+# ifdef HAVE_AUX_VECTOR
-+  /* First process the auxiliary vector since we need to find the
-+     program header to locate an eventually present PT_TLS entry.  */
-+#  ifndef LIBC_START_MAIN_AUXVEC_ARG
-+  ElfW(auxv_t) *__unbounded auxvec;
-+  {
-+    char *__unbounded *__unbounded evp = ubp_ev;
-+    while (*evp++ != NULL)
-+      ;
-+    auxvec = (ElfW(auxv_t) *__unbounded) evp;
-+  }
-+#  endif
-+  _dl_aux_init (auxvec);
-+# endif
-+# ifdef DL_SYSDEP_OSCHECK
-+  if (!__libc_multiple_libcs)
-+    {
-+      /* This needs to run to initiliaze _dl_osversion before TLS
-+	 setup might check it.  */
-+      DL_SYSDEP_OSCHECK (__libc_fatal);
-+    }
-+# endif
-+
-+  /* Initialize the thread library at least a bit since the libgcc
-+     functions are using thread functions if these are available and
-+     we need to setup errno.  */
-+  __pthread_initialize_minimal ();
-+
-+  /* Set up the stack checker's canary.  */
-+  uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
-+# ifdef THREAD_SET_STACK_GUARD
-+  THREAD_SET_STACK_GUARD (stack_chk_guard);
-+# else
-+  __stack_chk_guard = stack_chk_guard;
-+# endif
-+#endif
-+
-+  /* Register the destructor of the dynamic linker if there is any.  */
-+  if (__builtin_expect (rtld_fini != NULL, 1))
-+    __cxa_atexit ((void (*) (void *)) rtld_fini, NULL, NULL);
-+
-+#ifndef SHARED
-+  /* Call the initializer of the libc.  This is only needed here if we
-+     are compiling for the static library in which case we haven't
-+     run the constructors in `_dl_start_user'.  */
-+  __libc_init_first (argc, argv, __environ);
-+
-+  /* Register the destructor of the program, if any.  */
-+  if (fini)
-+    __cxa_atexit ((void (*) (void *)) fini, NULL, NULL);
-+
-+  /* Some security at this point.  Prevent starting a SUID binary where
-+     the standard file descriptors are not opened.  We have to do this
-+     only for statically linked applications since otherwise the dynamic
-+     loader did the work already.  */
-+  if (__builtin_expect (__libc_enable_secure, 0))
-+    __libc_check_standard_fds ();
-+#endif
-+
-+  /* Call the initializer of the program, if any.  */
-+#ifdef SHARED
-+  if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0))
-+    GLRO(dl_debug_printf) ("\ninitialize program: %s\n\n", argv[0]);
-+#endif
-+  if (init)
-+    (*init) (argc, argv, __environ MAIN_AUXVEC_PARAM);
-+
-+#ifdef SHARED
-+  /* Auditing checkpoint: we have a new object.  */
-+  if (__builtin_expect (GLRO(dl_naudit) > 0, 0))
-+    {
-+      struct audit_ifaces *afct = GLRO(dl_audit);
-+      struct link_map *head = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
-+      for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt)
-+	{
-+	  if (afct->preinit != NULL)
-+	    afct->preinit (&head->l_audit[cnt].cookie);
-+
-+	  afct = afct->next;
-+	}
-+    }
-+#endif
-+
-+#ifdef SHARED
-+  if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0))
-+    GLRO(dl_debug_printf) ("\ntransferring control: %s\n\n", argv[0]);
-+#endif
-+
-+#ifdef HAVE_CLEANUP_JMP_BUF
-+  /* Memory for the cancellation buffer.  */
-+  struct pthread_unwind_buf unwind_buf;
-+
-+  int not_first_call;
-+  not_first_call = setjmp ((struct __jmp_buf_tag *) unwind_buf.cancel_jmp_buf);
-+  if (__builtin_expect (! not_first_call, 1))
-+    {
-+      struct pthread *self = THREAD_SELF;
-+
-+      /* Store old info.  */
-+      unwind_buf.priv.data.prev = THREAD_GETMEM (self, cleanup_jmp_buf);
-+      unwind_buf.priv.data.cleanup = THREAD_GETMEM (self, cleanup);
-+
-+      /* Store the new cleanup handler info.  */
-+      THREAD_SETMEM (self, cleanup_jmp_buf, &unwind_buf);
-+
-+      /* Run the program.  */
-+      result = main (argc, argv, __environ MAIN_AUXVEC_PARAM);
-+    }
-+  else
-+    {
-+      /* Remove the thread-local data.  */
-+# ifdef SHARED
-+      PTHFCT_CALL (ptr__nptl_deallocate_tsd, ());
-+# else
-+      extern void __nptl_deallocate_tsd (void) __attribute ((weak));
-+      __nptl_deallocate_tsd ();
-+# endif
-+
-+      /* One less thread.  Decrement the counter.  If it is zero we
-+	 terminate the entire process.  */
-+      result = 0;
-+# ifdef SHARED
-+      unsigned int *ptr = __libc_pthread_functions.ptr_nthreads;
-+      PTR_DEMANGLE (ptr);
-+# else
-+      extern unsigned int __nptl_nthreads __attribute ((weak));
-+      unsigned int *const ptr = &__nptl_nthreads;
-+# endif
-+
-+      if (! atomic_decrement_and_test (ptr))
-+	/* Not much left to do but to exit the thread, not the process.  */
-+	__exit_thread (0);
-+    }
-+#else
-+  /* Nothing fancy, just call the function.  */
-+  result = main (argc, argv, __environ MAIN_AUXVEC_PARAM);
-+#endif
-+
-+  exit (result);
-+}
---- csu/libc-start.c.rej.orig
-+++ csu/libc-start.c.rej
-@@ -0,0 +1,27 @@
-+***************
-+*** 134,144 ****
-+      }
-+  # endif
-+  
-+    /* Initialize the thread library at least a bit since the libgcc
-+       functions are using thread functions if these are available and
-+       we need to setup errno.  */
-+    __pthread_initialize_minimal ();
-+  #endif
-+  
-+  # ifndef SHARED
-+    /* Set up the stack checker's canary.  */
-+--- 134,146 ----
-+      }
-+  # endif
-+  
-++ #ifndef __GNU__
-+    /* Initialize the thread library at least a bit since the libgcc
-+       functions are using thread functions if these are available and
-+       we need to setup errno.  */
-+    __pthread_initialize_minimal ();
-+  #endif
-++ #endif
-+  
-+  # ifndef SHARED
-+    /* Set up the stack checker's canary.  */
 --- hurd/hurdfault.c.orig
 +++ hurd/hurdfault.c
 @@ -206,6 +206,8 @@
@@ -341,114 +55,6 @@
 +kern_return_t mach_setup_tls (thread_t thread);
  
  #endif	/* mach.h */
---- mach/mach.h.orig.orig
-+++ mach/mach.h.orig
-@@ -0,0 +1,105 @@
-+/* Standard header for all Mach programs.
-+   Copyright (C) 1993,94,96,97,2002 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, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#ifndef	_MACH_H
-+
-+#define	_MACH_H	1
-+
-+/* We must include this before using __need_FILE with <stdio.h> below.  */
-+#include <features.h>
-+
-+
-+/* Get the basic types used by Mach.  */
-+#include <mach/mach_types.h>
-+
-+/* This declares the basic variables and macros everything needs.  */
-+#include <mach_init.h>
-+
-+/* This declares all the real system call functions.  */
-+#include <mach/mach_traps.h>
-+
-+/* These are MiG-generated headers for the kernel interfaces commonly used.  */
-+#include <mach/mach_interface.h> /* From <mach/mach.defs>.  */
-+#include <mach/mach_port.h>
-+#include <mach/mach_host.h>
-+
-+/* For the kernel RPCs which have system call shortcut versions,
-+   the MiG-generated header in fact declares `CALL_rpc' rather than `CALL'.
-+   This file declares the simple `CALL' functions.  */
-+#include <mach-shortcuts.h>
-+
-+
-+/* Receive RPC request messages on RCV_NAME and pass them to DEMUX, which
-+   decodes them and produces reply messages.  MAX_SIZE is the maximum size
-+   (in bytes) of the request and reply buffers.  */
-+extern mach_msg_return_t
-+__mach_msg_server (boolean_t (*__demux) (mach_msg_header_t *__request,
-+					 mach_msg_header_t *__reply),
-+		   mach_msg_size_t __max_size,
-+		   mach_port_t __rcv_name),
-+mach_msg_server (boolean_t (*__demux) (mach_msg_header_t *__request,
-+				       mach_msg_header_t *__reply),
-+		 mach_msg_size_t __max_size,
-+		 mach_port_t __rcv_name);
-+
-+/* Just like `mach_msg_server', but the OPTION and TIMEOUT parameters are
-+   passed on to `mach_msg'.  */
-+extern mach_msg_return_t
-+__mach_msg_server_timeout (boolean_t (*__demux) (mach_msg_header_t *__request,
-+						 mach_msg_header_t *__reply),
-+			   mach_msg_size_t __max_size,
-+			   mach_port_t __rcv_name,
-+			   mach_msg_option_t __option,
-+			   mach_msg_timeout_t __timeout),
-+mach_msg_server_timeout (boolean_t (*__demux) (mach_msg_header_t *__request,
-+					       mach_msg_header_t *__reply),
-+			 mach_msg_size_t __max_size,
-+			 mach_port_t __rcv_name,
-+			 mach_msg_option_t __option,
-+			 mach_msg_timeout_t __timeout);
-+
-+
-+/* Deallocate all port rights and out-of-line memory in MSG. */
-+extern void
-+__mach_msg_destroy (mach_msg_header_t *msg),
-+mach_msg_destroy (mach_msg_header_t *msg);
-+
-+
-+#define __need_FILE
-+#include <stdio.h>
-+
-+/* Open a stream on a Mach device.  */
-+extern FILE *mach_open_devstream (mach_port_t device_port, const char *mode);
-+
-+/* Give THREAD a stack and set it to run at PC when resumed.
-+   If *STACK_SIZE is nonzero, that size of stack is allocated.
-+   If *STACK_BASE is nonzero, that stack location is used.
-+   If STACK_BASE is not null it is filled in with the chosen stack base.
-+   If STACK_SIZE is not null it is filled in with the chosen stack size.
-+   Regardless, an extra page of red zone is allocated off the end; this
-+   is not included in *STACK_SIZE.  */
-+kern_return_t __mach_setup_thread (task_t task, thread_t thread, void *pc,
-+				   vm_address_t *stack_base,
-+				   vm_size_t *stack_size);
-+kern_return_t mach_setup_thread (task_t task, thread_t thread, void *pc,
-+				 vm_address_t *stack_base,
-+				 vm_size_t *stack_size);
-+
-+
-+#endif	/* mach.h */
 --- mach/setup-thread.c.orig
 +++ mach/setup-thread.c
 @@ -20,6 +20,7 @@



Reply to: