diff options
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c b/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c index 00bbdc7..4760daf 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c @@ -31,12 +31,16 @@ int __getpagesize () { - if (GLRO(dl_pagesize) == 0) + int ret = GLRO(dl_pagesize); + if (ret == 0) { INTERNAL_SYSCALL_DECL (err); - GLRO(dl_pagesize) = INTERNAL_SYSCALL (getpagesize, err, 0); + ret = INTERNAL_SYSCALL (getpagesize, err, 0); +#ifndef SHARED + GLRO(dl_pagesize) = ret; +#endif } - return GLRO(dl_pagesize); + return ret; } libc_hidden_def (__getpagesize) weak_alias (__getpagesize, getpagesize) |