mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-10 19:30:10 +00:00
Make _dl_phdr pointer to const.
This commit is contained in:
parent
3d3436ae68
commit
dc0a026385
@ -1,5 +1,11 @@
|
|||||||
2013-03-28 Roland McGrath <roland@hack.frob.com>
|
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):
|
* sysdeps/generic/ldsodefs.h [!SHARED] (_dl_phdr, _dl_phnum):
|
||||||
Declare them here.
|
Declare them here.
|
||||||
* elf/dl-iteratephdr.c [!SHARED] (_dl_phdr, _dl_phnum): Not here.
|
* elf/dl-iteratephdr.c [!SHARED] (_dl_phdr, _dl_phnum): Not here.
|
||||||
|
@ -114,7 +114,7 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign)
|
|||||||
size_t align = 0;
|
size_t align = 0;
|
||||||
size_t max_align = tcbalign;
|
size_t max_align = tcbalign;
|
||||||
size_t tcb_offset;
|
size_t tcb_offset;
|
||||||
ElfW(Phdr) *phdr;
|
const ElfW(Phdr) *phdr;
|
||||||
|
|
||||||
/* Look through the TLS segment if there is any. */
|
/* Look through the TLS segment if there is any. */
|
||||||
if (_dl_phdr != NULL)
|
if (_dl_phdr != NULL)
|
||||||
|
@ -126,7 +126,7 @@ int _dl_debug_fd = STDERR_FILENO;
|
|||||||
int _dl_correct_cache_id = _DL_CACHE_DEFAULT_ID;
|
int _dl_correct_cache_id = _DL_CACHE_DEFAULT_ID;
|
||||||
|
|
||||||
ElfW(auxv_t) *_dl_auxv;
|
ElfW(auxv_t) *_dl_auxv;
|
||||||
ElfW(Phdr) *_dl_phdr;
|
const ElfW(Phdr) *_dl_phdr;
|
||||||
size_t _dl_phnum;
|
size_t _dl_phnum;
|
||||||
uint64_t _dl_hwcap __attribute__ ((nocommon));
|
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;
|
GLRO(dl_clktck) = av->a_un.a_val;
|
||||||
break;
|
break;
|
||||||
case AT_PHDR:
|
case AT_PHDR:
|
||||||
GL(dl_phdr) = (void *) av->a_un.a_val;
|
GL(dl_phdr) = (const void *) av->a_un.a_val;
|
||||||
break;
|
break;
|
||||||
case AT_PHNUM:
|
case AT_PHNUM:
|
||||||
GL(dl_phnum) = av->a_un.a_val;
|
GL(dl_phnum) = av->a_un.a_val;
|
||||||
|
@ -603,7 +603,7 @@ extern const struct rtld_global_ro _rtld_global_ro
|
|||||||
|
|
||||||
#ifndef SHARED
|
#ifndef SHARED
|
||||||
/* dl-support.c defines these and initializes them early on. */
|
/* 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;
|
extern size_t _dl_phnum;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ init1 (int argc, char *arg0, ...)
|
|||||||
the exec server. */
|
the exec server. */
|
||||||
extern const void _start;
|
extern const void _start;
|
||||||
const ElfW(Ehdr) *const ehdr = &_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;
|
_dl_phnum = ehdr->e_phnum;
|
||||||
assert (ehdr->e_phentsize == sizeof (ElfW(Phdr)));
|
assert (ehdr->e_phentsize == sizeof (ElfW(Phdr)));
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user