diff options
author | Ryan S. Arnold <rsa@us.ibm.com> | 2010-12-19 22:49:01 -0500 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2010-12-19 22:49:01 -0500 |
commit | 30950a5fd2346c43ba4fc59c16f122cfb59f9629 (patch) | |
tree | 400aceac60bdb17ec66caf2850d173ad8554e135 /sysdeps | |
parent | db753e2cfb2051ebf20dc089f87c5b1297cc2cff (diff) | |
download | glibc-30950a5fd2346c43ba4fc59c16f122cfb59f9629.tar.gz glibc-30950a5fd2346c43ba4fc59c16f122cfb59f9629.tar.xz glibc-30950a5fd2346c43ba4fc59c16f122cfb59f9629.zip |
Make PowerPC64 default to nonexecutable stack
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/stackinfo.h | 8 | ||||
-rw-r--r-- | sysdeps/ia64/stackinfo.h | 8 | ||||
-rw-r--r-- | sysdeps/powerpc/stackinfo.h | 13 | ||||
-rw-r--r-- | sysdeps/s390/stackinfo.h | 8 | ||||
-rw-r--r-- | sysdeps/sh/stackinfo.h | 8 | ||||
-rw-r--r-- | sysdeps/sparc/stackinfo.h | 8 | ||||
-rw-r--r-- | sysdeps/x86_64/stackinfo.h | 8 |
7 files changed, 54 insertions, 7 deletions
diff --git a/sysdeps/i386/stackinfo.h b/sysdeps/i386/stackinfo.h index 2530ea7234..166c1d14ae 100644 --- a/sysdeps/i386/stackinfo.h +++ b/sysdeps/i386/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2009 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,9 +22,15 @@ #ifndef _STACKINFO_H #define _STACKINFO_H 1 +#include <elf.h> + /* On x86 the stack grows down. */ #define _STACK_GROWS_DOWN 1 +/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is + * present, but it is presumed absent. */ +#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) + /* Access to the stack pointer. The macros are used in alloca_account for which they need to act as barriers as well, hence the additional (unnecessary) parameters. */ diff --git a/sysdeps/ia64/stackinfo.h b/sysdeps/ia64/stackinfo.h index b7dc5d91dd..a7446e665d 100644 --- a/sysdeps/ia64/stackinfo.h +++ b/sysdeps/ia64/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,8 +22,14 @@ #ifndef _STACKINFO_H #define _STACKINFO_H 1 +#include <elf.h> + /* On IA-64 the stack grows down. The register stack is of no concern here. */ #define _STACK_GROWS_DOWN 1 +/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is + * present, but it is presumed absent. */ +#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) + #endif /* stackinfo.h */ diff --git a/sysdeps/powerpc/stackinfo.h b/sysdeps/powerpc/stackinfo.h index 839758a4e3..aac86a48a2 100644 --- a/sysdeps/powerpc/stackinfo.h +++ b/sysdeps/powerpc/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,18 @@ #ifndef _STACKINFO_H #define _STACKINFO_H 1 +#include <elf.h> + /* On PPC the stack grows down. */ #define _STACK_GROWS_DOWN 1 +#if __WORDSIZE == 64 +/* PPC64 doesn't need an executable stack and doesn't need PT_GNU_STACK + * to make the stack nonexecutable. */ +# define DEFAULT_STACK_PERMS (PF_R|PF_W) +#else +/* PF_X can be overridden if PT_GNU_STACK is present but is presumed absent. */ +# define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) +#endif + #endif /* stackinfo.h */ diff --git a/sysdeps/s390/stackinfo.h b/sysdeps/s390/stackinfo.h index 7e09c85b9b..058dff6bad 100644 --- a/sysdeps/s390/stackinfo.h +++ b/sysdeps/s390/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,13 @@ #ifndef _STACKINFO_H #define _STACKINFO_H 1 +#include <elf.h> + /* On s390 the stack grows down. */ #define _STACK_GROWS_DOWN 1 +/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is + * present, but it is presumed absent. */ +#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) + #endif /* stackinfo.h */ diff --git a/sysdeps/sh/stackinfo.h b/sysdeps/sh/stackinfo.h index e65338f256..f1c0977457 100644 --- a/sysdeps/sh/stackinfo.h +++ b/sysdeps/sh/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,13 @@ #ifndef _STACKINFO_H #define _STACKINFO_H 1 +#include <elf.h> + /* On SH the stack grows down. */ #define _STACK_GROWS_DOWN 1 +/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is + * present, but it is presumed absent. */ +#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) + #endif /* stackinfo.h */ diff --git a/sysdeps/sparc/stackinfo.h b/sysdeps/sparc/stackinfo.h index fd34e2deb0..189e4b6fa1 100644 --- a/sysdeps/sparc/stackinfo.h +++ b/sysdeps/sparc/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,13 @@ #ifndef _STACKINFO_H #define _STACKINFO_H 1 +#include <elf.h> + /* On sparc the stack grows down. */ #define _STACK_GROWS_DOWN 1 +/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is + * present, but it is presumed absent. */ +#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) + #endif /* stackinfo.h */ diff --git a/sysdeps/x86_64/stackinfo.h b/sysdeps/x86_64/stackinfo.h index b11849d9ab..d4fc25f457 100644 --- a/sysdeps/x86_64/stackinfo.h +++ b/sysdeps/x86_64/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2009 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,9 +22,15 @@ #ifndef _STACKINFO_H #define _STACKINFO_H 1 +#include <elf.h> + /* On x86_64 the stack grows down. */ #define _STACK_GROWS_DOWN 1 +/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is + * present, but it is presumed absent. */ +#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) + /* Access to the stack pointer. The macros are used in alloca_account for which they need to act as barriers as well, hence the additional (unnecessary) parameters. */ |