This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Thu, Sep 14, 2000 at 04:50:17PM -0700, Ulrich Drepper wrote: > Hi, > > I want to make the next prerelease before Tuesday next week. The > problems I'm seeing in the moment are: > > - on Arm, gcc cannot handle nested functions. I filed a PR. We cannot > do much about this except compiling ld-collate.c without optimization > > - on PPC I see problems because the binutils we have on that machine is > not handling .protected correctly. Geoff is currently tested a patch. > The patch HJ sent out some time ago is not entirely correct as far as > we can say now. > > - on Alpha I see many math errors and also the vismain test in elf/ is > failing. The math errors are most probably due to the kernel we are > running on that machine, the elf error probably due to old, in between > the versions, binutils. > > I'm not aware of any other issues, especially not on x86. I don't > know anything about any other architecture. Andreas, if you could > update the PR list so that we can look through it there might be > nothing preventing me from making 2.1.94. Could you please install my yesterday's _dl_lookup_symbol_skip patch? That one is an issue on x86 as well. The patch below fixes sysctl on Alpha, where gcc -O2 and -O3 optimize too much and move stores into the sysctl_args structure after the syscall where they are useless. This was the reason why alphaev4 glibc would load (all stores happened past the syscall, so it returned -EFAULT) and would not start at all on alphaev6 (where name and namelen were stored and the rest were zeros). I have checked other ports and alpha, arm and m68k were the only posts not adding "memory" into syscall clobbers. But a syscall usually clobbers memory, and we don't have any macros how to tell which INLINE_SYSCALL will clobber which memory. 2000-09-15 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/alpha/sysdep.h (inline_syscall_clobbers): Add memory clobber. * sysdeps/unix/sysv/linux/arm/sysdep.h (INLINE_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h (INLINE_SYSCALL): Likewise. --- libc/sysdeps/unix/alpha/sysdep.h.jj Sun Nov 1 00:37:54 1998 +++ libc/sysdeps/unix/alpha/sysdep.h Fri Sep 15 14:36:26 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995, 1996, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe (brendan@zen.org). @@ -131,7 +131,7 @@ __LABEL(name) \ #define inline_syscall_clobbers \ "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", \ - "$22", "$23", "$24", "$25", "$27", "$28" + "$22", "$23", "$24", "$25", "$27", "$28", "memory" /* It is moderately important optimization-wise to limit the lifetime of the hard-register variables as much as possible. Thus we copy --- libc/sysdeps/unix/sysv/linux/arm/sysdep.h.jj Wed Aug 2 21:36:35 2000 +++ libc/sysdeps/unix/sysv/linux/arm/sysdep.h Fri Sep 15 14:37:40 2000 @@ -131,7 +131,7 @@ asm volatile ("swi %1 @ syscall " #name \ : "=r" (_a1) \ : "i" (SYS_ify(name)) ASM_ARGS_##nr \ - : "a1"); \ + : "a1" : "memory"); \ _sys_result = _a1; \ } \ if (_sys_result >= (unsigned int) -4095) \ --- libc/sysdeps/unix/sysv/linux/m68k/sysdep.h.jj Mon Nov 16 03:41:56 1998 +++ libc/sysdeps/unix/sysv/linux/m68k/sysdep.h Fri Sep 15 14:40:29 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Andreas Schwab, <schwab@issan.informatik.uni-dortmund.de>, December 1995. @@ -171,7 +171,7 @@ SYSCALL_ERROR_LABEL: \ asm volatile ("trap #0" \ : "=d" (_d0) \ : "0" (_d0) ASM_ARGS_##nr \ - : "d0"); \ + : "d0" : "memory"); \ _sys_result = _d0; \ } \ if (_sys_result >= (unsigned int) -4095) \ Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |