3 Commits

Author SHA1 Message Date
Roland McGrath
e95dc10c40 2003-09-25 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable):
	Don't check for zero __libc_stack_end, it should be initialized.
	[_STACK_GROWS_DOWN] [PROT_GROWSDOWN]: Try using PROT_GROWSDOWN flag
	and fall back if it fails with EINVAL.
	[_STACK_GROWS_UP] [PROT_GROWSUP]: Likewise for PROT_GROWSUP.
2003-09-25 23:04:12 +00:00
Ulrich Drepper
69c9fa045b Update.
* sysdeps/unix/sysv/linux/dl-execstack.c
	(_dl_make_stack_executable): Remember that we changed the permission.
2003-09-25 03:31:59 +00:00
Roland McGrath
ecdeaac05f 2003-09-23 Roland McGrath <roland@redhat.com>
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_stack_flags
	and _dl_make_stack_executable_hook.  Declare _dl_make_stack_executable.
	* elf/rtld.c (_rtld_global): Add initializer for _dl_stack_flags.
	(dl_main): Reset _dl_stack_flags according to PT_GNU_STACK phdr.
	Initialize _dl_make_stack_executable_hook.
	* elf/dl-support.c: Define those new variables.
	(_dl_non_dynamic_init): Scan phdrs for PT_GNU_STACK.
	(_dl_phdr): Fix type.
	* elf/dl-load.c (_dl_map_object_from_fd): Grok PT_GNU_STACK phdr and
	enable execute permission for the stack if necessary.
	* sysdeps/generic/dl-execstack.c: New file.
	* elf/Makefile (dl-routines): Add it.
	* elf/Versions (ld: GLIBC_PRIVATE): Add _dl_make_stack_executable.
	* sysdeps/unix/sysv/linux/dl-execstack.c: New file.
2003-09-23 12:06:48 +00:00