This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [Linux-ia64] gcc and glibc: big troubles
- To: Uros Prestor <uros at turbolinux dot com>
- Subject: Re: [Linux-ia64] gcc and glibc: big troubles
- From: "H . J . Lu" <hjl at valinux dot com>
- Date: Tue, 21 Nov 2000 14:28:46 -0800
- Cc: GNU C Library <libc-alpha at sourceware dot cygnus dot com>
- References: <Pine.LNX.4.21.0011211612150.871-100000@toy.mandrakesoft.com> <d3y9yd9uxf.fsf@lxplus015.cern.ch> <20001121085803.A3351@valinux.com> <3A1AE069.49521518@turbolinux.com>
On Tue, Nov 21, 2000 at 12:51:53PM -0800, Uros Prestor wrote:
> "H . J . Lu" wrote:
>
> > This is an untested patch. Let me know what you get.
>
> You may want to use 16384 as the default fallback value. I think all
> distributions ship the kernel with 16K page size as the default.
>
That makes senses. Here is the new patch. Let me know if _dl_pagesize
works with static binaries.
--
H.J. Lu (hjl@valinux.com)
---
2000-11-21 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
Don't call __syscall_getpagesize. Set to 16K by default.
* sysdeps/unix/sysv/linux/ia64/syscalls.list (s_getpagesize):
Removed.
Index: sysdeps/unix/sysv/linux/ia64/syscalls.list
===================================================================
RCS file: /work/cvs/gnu/glibc/sysdeps/unix/sysv/linux/ia64/syscalls.list,v
retrieving revision 1.1.1.8
diff -u -p -r1.1.1.8 syscalls.list
--- sysdeps/unix/sysv/linux/ia64/syscalls.list 2000/09/16 06:41:37 1.1.1.8
+++ sysdeps/unix/sysv/linux/ia64/syscalls.list 2000/11/21 16:47:02
@@ -72,7 +72,6 @@ s_getdents64 getdents64 getdents64 i:ipi
s_mknod xmknod mknod i:sii __syscall_mknod
s_readv readv readv i:ipi __syscall_readv
s_writev writev writev i:ipi __syscall_writev
-s_getpagesize getpagesize getpagesize 0 __syscall_getpagesize
s_poll poll poll i:pii __syscall_poll
s_reboot reboot reboot i:iii __syscall_reboot
s_ustat ustat ustat i:ip __syscall_ustat
Index: sysdeps/unix/sysv/linux/ia64/getpagesize.c
===================================================================
RCS file: /work/cvs/gnu/glibc/sysdeps/unix/sysv/linux/ia64/getpagesize.c,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 getpagesize.c
--- sysdeps/unix/sysv/linux/ia64/getpagesize.c 2000/06/25 16:02:54 1.1.1.1
+++ sysdeps/unix/sysv/linux/ia64/getpagesize.c 2000/11/21 22:26:21
@@ -27,19 +27,13 @@
determine the page size to ensure proper alignment for calls such
as mmap and friends. --davidm 99/11/30 */
-/* 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
- use the getpagesize system call. */
-
extern size_t _dl_pagesize;
-extern size_t __syscall_getpagesize (void);
-
int
__getpagesize ()
{
if (_dl_pagesize == 0)
- _dl_pagesize = INLINE_SYSCALL (getpagesize, 0);
+ _dl_pagesize = 0x4000; /* use a reasonable default */
return _dl_pagesize;
}