summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list1
2 files changed, 6 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c b/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
index e04e926644..6d44be7821 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
@@ -24,15 +24,17 @@
 
 /* If we are not a static program, this value is collected from the system
    via the AT_PAGESZ auxiliary argument.  If we are a static program, we
-   have to guess.  We should _really_ get Linux a proper sysconf()...  */
+   use the getpagesize system call.  */
 
-extern size_t _dl_pagesize;
+size_t _dl_pagesize;
+
+extern size_t __syscall_getpagesize(void);
 
 int
 __getpagesize ()
 {
   if (_dl_pagesize == 0)
-    _dl_pagesize = EXEC_PAGESIZE;
+    _dl_pagesize = __syscall_getpagesize();
   return _dl_pagesize;
 }
 
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
index 9a3e4d0e58..14c4691896 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
@@ -3,3 +3,4 @@
 s_getgroups	getgroups getgroups	2	__syscall_getgroups
 s_llseek	llseek	_llseek		5	__sys_llseek
 s_setgroups	setgroups setgroups	2	__syscall_setgroups
+s_getpagesize	getpagesize getpagesize	0	__syscall_getpagesize