Browse Source

[LibOS] Reduce glibc patch

Isaku Yamahata 7 years ago
parent
commit
fad4301bc0
1 changed files with 0 additions and 161 deletions
  1. 0 161
      LibOS/glibc-2.19.patch

+ 0 - 161
LibOS/glibc-2.19.patch

@@ -240,151 +240,6 @@ index 6dcbabc..c87c773 100644
    /* Now life is sane; we can call functions and access global data.
    /* Now life is sane; we can call functions and access global data.
       Set up to use the operating system facilities, and find out from
       Set up to use the operating system facilities, and find out from
       the operating system's program loader where to find the program
       the operating system's program loader where to find the program
-@@ -1233,9 +1253,20 @@ of this helper program; chances are you did not intend to run this program.\n\
- 	    main_map->l_map_end = allocend;
- 	  if ((ph->p_flags & PF_X) && allocend > main_map->l_text_end)
- 	    main_map->l_text_end = allocend;
-+
-+#if 0
-+	  ElfW(Addr) mapend = (allocend + GLRO(dl_pagesize) - 1)
-+		               & ~(GLRO(dl_pagesize) - 1);
-+	  int prot = ((ph->p_flags & PF_R) ? PROT_READ  : 0)|
-+	             ((ph->p_flags & PF_W) ? PROT_WRITE : 0)|
-+	             ((ph->p_flags & PF_X) ? PROT_EXEC  : 0);
-+	  __mmap ((void *) mapstart, mapend - mapstart,
-+		  prot,
-+		  MAP_ANON|MAP_PRIVATE|MAP_FIXED|0x20000000,
-+		  -1, 0);
-+#endif
- 	}
- 	break;
--
-       case PT_TLS:
- 	if (ph->p_memsz > 0)
- 	  {
-@@ -1381,13 +1412,31 @@ of this helper program; chances are you did not intend to run this program.\n\
-   /* PT_GNU_RELRO is usually the last phdr.  */
-   size_t cnt = rtld_ehdr->e_phnum;
-   while (cnt-- > 0)
-+  {
-     if (rtld_phdr[cnt].p_type == PT_GNU_RELRO)
-       {
- 	GL(dl_rtld_map).l_relro_addr = rtld_phdr[cnt].p_vaddr;
- 	GL(dl_rtld_map).l_relro_size = rtld_phdr[cnt].p_memsz;
--	break;
-       }
- 
-+#if 0
-+    if (rtld_phdr[cnt].p_type == PT_LOAD)
-+      {
-+	ElfW(Addr) mapstart = rtld_phdr[cnt].p_vaddr & ~(GLRO(dl_pagesize) - 1);
-+	ElfW(Addr) mapend = (rtld_phdr[cnt].p_vaddr + rtld_phdr[cnt].p_memsz
-+		             + GLRO(dl_pagesize) - 1)
-+		             & ~(GLRO(dl_pagesize) - 1);
-+	int prot = ((rtld_phdr[cnt].p_flags & PF_R) ? PROT_READ  : 0)|
-+	           ((rtld_phdr[cnt].p_flags & PF_W) ? PROT_WRITE : 0)|
-+	           ((rtld_phdr[cnt].p_flags & PF_X) ? PROT_EXEC  : 0);
-+	__mmap ((void *) mapstart, mapend - mapstart,
-+		prot,
-+		MAP_ANON|MAP_PRIVATE|MAP_FIXED|0x20000000,
-+		-1, 0);
-+      }
-+#endif
-+  }
-+
-   /* Add the dynamic linker to the TLS list if it also uses TLS.  */
-   if (GL(dl_rtld_map).l_tls_blocksize != 0)
-     /* Assign a module ID.  Do this before loading any audit modules.  */
-@@ -1636,89 +1654,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
- 	}
-     }
- 
--  /* There usually is no ld.so.preload file, it should only be used
--     for emergencies and testing.  So the open call etc should usually
--     fail.  Using access() on a non-existing file is faster than using
--     open().  So we do this first.  If it succeeds we do almost twice
--     the work but this does not matter, since it is not for production
--     use.  */
--  static const char preload_file[] = "/etc/ld.so.preload";
--  if (__builtin_expect (__access (preload_file, R_OK) == 0, 0))
--    {
--      /* Read the contents of the file.  */
--      file = _dl_sysdep_read_whole_file (preload_file, &file_size,
--					 PROT_READ | PROT_WRITE);
--      if (__builtin_expect (file != MAP_FAILED, 0))
--	{
--	  /* Parse the file.  It contains names of libraries to be loaded,
--	     separated by white spaces or `:'.  It may also contain
--	     comments introduced by `#'.  */
--	  char *problem;
--	  char *runp;
--	  size_t rest;
--
--	  /* Eliminate comments.  */
--	  runp = file;
--	  rest = file_size;
--	  while (rest > 0)
--	    {
--	      char *comment = memchr (runp, '#', rest);
--	      if (comment == NULL)
--		break;
--
--	      rest -= comment - runp;
--	      do
--		*comment = ' ';
--	      while (--rest > 0 && *++comment != '\n');
--	    }
--
--	  /* We have one problematic case: if we have a name at the end of
--	     the file without a trailing terminating characters, we cannot
--	     place the \0.  Handle the case separately.  */
--	  if (file[file_size - 1] != ' ' && file[file_size - 1] != '\t'
--	      && file[file_size - 1] != '\n' && file[file_size - 1] != ':')
--	    {
--	      problem = &file[file_size];
--	      while (problem > file && problem[-1] != ' '
--		     && problem[-1] != '\t'
--		     && problem[-1] != '\n' && problem[-1] != ':')
--		--problem;
--
--	      if (problem > file)
--		problem[-1] = '\0';
--	    }
--	  else
--	    {
--	      problem = NULL;
--	      file[file_size - 1] = '\0';
--	    }
--
--	  HP_TIMING_NOW (start);
--
--	  if (file != problem)
--	    {
--	      char *p;
--	      runp = file;
--	      while ((p = strsep (&runp, ": \t\n")) != NULL)
--		if (p[0] != '\0')
--		  npreloads += do_preload (p, main_map, preload_file);
--	    }
--
--	  if (problem != NULL)
--	    {
--	      char *p = strndupa (problem, file_size - (problem - file));
--
--	      npreloads += do_preload (p, main_map, preload_file);
--	    }
--
--	  HP_TIMING_NOW (stop);
--	  HP_TIMING_DIFF (diff, start, stop);
--	  HP_TIMING_ACCUM_NT (load_time, diff);
--
--	  /* We don't need the file anymore.  */
--	  __munmap (file, file_size);
--	}
--    }
-
-  if (__builtin_expect (*first_preload != NULL, 0))
-    {
 diff --git a/malloc/arena.c b/malloc/arena.c
 diff --git a/malloc/arena.c b/malloc/arena.c
 index 5088a25..33a3879 100644
 index 5088a25..33a3879 100644
 --- a/malloc/arena.c
 --- a/malloc/arena.c
@@ -480,22 +335,6 @@ index bb11277..354149a 100644
 +    syscalldb; glibc_option;
 +    syscalldb; glibc_option;
 +  }
 +  }
  }
  }
-diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
-index 9d7f52f..72d50ae 100644
---- a/nptl/pthread_create.c
-+++ b/nptl/pthread_create.c
-@@ -405,8 +405,11 @@ start_thread (void *arg)
- # error "to do"
- #endif
-   assert (freesize < pd->stackblock_size);
-+  /* XXX: may not be necessary */
-+#if 0
-   if (freesize > PTHREAD_STACK_MIN)
-     __madvise (pd->stackblock, freesize - PTHREAD_STACK_MIN, MADV_DONTNEED);
-+#endif
- 
-   /* If the thread is detached free the TCB.  */
-   if (IS_DETACHED (pd))
 diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
 diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
 index 89fda5e..f6963f6 100644
 index 89fda5e..f6963f6 100644
 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S