diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list | 1 |
3 files changed, 16 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index ee88fccdcb..5708db8bd2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +1998-06-27 David S. Miller <davem@pierdol.cobaltmicro.com> + + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_matches_host): + Cleanup weak_extern usage for _dl_hwcap and _dl_hwcap_mask. + (elf_machine_fixup_plt): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: When + _dl_pagesize not set, use system call to always get correct answer. + * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list + (__syscall_getpagesize): Add + 1998-06-27 Ulrich Drepper <drepper@cygnus.com> * resolv/res_send.c (res_send): Fix typo. 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 |