diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-10-20 10:47:20 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-10-20 10:47:20 +0000 |
commit | 75c95410b7b80289663bf2ba828e84d2c7890369 (patch) | |
tree | 83f4b406b0d4d0a9bcf68f6c56feb00fc59406fa /sysdeps/generic | |
parent | e9e4030ae5f685547a9f7ead1362c7526aa88b80 (diff) |
Updated to fedora-glibc-20041018T0940
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 3 | ||||
-rw-r--r-- | sysdeps/generic/readonly-area.c | 15 |
2 files changed, 12 insertions, 6 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index f1062e7fa6..fd45bdc87f 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -785,7 +785,8 @@ extern void _dl_fini (void) internal_function; any shared object mappings. The `r_state' member of `struct r_debug' says what change is taking place. This function's address is the value of the `r_brk' member. */ -extern void _dl_debug_state (void) attribute_hidden; +extern void _dl_debug_state (void); +rtld_hidden_proto (_dl_debug_state) /* Initialize `struct r_debug' if it has not already been done. The argument is the run-time load address of the dynamic linker, to be put diff --git a/sysdeps/generic/readonly-area.c b/sysdeps/generic/readonly-area.c index df5b96015c..4b8172f193 100644 --- a/sysdeps/generic/readonly-area.c +++ b/sysdeps/generic/readonly-area.c @@ -16,14 +16,19 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <stdlib.h> + /* Return 1 if the whole area PTR .. PTR+SIZE is not writable. Return -1 if it is writable. */ -#include <stdlib.h> - int -__readonly_str (const void *ptr, size_t size) +__readonly_area (const void *ptr, size_t size) { - /* The conservative answer is that all strings are writable. */ - return -1; + /* We cannot determine in general whether memory is writable or not. + This must be handled in a system-dependent manner. to not + unconditionally break code we need to return here a positive + answer. This disables this security measure but that is the + price people have to pay for using systems without a real + implementation of this interface. */ + return 1; } |