mirror of git://sourceware.org/git/glibc.git
* elf/dl-load.c (_dl_map_object_from_fd): Don't use MAP_DENYWRITE,
since Linux ignores it in user mmap calls.
This commit is contained in:
parent
87f37b48fa
commit
6c63200907
|
@ -1,3 +1,8 @@
|
||||||
|
2005-04-21 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* elf/dl-load.c (_dl_map_object_from_fd): Don't use MAP_DENYWRITE,
|
||||||
|
since Linux ignores it in user mmap calls.
|
||||||
|
|
||||||
2005-04-17 David S. Miller <davem@davemloft.net>
|
2005-04-17 David S. Miller <davem@davemloft.net>
|
||||||
|
|
||||||
* sysdeps/sparc/sparc32/elf/start.S: Define __data_start.
|
* sysdeps/sparc/sparc32/elf/start.S: Define __data_start.
|
||||||
|
|
|
@ -55,12 +55,6 @@
|
||||||
# define MAP_COPY MAP_PRIVATE
|
# define MAP_COPY MAP_PRIVATE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* We want to prevent people from modifying DSOs which are currently in
|
|
||||||
use. This is what MAP_DENYWRITE is for. */
|
|
||||||
#ifndef MAP_DENYWRITE
|
|
||||||
# define MAP_DENYWRITE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Some systems link their relocatable objects for another base address
|
/* Some systems link their relocatable objects for another base address
|
||||||
than 0. We want to know the base address for these such that we can
|
than 0. We want to know the base address for these such that we can
|
||||||
subtract this address from the segment addresses during mapping.
|
subtract this address from the segment addresses during mapping.
|
||||||
|
@ -1181,7 +1175,7 @@ cannot allocate TLS data structures for initial thread");
|
||||||
/* Remember which part of the address space this object uses. */
|
/* Remember which part of the address space this object uses. */
|
||||||
l->l_map_start = (ElfW(Addr)) __mmap ((void *) mappref, maplength,
|
l->l_map_start = (ElfW(Addr)) __mmap ((void *) mappref, maplength,
|
||||||
c->prot,
|
c->prot,
|
||||||
MAP_COPY|MAP_FILE|MAP_DENYWRITE,
|
MAP_COPY | MAP_FILE,
|
||||||
fd, c->mapoff);
|
fd, c->mapoff);
|
||||||
if (__builtin_expect ((void *) l->l_map_start == MAP_FAILED, 0))
|
if (__builtin_expect ((void *) l->l_map_start == MAP_FAILED, 0))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue