summaryrefslogtreecommitdiff
path: root/packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch')
-rw-r--r--packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch b/packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch
deleted file mode 100644
index 7b56549..0000000
--- a/packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch
+++ /dev/null
@@ -1,69 +0,0 @@
- With latest versions of glibc, a lot of apps failed on a PaX enabled
- system with:
- cannot enable executable stack as shared object requires: Permission denied
-
- This is due to PaX 'exec-protecting' the stack, and ld.so then trying
- to make the stack executable due to some libraries not containing the
- PT_GNU_STACK section. Bug #32960. <azarah@gentoo.org> (12 Nov 2003).
-
- Patch also NPTL. Bug #116086. <kevquinn@gentoo.org> (20 Dec 2005).
-
----
- nptl/allocatestack.c | 3 ++-
- sysdeps/unix/sysv/linux/dl-execstack.c | 19 ++++++++++++++++---
- 2 files changed, 18 insertions(+), 4 deletions(-)
-
---- a/nptl/allocatestack.c
-+++ b/nptl/allocatestack.c
-@@ -335,7 +335,8 @@
- # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
- #endif
- if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
-- return errno;
-+ if (errno != EACCES) /* PAX is enabled */
-+ return errno;
-
- return 0;
- }
---- a/sysdeps/unix/sysv/linux/dl-execstack.c
-+++ b/sysdeps/unix/sysv/linux/dl-execstack.c
-@@ -63,7 +63,10 @@
- else
- # endif
- {
-- result = errno;
-+ if (errno == EACCES) /* PAX is enabled */
-+ result = 0;
-+ else
-+ result = errno;
- goto out;
- }
- }
-@@ -89,7 +92,12 @@
- page -= size;
- else
- {
-- if (errno != ENOMEM) /* Unexpected failure mode. */
-+ if (errno == EACCES) /* PAX is enabled */
-+ {
-+ result = 0;
-+ goto out;
-+ }
-+ else if (errno != ENOMEM) /* Unexpected failure mode. */
- {
- result = errno;
- goto out;
-@@ -115,7 +123,12 @@
- page += size;
- else
- {
-- if (errno != ENOMEM) /* Unexpected failure mode. */
-+ if (errno == EACCES) /* PAX is enabled */
-+ {
-+ result = 0;
-+ goto out;
-+ }
-+ else if (errno != ENOMEM) /* Unexpected failure mode. */
- {
- result = errno;
- goto out;