diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-08-16 19:21:45 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-08-16 19:21:45 +0000 |
commit | a4541d42ff420e9e9ece6aaa1d70c29162d869c8 (patch) | |
tree | e5d9fb7f2da96a590d5ba6649551ba41329ce472 /libc | |
parent | aa1a5f5c1a6cf2ff1d8cf9611133c5872165c47e (diff) |
The variable used to store pagesize is not the same as the
_dl_pagesize variable in ldso, so avoid aliasing.
-Erik
Diffstat (limited to 'libc')
-rw-r--r-- | libc/misc/internals/__uClibc_main.c | 8 | ||||
-rw-r--r-- | libc/stdlib/malloc/malloc.h | 3 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/getpagesize.c | 6 |
3 files changed, 8 insertions, 9 deletions
diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c index 6b5463f58..68fd460a1 100644 --- a/libc/misc/internals/__uClibc_main.c +++ b/libc/misc/internals/__uClibc_main.c @@ -48,9 +48,7 @@ extern void weak_function __pthread_initialize_minimal(void); */ extern int _dl_secure; -extern size_t _dl_pagesize; -size_t __dl_pagesize = 0; -weak_alias(__dl_pagesize, _dl_pagesize); +size_t __pagesize = 0; char **__environ = 0; const char *__progname = 0; @@ -140,9 +138,9 @@ __uClibc_start_main(int argc, char **argv, char **envp, } aux_dat += 2; } - _dl_pagesize = (auxvt[AT_PAGESZ].a_un.a_val)? auxvt[AT_PAGESZ].a_un.a_val : PAGE_SIZE; + __pagesize = (auxvt[AT_PAGESZ].a_un.a_val)? auxvt[AT_PAGESZ].a_un.a_val : PAGE_SIZE; #else - _dl_pagesize = PAGE_SIZE; + __pagesize = PAGE_SIZE; #endif /* If we are dynamically linked the shared lib loader already diff --git a/libc/stdlib/malloc/malloc.h b/libc/stdlib/malloc/malloc.h index ef95994a6..08ebfdf5b 100644 --- a/libc/stdlib/malloc/malloc.h +++ b/libc/stdlib/malloc/malloc.h @@ -15,7 +15,8 @@ #define MALLOC_ALIGNMENT (sizeof (double)) /* The system pagesize... */ -#define MALLOC_PAGE_SIZE _dl_pagesize +extern size_t __pagesize; +#define MALLOC_PAGE_SIZE __pagesize /* The minimum size of block we request from the the system to extend the heap for small allocations (we may request a bigger block if necessary to diff --git a/libc/sysdeps/linux/common/getpagesize.c b/libc/sysdeps/linux/common/getpagesize.c index 72da95bbc..0844d5b79 100644 --- a/libc/sysdeps/linux/common/getpagesize.c +++ b/libc/sysdeps/linux/common/getpagesize.c @@ -19,13 +19,13 @@ #include <unistd.h> #include <features.h> #include <sys/param.h> -extern size_t _dl_pagesize; +extern size_t __pagesize; /* Return the system page size. */ int __getpagesize(void) { - if (_dl_pagesize != 0) - return _dl_pagesize; + if (__pagesize != 0) + return __pagesize; #ifdef EXEC_PAGESIZE return EXEC_PAGESIZE; |