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

r5509 - in glibc-package/branches/eglibc-2.17/debian: . patches/hurd-i386



Author: sthibault
Date: 2013-03-13 16:03:53 +0000 (Wed, 13 Mar 2013)
New Revision: 5509

Modified:
   glibc-package/branches/eglibc-2.17/debian/changelog
   glibc-package/branches/eglibc-2.17/debian/patches/hurd-i386/tg-tls.diff
Log:
patches/hurd-i386/tg-tls.diff: Update to tg version.


Modified: glibc-package/branches/eglibc-2.17/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.17/debian/changelog	2013-03-11 23:18:04 UTC (rev 5508)
+++ glibc-package/branches/eglibc-2.17/debian/changelog	2013-03-13 16:03:53 UTC (rev 5509)
@@ -15,6 +15,7 @@
   * patches/hurd-i386/tg-af_local_strlen.diff: New patch, fixes using PF_LOCAL
     paths without ending \0.
   * patches/hurd-i386/tg-nice.diff: New patch, fixes nice level granularity.
+  * patches/hurd-i386/tg-tls.diff: Update to tg version.
 
   [ Adam Conrad ]
   * debian/debhelper.in/libc.postint: Switch from 'awk gsub' to 'tr -d'

Modified: glibc-package/branches/eglibc-2.17/debian/patches/hurd-i386/tg-tls.diff
===================================================================
--- glibc-package/branches/eglibc-2.17/debian/patches/hurd-i386/tg-tls.diff	2013-03-11 23:18:04 UTC (rev 5508)
+++ glibc-package/branches/eglibc-2.17/debian/patches/hurd-i386/tg-tls.diff	2013-03-13 16:03:53 UTC (rev 5509)
@@ -231,7 +231,7 @@
  
    while (*envp)
      ++envp;
-@@ -120,27 +116,9 @@
+@@ -120,25 +116,11 @@
       data block; the argument strings start there.  */
    if ((void *) d == argv[0])
      {
@@ -248,17 +248,15 @@
        return;
      }
  
--#ifndef SHARED
--  __libc_enable_secure = d->flags & EXEC_SECURE;
+ #ifndef SHARED
+   __libc_enable_secure = d->flags & EXEC_SECURE;
 -
 -  _dl_phdr = (ElfW(Phdr) *) d->phdr;
 -  _dl_phnum = d->phdrsz / sizeof (ElfW(Phdr));
 -  assert (d->phdrsz % sizeof (ElfW(Phdr)) == 0);
--#endif
--
-   _hurd_init_dtable = d->dtable;
-   _hurd_init_dtablesize = d->dtablesize;
+ #endif
  
+   _hurd_init_dtable = d->dtable;
 @@ -174,13 +152,16 @@
    char **envp = &argv[argc + 1];
    struct hurd_startup_data *d;
@@ -277,16 +275,16 @@
    __hurd_threadvar_stack_offset = (unsigned long int) threadvars;
  
    /* Since the cthreads initialization code uses malloc, and the
-@@ -194,6 +175,39 @@
+@@ -194,6 +175,33 @@
      ++envp;
    d = (void *) ++envp;
  
++#ifndef SHARED
 +  /* If we are the bootstrap task started by the kernel,
 +     then after the environment pointers there is no Hurd
 +     data block; the argument strings start there.  */
 +  if ((void *) d == argv[0])
 +    {
-+#ifndef SHARED
 +      /* We may need to see our own phdrs, e.g. for TLS setup.
 +         Try the usual kludge to find the headers without help from
 +	 the exec server.  */
@@ -295,20 +293,14 @@
 +      _dl_phdr = (ElfW(Phdr) *) ((const void *) ehdr + ehdr->e_phoff);
 +      _dl_phnum = ehdr->e_phnum;
 +      assert (ehdr->e_phentsize == sizeof (ElfW(Phdr)));
-+#endif
 +    }
 +  else
 +    {
-+#ifndef SHARED
-+      __libc_enable_secure = d->flags & EXEC_SECURE;
-+
 +      _dl_phdr = (ElfW(Phdr) *) d->phdr;
 +      _dl_phnum = d->phdrsz / sizeof (ElfW(Phdr));
 +      assert (d->phdrsz % sizeof (ElfW(Phdr)) == 0);
-+#endif
 +    }
 +
-+#ifndef SHARED
 +  /* We need to setup TLS before starting sigthread */
 +  extern void __pthread_initialize_minimal(void);
 +  __pthread_initialize_minimal();


Reply to: