From a4541d42ff420e9e9ece6aaa1d70c29162d869c8 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 16 Aug 2004 19:21:45 +0000 Subject: The variable used to store pagesize is not the same as the _dl_pagesize variable in ldso, so avoid aliasing. -Erik --- libc/misc/internals/__uClibc_main.c | 8 +++----- libc/stdlib/malloc/malloc.h | 3 ++- libc/sysdeps/linux/common/getpagesize.c | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) (limited to 'libc') 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 #include #include -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; -- cgit v1.2.3