glibc/elf
Roland McGrath 2abf9ff113 * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before
calling _dl_start, using GOTOFF access.

	* configure.in (libc_cv_z_execstack): New check.
	* configure: Regenerated.
	* config.make.in (have-z-execstack): New variable set by it.
	* elf/tst-execstack.c: New file.
	* elf/tst-execstack-mod.c: New file.
	* elf/tst-execstack-needed.c: New file.
	* elf/Makefile (tests-execstack-yes, modules-execstack-yes): New
	variables.
	(tests, modules-names): Conditionally include them.
	(distribute): Add tst-execstack-mod.c here.
	($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets.
	(LDFLAGS-tst-execstack, LDFLAGS-tst-execstack-mod): New variables.
	($(objpfx)tst-execstack-needed): New target.
	(LDFLAGS-tst-execstack-needed): New variable.

	* 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:07:26 +00:00
..
.cvsignore Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
cache.c (save_cache): Don't write beyond end of file_entries buffer. Duplicate last old cache entry if the count would be odd. 2003-08-25 18:37:54 +00:00
check-textrel.c Update. 2003-02-11 06:31:57 +00:00
chroot_canon.c Realloc error handling memory leak fix. 2001-12-29 15:57:15 +00:00
circleload1.c Update. 2002-07-17 00:34:35 +00:00
circlemod1.c Update. 2002-07-17 00:34:35 +00:00
circlemod1a.c Update. 2002-06-30 07:17:02 +00:00
circlemod2.c Update. 2002-07-17 00:34:35 +00:00
circlemod2a.c Update. 2002-07-17 00:34:35 +00:00
circlemod3.c Update. 2002-07-17 00:34:35 +00:00
circlemod3a.c Update. 2002-06-30 07:17:02 +00:00
constload1.c Include <stdio.h> for puts prototype. 2000-08-19 08:30:28 +00:00
constload2.c Add prototype for init. 2001-01-21 17:15:50 +00:00
constload3.c Update. 2000-12-17 17:50:56 +00:00
dblload.c Update. 2001-09-06 01:03:05 +00:00
dblloadmod1.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
dblloadmod2.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
dblloadmod3.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
dblunload.c Update. 2001-09-06 01:03:05 +00:00
dep1.c Update. 2000-12-15 16:03:57 +00:00
dep2.c Update. 2000-12-15 16:03:57 +00:00
dep3.c Update. 2000-12-15 16:03:57 +00:00
dep4.c Update. 2000-12-15 16:03:57 +00:00
dl-addr.c 2003-03-10 Roland McGrath <roland@redhat.com> 2003-03-10 09:12:11 +00:00
dl-close.c Update. 2003-04-27 06:20:14 +00:00
dl-conflict.c Update. 2003-04-06 18:58:09 +00:00
dl-debug.c Update. 2002-03-01 09:44:29 +00:00
dl-deps.c Update. 2003-01-12 10:11:16 +00:00
dl-dst.h Update. 2002-04-08 18:50:41 +00:00
dl-error.c * sysdeps/posix/readv.c: Include <errno.h>, use __set_errno macro. 2002-11-24 23:56:47 +00:00
dl-fini.c * elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order. 2002-11-07 20:47:27 +00:00
dl-init.c (_dl_init): Fix test of the size of the preinit_array section. (call_init): Optimize access to DT_INIT_ARRAY entry a bit. 2002-09-20 23:56:18 +00:00
dl-iteratephdr.c Update. 2003-09-16 05:54:09 +00:00
dl-libc.c Update. 2003-07-22 23:56:53 +00:00
dl-load.c 2003-09-23 Roland McGrath <roland@redhat.com> 2003-09-23 12:06:48 +00:00
dl-lookup.c Update. 2003-07-31 19:26:38 +00:00
dl-minimal.c * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN. 2002-12-06 11:15:07 +00:00
dl-misc.c Update. 2003-01-09 04:19:03 +00:00
dl-object.c Update. 2003-04-25 09:12:43 +00:00
dl-open.c Update. 2003-07-31 07:42:20 +00:00
dl-profile.c Update. 2003-03-20 07:19:17 +00:00
dl-profstub.c * include/bits/dlfcn.h: New file. 2002-08-10 07:54:55 +00:00
dl-reloc.c (_dl_allocate_static_tls): Don't return any value, call dl_signal_error directly. If already relocated, call GL(dl_init_static_tls) directly, otherwise queue it for later. (CHECK_STATIC_TLS): Undo 2003-07-24 change. 2003-07-31 07:34:08 +00:00
dl-runtime.c Update. 2003-02-07 19:45:00 +00:00
dl-support.c 2003-09-23 Roland McGrath <roland@redhat.com> 2003-09-23 12:06:48 +00:00
dl-sym.c Update. 2002-04-13 07:55:02 +00:00
dl-tsd.c * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS] 2002-12-04 12:30:40 +00:00
dl-version.c Update. 2003-06-11 21:57:23 +00:00
do-lookup.h Update. 2003-06-11 21:57:23 +00:00
do-rel.h Update. 2003-01-30 18:04:01 +00:00
dynamic-link.h * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Don't assume reloc_addr is aligned. * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/cris/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/hppa/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/ia64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/m68k/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/mips/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela_relative, elf_machine_rela): Adjust. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): * sysdeps/sh/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/x86_64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. 2003-07-31 06:33:53 +00:00
elf.h 2003-06-26 Roland McGrath <roland@redhat.com> 2003-06-26 19:54:29 +00:00
failobj.c Update. 2000-12-17 17:50:56 +00:00
filter.c Update. 2000-08-19 07:17:09 +00:00
filtmod1.c Update. 2000-12-17 17:50:56 +00:00
filtmod2.c Update. 2000-12-17 17:50:56 +00:00
firstobj.c Add prototype. 2001-02-06 10:38:10 +00:00
gen-trusted-dirs.awk Update. 1999-05-03 21:59:35 +00:00
genrtldtbl.awk Testsuite for owrdexp. 1998-03-05 16:42:56 +00:00
global.c (main): Use proper prototype. 2001-03-21 07:21:34 +00:00
globalmod1.c Update. 2001-04-06 15:23:41 +00:00
initfirst.c Update. 2001-02-02 06:54:15 +00:00
interp.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lateglobal.c Update. 2000-10-21 07:16:18 +00:00
ldconfig.c Update. 2003-08-26 08:08:21 +00:00
ldd.bash.in Update. 2003-01-02 20:32:33 +00:00
link.h Update. 2003-09-16 05:54:09 +00:00
loadfail.c Update. 2000-11-26 06:18:02 +00:00
loadtest.c Update. 2001-09-08 16:27:08 +00:00
ltglobmod1.c Update. 2000-12-17 17:50:56 +00:00
ltglobmod2.c Update. 2000-12-15 16:03:57 +00:00
Makefile * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before 2003-09-23 12:07:26 +00:00
multiload.c Update. 2000-11-26 06:18:02 +00:00
neededobj1.c Update. 2000-12-17 17:50:56 +00:00
neededobj2.c Update. 2000-12-17 17:50:56 +00:00
neededobj3.c Update. 2000-12-17 17:50:56 +00:00
neededobj4.c Update. 2000-12-17 17:50:56 +00:00
neededobj5.c Update. 2000-12-31 06:09:08 +00:00
neededobj6.c Update. 2000-12-31 06:09:08 +00:00
neededtest2.c Update. 2000-10-23 22:58:40 +00:00
neededtest3.c Update. 2000-10-24 17:04:14 +00:00
neededtest4.c Update. 2000-12-31 06:09:08 +00:00
neededtest.c (main): Correct tests for failing dlopen. 2000-10-24 15:25:53 +00:00
next.c Update. 2000-11-26 06:18:02 +00:00
nextmod1.c Update. 2000-12-17 17:50:56 +00:00
nextmod2.c Update. 2000-12-17 17:50:56 +00:00
nodel2mod1.c Test modules for DF_1_NODELETE test. 2003-01-12 07:52:53 +00:00
nodel2mod2.c Test modules for DF_1_NODELETE test. 2003-01-12 07:52:53 +00:00
nodel2mod3.c Test modules for DF_1_NODELETE test. 2003-01-12 07:52:53 +00:00
nodelete2.c Update. 2003-01-12 10:11:16 +00:00
nodelete.c Update. 2000-11-26 06:18:02 +00:00
nodelmod1.c Update. 2000-08-25 19:33:19 +00:00
nodelmod2.c Update. 2000-08-25 19:33:19 +00:00
nodelmod3.c Update. 2000-12-17 17:50:56 +00:00
nodelmod4.c Update. 2000-08-25 19:33:19 +00:00
nodlopen2.c Update. 2002-02-10 22:40:17 +00:00
nodlopen.c Update. 2000-07-21 04:42:21 +00:00
nodlopenmod2.c Update. 2002-03-03 19:43:30 +00:00
nodlopenmod.c Update. 2000-07-21 04:42:21 +00:00
noload.c Update. 2000-11-26 06:18:02 +00:00
order.c Update. 2000-11-26 06:18:02 +00:00
origtest.c Update. 2000-11-26 06:18:02 +00:00
pathoptobj.c Update. 2000-12-17 17:50:56 +00:00
preloadtest.c Update. 2000-12-15 16:03:57 +00:00
readlib.c (process_file): Avoid possible overflow in assignment. 2003-07-22 21:35:06 +00:00
reldep2.c Update. 2001-09-08 17:45:32 +00:00
reldep3.c Update. 2000-08-26 23:41:19 +00:00
reldep4.c Avoid compile warning. 2001-09-22 15:44:07 +00:00
reldep4mod1.c Update. 2001-05-22 23:55:23 +00:00
reldep4mod2.c Update. 2001-06-22 13:50:51 +00:00
reldep4mod3.c Update. 2001-05-22 23:55:23 +00:00
reldep4mod4.c Update. 2001-06-22 13:50:51 +00:00
reldep5.c Update. 2001-09-22 15:44:35 +00:00
reldep6.c Update. 2003-01-12 10:11:16 +00:00
reldep6mod0.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod1.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod2.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod3.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod4.c Update. 2001-10-01 00:14:14 +00:00
reldep7.c Update. 2002-04-15 17:10:22 +00:00
reldep7mod1.c Update. 2002-04-15 17:10:22 +00:00
reldep7mod2.c Update. 2002-04-15 17:10:22 +00:00
reldep8.c Update. 2002-12-30 20:25:40 +00:00
reldep8mod1.c Update. 2002-12-30 20:25:40 +00:00
reldep8mod2.c Update. 2002-12-30 20:25:40 +00:00
reldep8mod3.c Update. 2002-12-30 20:25:40 +00:00
reldep9.c Update. 2003-01-12 10:11:16 +00:00
reldep9mod1.c Update. 2003-01-12 10:11:16 +00:00
reldep9mod2.c Update. 2003-01-12 10:11:16 +00:00
reldep9mod3.c Update. 2003-01-12 10:11:16 +00:00
reldep.c Update. 2000-08-26 23:41:19 +00:00
reldepmod1.c Update. 2000-12-17 17:50:56 +00:00
reldepmod2.c Update. 2000-12-17 17:50:56 +00:00
reldepmod3.c Update. 2000-12-17 17:50:56 +00:00
reldepmod4.c Update. 2000-12-17 17:50:56 +00:00
reldepmod5.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
reldepmod6.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
resolvfail.c Update. 1999-08-02 19:56:07 +00:00
restest1.c Update. 2000-11-26 06:18:02 +00:00
restest2.c Update. 2001-05-22 22:30:18 +00:00
rtld-Rules Update. 2003-07-25 07:56:33 +00:00
rtld.c 2003-09-23 Roland McGrath <roland@redhat.com> 2003-09-23 12:06:48 +00:00
sln.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
sofini.c Update. 2003-07-22 19:37:41 +00:00
soinit.c Update. 2001-11-16 01:27:24 +00:00
sprof.c Update. 2003-01-02 20:32:33 +00:00
testobj1_1.c Update. 2000-12-15 16:03:57 +00:00
testobj1.c Update. 2000-12-15 16:03:57 +00:00
testobj2.c Update. 2000-12-15 16:03:57 +00:00
testobj3.c Update. 2000-12-15 16:03:57 +00:00
testobj4.c Update. 2000-12-15 16:03:57 +00:00
testobj5.c Update. 2000-12-15 16:03:57 +00:00
testobj6.c Update. 2000-12-15 16:03:57 +00:00
testobj.h Update. 2000-12-15 16:03:57 +00:00
tls-macros.h Update. 2003-09-11 23:57:58 +00:00
tst-align.c Update. 2003-09-17 18:23:49 +00:00
tst-alignmod.c Update. 2003-09-17 18:23:49 +00:00
tst-array1.c 2002-12-10 Jakub Jelinek <jakub@redhat.com> 2002-12-10 23:28:48 +00:00
tst-array1.exp * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array2.c * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array2.exp * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array2dep.c 2002-12-10 Jakub Jelinek <jakub@redhat.com> 2002-12-10 23:28:48 +00:00
tst-array3.c * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array4.c Update. 2003-01-27 21:03:22 +00:00
tst-array4.exp Update. 2003-01-27 21:03:22 +00:00
tst-execstack-mod.c * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before 2003-09-23 12:07:26 +00:00
tst-execstack-needed.c * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before 2003-09-23 12:07:26 +00:00
tst-execstack.c * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before 2003-09-23 12:07:26 +00:00
tst-pathopt.c Update. 2000-10-30 00:13:29 +00:00
tst-pathopt.sh Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
tst-tls1-static.c * elf/tst-tls1-static.c: New file. 2002-08-28 10:42:59 +00:00
tst-tls1.c Update. 2002-02-13 17:45:55 +00:00
tst-tls2-static.c * elf/tst-tls1-static.c: New file. 2002-08-28 10:42:59 +00:00
tst-tls2.c Update. 2002-02-13 17:45:55 +00:00
tst-tls3.c Update. 2002-02-13 17:45:55 +00:00
tst-tls4.c * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS] 2002-12-04 12:30:40 +00:00
tst-tls5.c * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS] 2002-12-04 12:30:40 +00:00
tst-tls6.c Update. 2003-07-31 19:26:38 +00:00
tst-tls7.c Update. 2002-12-11 00:49:28 +00:00
tst-tls8.c Update. 2003-07-31 19:26:38 +00:00
tst-tls9-static.c 2002-10-21 Roland McGrath <roland@redhat.com> 2002-10-22 06:22:38 +00:00
tst-tls9.c * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS] 2002-12-04 12:30:40 +00:00
tst-tls10.c * elf/tst-tls12.c (main): Fix declaration. 2003-04-23 01:54:52 +00:00
tst-tls10.h Update. 2003-04-17 19:19:29 +00:00
tst-tls11.c Update. 2003-04-17 19:19:29 +00:00
tst-tls12.c * elf/tst-tls12.c (main): Fix declaration. 2003-04-23 01:54:52 +00:00
tst-tls13.c Test for unloading of modules with TLS in static block. 2003-04-27 06:15:09 +00:00
tst-tls14.c * elf/tst-tls14.c [USE_TLS && HAVE___THREAD]: Conditionalize on this. 2003-07-28 21:50:26 +00:00
tst-tlsmod1.c Update. 2002-08-25 22:34:57 +00:00
tst-tlsmod2.c Update. 2002-08-25 22:34:57 +00:00
tst-tlsmod3.c Update. 2002-08-25 22:34:57 +00:00
tst-tlsmod4.c Update. 2002-08-25 22:34:57 +00:00
tst-tlsmod5.c 2002-10-21 Roland McGrath <roland@redhat.com> 2002-10-22 06:22:38 +00:00
tst-tlsmod6.c 2002-10-21 Roland McGrath <roland@redhat.com> 2002-10-22 06:22:38 +00:00
tst-tlsmod7.c * elf/tst-tls12.c (main): Fix declaration. 2003-04-23 01:54:52 +00:00
tst-tlsmod8.c * elf/tst-tls12.c (main): Fix declaration. 2003-04-23 01:54:52 +00:00
tst-tlsmod9.c * elf/tst-tls12.c (main): Fix declaration. 2003-04-23 01:54:52 +00:00
tst-tlsmod10.c Update. 2003-04-17 19:19:29 +00:00
tst-tlsmod11.c Update. 2003-04-17 19:19:29 +00:00
tst-tlsmod12.c Update. 2003-04-17 19:19:29 +00:00
tst-tlsmod13.c Update. 2003-04-27 06:20:14 +00:00
tst-tlsmod13a.c Update. 2003-04-27 06:20:14 +00:00
tst-tlsmod14a.c * elf/tst-tls14.c [USE_TLS && HAVE___THREAD]: Conditionalize on this. 2003-07-28 21:50:26 +00:00
tst-tlsmod14b.c Update. 2003-07-24 20:07:00 +00:00
unload2.c Update. 2000-10-21 06:02:49 +00:00
unload2dep.c Update. 2000-12-17 17:50:56 +00:00
unload2mod.c Update. 2000-12-17 17:50:56 +00:00
unload.c Update. 2000-10-23 22:58:40 +00:00
unloadmod.c Update. 2000-08-26 23:41:19 +00:00
Versions 2003-09-23 Roland McGrath <roland@redhat.com> 2003-09-23 12:06:48 +00:00
vismain.c (do_test): Comment out tests which fail in the moment. 2003-03-29 06:49:46 +00:00
vismod1.c 2003-03-26 H.J. Lu <hjl@gnu.org> 2003-03-29 03:46:03 +00:00
vismod2.c 2003-03-26 H.J. Lu <hjl@gnu.org> 2003-03-29 03:46:03 +00:00
vismod3.c 2003-03-26 H.J. Lu <hjl@gnu.org> 2003-03-29 03:46:03 +00:00
vismod.h 2003-03-26 H.J. Lu <hjl@gnu.org> 2003-03-29 03:46:03 +00:00