]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Make _dl_phdr pointer to const.
authorRoland McGrath <roland@hack.frob.com>
Thu, 28 Mar 2013 22:39:32 +0000 (15:39 -0700)
committerRoland McGrath <roland@hack.frob.com>
Thu, 28 Mar 2013 22:39:32 +0000 (15:39 -0700)
ChangeLog
csu/libc-tls.c
elf/dl-support.c
sysdeps/generic/ldsodefs.h
sysdeps/mach/hurd/i386/init-first.c

index 26898849518d0aeb94f6a358a2e8942c77f07b71..de20ebb1c9bfe34b1d1e27ba4856ae55c34379fb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2013-03-28  Roland McGrath  <roland@hack.frob.com>
 
+       * elf/dl-support.c (_dl_phdr): Make pointer to const.
+       (_dl_aux_init): Use const in cast when setting it.
+       * sysdeps/mach/hurd/i386/init-first.c (init1): Remove superfluous cast.
+       * sysdeps/generic/ldsodefs.h [!SHARED] (_dl_phdr): Update decl.
+       * csu/libc-tls.c (__libc_setup_tls): Make PHDR pointer to const.
+
        * sysdeps/generic/ldsodefs.h [!SHARED] (_dl_phdr, _dl_phnum):
        Declare them here.
        * elf/dl-iteratephdr.c [!SHARED] (_dl_phdr, _dl_phnum): Not here.
index 2a195019ccee8fed749e34a1eb7cb9ac5d3bd4f8..c37df67e6c5b5e149aa8eda53371d5bc365bfdd0 100644 (file)
@@ -114,7 +114,7 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign)
   size_t align = 0;
   size_t max_align = tcbalign;
   size_t tcb_offset;
-  ElfW(Phdr) *phdr;
+  const ElfW(Phdr) *phdr;
 
   /* Look through the TLS segment if there is any.  */
   if (_dl_phdr != NULL)
index ad9b4c40b072518e89a1e91403ffef99d7d8a5ff..7a55b82e34042f82660dcb7160a1dc5b047f4ca3 100644 (file)
@@ -126,7 +126,7 @@ int _dl_debug_fd = STDERR_FILENO;
 int _dl_correct_cache_id = _DL_CACHE_DEFAULT_ID;
 
 ElfW(auxv_t) *_dl_auxv;
-ElfW(Phdr) *_dl_phdr;
+const ElfW(Phdr) *_dl_phdr;
 size_t _dl_phnum;
 uint64_t _dl_hwcap __attribute__ ((nocommon));
 
@@ -205,7 +205,7 @@ _dl_aux_init (ElfW(auxv_t) *av)
        GLRO(dl_clktck) = av->a_un.a_val;
        break;
       case AT_PHDR:
-       GL(dl_phdr) = (void *) av->a_un.a_val;
+       GL(dl_phdr) = (const void *) av->a_un.a_val;
        break;
       case AT_PHNUM:
        GL(dl_phnum) = av->a_un.a_val;
index 89db5525423ebaec591b389fb57ee8865c99d9eb..41684f3837fdf98499445d7304b425aebdaa52e5 100644 (file)
@@ -603,7 +603,7 @@ extern const struct rtld_global_ro _rtld_global_ro
 
 #ifndef SHARED
 /* dl-support.c defines these and initializes them early on.  */
-extern ElfW(Phdr) *_dl_phdr;
+extern const ElfW(Phdr) *_dl_phdr;
 extern size_t _dl_phnum;
 #endif
 
index 3cfddce15f0f64c5c606a011630e9e73ed0aded7..59253db53974d232086150545d89a412275030bf 100644 (file)
@@ -122,7 +122,7 @@ init1 (int argc, char *arg0, ...)
         the exec server.  */
       extern const void _start;
       const ElfW(Ehdr) *const ehdr = &_start;
-      _dl_phdr = (ElfW(Phdr) *) ((const void *) ehdr + ehdr->e_phoff);
+      _dl_phdr = (const void *) ehdr + ehdr->e_phoff;
       _dl_phnum = ehdr->e_phnum;
       assert (ehdr->e_phentsize == sizeof (ElfW(Phdr)));
 #endif