mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
* sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): Remember that we changed the permission.
This commit is contained in:
@ -1,5 +1,8 @@
|
|||||||
2003-09-24 Ulrich Drepper <drepper@redhat.com>
|
2003-09-24 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/dl-execstack.c
|
||||||
|
(_dl_make_stack_executable): Remember that we changed the permission.
|
||||||
|
|
||||||
* sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of
|
* sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of
|
||||||
__libc_stack_end. Patch by David Mosberger.
|
__libc_stack_end. Patch by David Mosberger.
|
||||||
|
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
2003-09-24 Ulrich Drepper <drepper@redhat.com>
|
2003-09-24 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* allocatestack.c (__make_stacks_executable): Also change
|
||||||
|
permission of the currently unused stacks.
|
||||||
|
|
||||||
* allocatestack.c (change_stack_perm): Split out from
|
* allocatestack.c (change_stack_perm): Split out from
|
||||||
__make_stacks_executable.
|
__make_stacks_executable.
|
||||||
(allocate_stack): If the required permission changed between the time
|
(allocate_stack): If the required permission changed between the time
|
||||||
|
@ -684,6 +684,20 @@ __make_stacks_executable (void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Also change the permission for the currently unused stacks. This
|
||||||
|
might be wasted time but better spend it here than adding a check
|
||||||
|
in the fast path. */
|
||||||
|
list_for_each (runp, &stack_cache)
|
||||||
|
{
|
||||||
|
err = change_stack_perm (list_entry (runp, struct pthread, list)
|
||||||
|
#ifdef NEED_SEPARATE_REGISTER_STACK
|
||||||
|
, pagemask
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
if (err != 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
lll_unlock (stack_cache_lock);
|
lll_unlock (stack_cache_lock);
|
||||||
|
|
||||||
if (err == 0)
|
if (err == 0)
|
||||||
|
@ -110,6 +110,9 @@ _dl_make_stack_executable (void)
|
|||||||
# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
|
# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Remember that we changed the permission. */
|
||||||
|
GL(dl_stack_flags) |= PF_X;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
rtld_hidden_def (_dl_make_stack_executable)
|
rtld_hidden_def (_dl_make_stack_executable)
|
||||||
|
Reference in New Issue
Block a user