* [parisc-linux] Glibc 2.3.2 failures and possible fixes?
@ 2003-03-24 21:35 Carlos O'Donell
2003-03-24 22:01 ` Matthew Wilcox
2003-03-25 11:37 ` Joel Soete
0 siblings, 2 replies; 16+ messages in thread
From: Carlos O'Donell @ 2003-03-24 21:35 UTC (permalink / raw)
To: John David Anglin, Randolph Chung; +Cc: parisc-linux
John, Tausq,
Succeeded in building glibc 2.3.2 with syscall cancellation support, but
I'm pretty sure it's wrong.
The current list of failures includes:
iconvdata/bug-iconv3.out
- This is a new one.
math/test-fenv.out
math/test-float.out
math/test-double.out
math/test-ifloat.out
- We've had the math test failures for a while, would you like it if I
tried building glibc with gcc head? It's been so long I've forgotten
if this was really the delayed fp stuff that I fogot to implement :}
Will get around to testing this more near the end of April.
stdlib/tst-strtod.out
stdlib/bug-strtod.out
- These are not so new, but indicate problems.
libio/tst-mmap-eofsync.out
libio/tst-mmap-fflushsync.out
- New kernel with Tausq's mmap flushing changes should make these go
away... have to go into the office to install a new kernel.
dlfcn/default.out
dlfcn/tststatic.out
- New, possibly related to syscalls.
posix/annexc.out
- Expected.
linuxthreads/ex8.out
linuxthreads/ecmutex.out
linuxthreads/ex14.out
linuxthreads/ex15.out
linuxthreads/bug-sleep.out
linuxthreads/tst-cancel1.out
linuxthreads/tst-cancel2.out
linuxthreads/tst-cancel3.out
linuxthreads/tst-cancel4.out
linuxthreads/tst-cancel5.out
linuxthreads/tst-cancel6.out
linuxthreads/tst-popen.out
linuxthreads/tst-popen2.out
linuxthreads/tst-cancel-static.out
linuxthreads/tst-cancel-wrappers.out
rt/tst-shm.out
rt/tst-clock.out
rt/tst-aio.out
rt/tst-aio64.out
rt/tst-aio2.out
rt/tst-aio3.out
rt/tst-aio4.out
rt/tst-aio5.out
rt/tst-aio6.out
rt/tst-aio7.out
- I broke a lot of stuff... :}
elf/vismain.out
elf/neededtest.out
elf/neededtest2.out
elf/neededtest3.out
elf/neededtest4.out
elf/circleload1.out
- These have been around for a while, any idea about how to fix them?
Cheers,
Carlos.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] Glibc 2.3.2 failures and possible fixes?
2003-03-24 21:35 [parisc-linux] Glibc 2.3.2 failures and possible fixes? Carlos O'Donell
@ 2003-03-24 22:01 ` Matthew Wilcox
2003-03-25 14:27 ` John David Anglin
2003-03-25 11:37 ` Joel Soete
1 sibling, 1 reply; 16+ messages in thread
From: Matthew Wilcox @ 2003-03-24 22:01 UTC (permalink / raw)
To: Carlos O'Donell, John David Anglin, Randolph Chung,
parisc-linux
On Mon, Mar 24, 2003 at 04:35:08PM -0500, Carlos O'Donell wrote:
> math/test-fenv.out
> math/test-float.out
> math/test-double.out
> math/test-ifloat.out
>
> - We've had the math test failures for a while, would you like it if I
> tried building glibc with gcc head? It's been so long I've forgotten
> if this was really the delayed fp stuff that I fogot to implement :}
> Will get around to testing this more near the end of April.
I think this is the mismatch in sizeof(long double) problem again.
> elf/vismain.out
> elf/neededtest.out
> elf/neededtest2.out
> elf/neededtest3.out
> elf/neededtest4.out
> elf/circleload1.out
>
> - These have been around for a while, any idea about how to fix them?
They've certainly been around since I was hacking on glibc ...
--
"It's not Hollywood. War is real, war is primarily not about defeat or
victory, it is about death. I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] Glibc 2.3.2 failures and possible fixes?
2003-03-24 22:01 ` Matthew Wilcox
@ 2003-03-25 14:27 ` John David Anglin
2003-03-25 15:41 ` Carlos O'Donell
0 siblings, 1 reply; 16+ messages in thread
From: John David Anglin @ 2003-03-25 14:27 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: carlos, dave.anglin, tausq, parisc-linux
> I think this is the mismatch in sizeof(long double) problem again.
I noticed that a couple of libstdc++ tests that used to fail because
of the long double mismatch are fixed with 2.3.1-14 :)
> > elf/vismain.out
> > elf/neededtest.out
> > elf/neededtest2.out
> > elf/neededtest3.out
> > elf/neededtest4.out
> > elf/circleload1.out
> >
> > - These have been around for a while, any idea about how to fix them?
>
> They've certainly been around since I was hacking on glibc ...
Are you testing with 3.3? Some elf tests in the binutils suite
were failing because of the need to canonicalize function pointers.
There were also some tests that failed because we absolutely need
'-fPIC' for tests with shared libraries. I'd be interested to know
what's causing these.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] Glibc 2.3.2 failures and possible fixes?
2003-03-25 14:27 ` John David Anglin
@ 2003-03-25 15:41 ` Carlos O'Donell
0 siblings, 0 replies; 16+ messages in thread
From: Carlos O'Donell @ 2003-03-25 15:41 UTC (permalink / raw)
To: John David Anglin; +Cc: Matthew Wilcox, dave.anglin, tausq, parisc-linux
> I noticed that a couple of libstdc++ tests that used to fail because
> of the long double mismatch are fixed with 2.3.1-14 :)
Really? I didn't even put in patches for -14? :) This is all strictly
from upstream glibc.
> > > elf/vismain.out
> > > elf/neededtest.out
> > > elf/neededtest2.out
> > > elf/neededtest3.out
> > > elf/neededtest4.out
> > > elf/circleload1.out
> > >
> > > - These have been around for a while, any idea about how to fix them?
> >
> > They've certainly been around since I was hacking on glibc ...
>
> Are you testing with 3.3? Some elf tests in the binutils suite
> were failing because of the need to canonicalize function pointers.
> There were also some tests that failed because we absolutely need
> '-fPIC' for tests with shared libraries. I'd be interested to know
> what's causing these.
I can rebuild it using 3.3 and see if this goes away. Right now I'm
building with 3.2.3. I sure hope getting rid of these is as easy as
building with 3.3!
On a second note, I've completely revamped the sysdep-cancel support
since I must have been smoking crack when I wrote it... so I'm going to
compile another round that should come out much better (hopefully
removing all the linuxthread failures).
Thanks for the feedback!
c.
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [parisc-linux] Glibc 2.3.2 failures and possible fixes?
2003-03-24 21:35 [parisc-linux] Glibc 2.3.2 failures and possible fixes? Carlos O'Donell
2003-03-24 22:01 ` Matthew Wilcox
@ 2003-03-25 11:37 ` Joel Soete
2003-03-25 17:17 ` Carlos O'Donell
1 sibling, 1 reply; 16+ messages in thread
From: Joel Soete @ 2003-03-25 11:37 UTC (permalink / raw)
To: Carlos O'Donell; +Cc: parisc-linux
Hi Carlos,
>
>John, Tausq,
>
>Succeeded in building glibc 2.3.2 with syscall cancellation support, but
>I'm pretty sure it's wrong.
>
I am less luky.
I grab src of glibc-2.3.2 from ftp.gnu and aply your patches and try to rebuild
on an unstable debian (update this 20030324).
unfortunately I got the following err:
gcc-3.2 dl-reloc.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings
-fstrict-aliasing -g -pipe -I../include -I.
-I/Develop/tools/glibc/glibc-2.3.2/hppa-linux/obj/elf -I.. -I../libio -I/Develop/tools/glibc/glibc-2.3.2/hppa-linux/obj
-I../sysdeps/hpp
a/elf -I../linuxthreads/sysdeps/unix/sysv/linux/hppa -I../linuxthreads/sysdeps/unix/sysv/linux
-I../linuxthreads/sysdeps/pthread -I../sys
deps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix
-I../linuxthreads/sysdeps/hppa -I../sysdeps/unix/sysv/lin
ux/hppa -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common
-I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps
/unix/sysv -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/hppa/hppa1.1
-I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysde
ps/ieee754/dbl-64 -I../sysdeps/ieee754/ldbl-128 -I../sysdeps/hppa/fpu -I../sysdeps/hppa
-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I.
./sysdeps/generic -nostdinc -isystem /usr/lib/gcc-lib/hppa-linux/3.2.3/include
-isystem /usr/src/linux-2.4.20-pa32-64/include -D_LIBC_RE
ENTRANT -include ../include/libc-symbols.h -o /Develop/tools/glibc/glibc-2.3.2/hppa-linux/obj/elf/dl-reloc.o
In file included from dynamic-link.h:49,
from dl-reloc.c:207:
../sysdeps/hppa/dl-machine.h: In function `_dl_relocate_object':
../sysdeps/hppa/dl-machine.h:646: conflicting types for `elf_machine_rela_relative'
dynamic-link.h:37: previous declaration of `elf_machine_rela_relative'
make[3]: *** [/Develop/tools/glibc/glibc-2.3.2/hppa-linux/obj/elf/dl-reloc.o]
Error 1
make[3]: Leaving directory `/Develop/tools/glibc/glibc-2.3.2/glibc-2.3.2/elf'
make[2]: *** [elf/subdir_lib] Error 2
make[2]: Leaving directory `/Develop/tools/glibc/glibc-2.3.2/glibc-2.3.2'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/Develop/tools/glibc/glibc-2.3.2/hppa-linux/obj'
make: *** [/Develop/tools/glibc/glibc-2.3.2/hppa-linux/installed-binaries]
Error 2
I also find:
into dynamic-link.h
auto void __attribute__((always_inline))
elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
ElfW(Addr) *const reloc_addr);
into sysdeps/hppa/dl-machine.h:
auto void __attribute__((always_inline))
elf_machine_rela_relative (struct link_map *map, Elf32_Addr l_addr,
const Elf32_Rela *reloc,
Elf32_Addr *const reloc_addr)
Thanks for advise,
Joel
---------------------------------
Vous surfez avec une ligne classique ?
Economisez jusqu'à 25% avec Tiscali Complete !
Offre spéciale : première année d'abonnement offerte.
... Plus d'info sur http://complete.tiscali.be
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [parisc-linux] Glibc 2.3.2 failures and possible fixes?
2003-03-25 11:37 ` Joel Soete
@ 2003-03-25 17:17 ` Carlos O'Donell
2003-03-25 18:01 ` Joel Soete
0 siblings, 1 reply; 16+ messages in thread
From: Carlos O'Donell @ 2003-03-25 17:17 UTC (permalink / raw)
To: Joel Soete; +Cc: parisc-linux
>
> I also find:
>
> into dynamic-link.h
> auto void __attribute__((always_inline))
> elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
> ElfW(Addr) *const reloc_addr);
>
> into sysdeps/hppa/dl-machine.h:
> auto void __attribute__((always_inline))
> elf_machine_rela_relative (struct link_map *map, Elf32_Addr l_addr,
> const Elf32_Rela *reloc,
> Elf32_Addr *const reloc_addr)
>
Missing patch. My bad.
I'll update in a few hours with a new sysdep-cancel patch.
Thanks for testing Joel!
c.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] Glibc 2.3.2 failures and possible fixes?
2003-03-25 17:17 ` Carlos O'Donell
@ 2003-03-25 18:01 ` Joel Soete
2003-03-25 23:40 ` [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel Carlos O'Donell
0 siblings, 1 reply; 16+ messages in thread
From: Joel Soete @ 2003-03-25 18:01 UTC (permalink / raw)
To: Carlos O'Donell; +Cc: parisc-linux
>>
>> I also find:
>>
>> into dynamic-link.h
>> auto void __attribute__((always_inline))
>> elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
>> ElfW(Addr) *const reloc_addr);
>>
>> into sysdeps/hppa/dl-machine.h:
>> auto void __attribute__((always_inline))
>> elf_machine_rela_relative (struct link_map *map, Elf32_Addr l_addr,
>> const Elf32_Rela *reloc,
>> Elf32_Addr *const reloc_addr)
>>
>
>Missing patch. My bad.
Don't worry.
>I'll update in a few hours with a new sysdep-cancel patch.
I will waiting for :)
>
>Thanks for testing Joel!
>
You know how much am i interested. I know my knowledge is limited but I try
to do my best.
Always wellcome and thanks for your attention,
Joel
---------------------------------
Vous surfez avec une ligne classique ?
Economisez jusqu'à 25% avec Tiscali Complete !
Offre spéciale : première année d'abonnement offerte.
... Plus d'info sur http://complete.tiscali.be
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
@ 2003-03-26 7:14 Berthold Gunreben
0 siblings, 0 replies; 16+ messages in thread
From: Berthold Gunreben @ 2003-03-26 7:14 UTC (permalink / raw)
To: parisc-linux
Hi Carlos,
Carlos O'Donell <carlos@baldric.uwo.ca> schrieb am 26.03.03 00:41:24:
> Patches updated:
> http://www.baldric.uwo.ca/~carlos/glibc-2.3.2-patches.tar.gz
>
> Still no luck on getting sysdep-cancel to work. I'll need another pair
> of eyes to look at the assembly in sysdep-cancel.h
I was successful to compile the first version of your patches (after fixing the map
part). Here is the output of
# /lib/libc.so.6
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.3 20030226 (prerelease) (SuSE Linux).
Compiled on a Linux 2.4.19 system on 2003-03-25.
Available extensions:
GNU libio by Per Bothner
crypt add-on version 2.1 by Michael Glad and others
linuxthreads-0.10 by Xavier Leroy
BIND-8.2.3-T5B
libthread_db work sponsored by Alpha Processor Inc
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Report bugs using the `glibcbug' script to <bugs@gnu.org>.
I was not successful to compile your current version:
gcc ../sysdeps/unix/sysv/linux/sigprocmask.c -c -std=gnu99 -O2 -Wall -Winline -W
strict-prototypes -Wwrite-strings -fstrict-aliasing -g -mpa-risc-1-1 -I../i
nclude -I. -I/usr/src/packages/BUILD/glibc-2.3.2/cc/signal -I.. -I../libio -I/u
sr/src/packages/BUILD/glibc-2.3.2/cc -I../sysdeps/hppa/elf -I../linuxthreads/sys
deps/unix/sysv/linux/hppa -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxth
reads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -
I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/hppa -I../sysdeps/unix/s
ysv/linux/hppa -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/c
ommon -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../
sysdeps/unix -I../sysdeps/posix -I../sysdeps/hppa/hppa1.1 -I../sysdeps/wordsize-
32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/
ldbl-128 -I../sysdeps/hppa/fpu -I../sysdeps/hppa -I../sysdeps/ieee754 -I../sysde
ps/generic/elf -I../sysdeps/generic -nostdinc -isystem /usr/lib/gcc-lib/hppa-su
se-linux/3.3/include -isystem /usr/src/packages/BUILD/kernel-headers -D_LIBC_REE
NTRANT -include ../include/libc-symbols.h -o /usr/src/packages/BUILD/glibc
-2.3.2/cc/signal/sigprocmask.o
(echo '#include <sysdep.h>'; \
echo 'PSEUDO (__kill, kill, 2)'; \
echo ' ret'; \
echo 'PSEUDO_END(__kill)'; \
echo 'libc_hidden_def (__kill)'; \
echo 'weak_alias (__kill, kill)'; \
echo 'libc_hidden_weak (kill)'; \
) | gcc -c -I../include -I. -I/usr/src/packages/BUILD/glibc-2.3.2/cc/signal -I.
. -I../libio -I/usr/src/packages/BUILD/glibc-2.3.2/cc -I../sysdeps/hppa/elf -I.
./linuxthreads/sysdeps/unix/sysv/linux/hppa -I../linuxthreads/sysdeps/unix/sysv/
linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/s
ysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/hppa -
I../sysdeps/unix/sysv/linux/hppa -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -
I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysde
ps/unix/sysv -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/hppa/hppa1.1 -I..
/sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I.
./sysdeps/ieee754/ldbl-128 -I../sysdeps/hppa/fpu -I../sysdeps/hppa -I../sysdeps/
ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /usr/l
ib/gcc-lib/hppa-suse-linux/3.3/include -isystem /usr/src/packages/BUILD/kernel-h
eaders -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER
-x assembler-with-cpp -o /usr/src/packages/BUILD/glibc-2.3.2/cc/signal/kill.o -
<stdin>: Assembler messages:
<stdin>:2: Fatal error: Unknown opcode: `do_call_noerrno(kill, 2)'
make[2]: *** [/usr/src/packages/BUILD/glibc-2.3.2/cc/signal/kill.o] Error 1
make[2]: Leaving directory `/usr/src/packages/BUILD/glibc-2.3.2/signal'
make[1]: *** [signal/subdir_lib] Error 2
I still have to look into my patches, if they correct compared to your original
patches. If you want me to run the test suite on the old version, I can recompile that
version.
Berthold
______________________________________________________________________________
Ihre Freunde sind in Italien? Schicken Sie ihnen trotzdem eine SMS
mit WEB.DE FreeMail http://freemail.web.de/features/?mc=021172
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
@ 2003-03-26 7:55 Berthold Gunreben
2003-03-26 11:57 ` Joel Soete
0 siblings, 1 reply; 16+ messages in thread
From: Berthold Gunreben @ 2003-03-26 7:55 UTC (permalink / raw)
To: parisc-linux
"Berthold Gunreben" <b.gunreben@web.de> schrieb am 26.03.03 08:15:30:
> I was not successful to compile your current version:
Sorry, my fault. I am recompiling now.
Berthold
______________________________________________________________________________
Ihre Freunde sind in Italien? Schicken Sie ihnen trotzdem eine SMS
mit WEB.DE FreeMail http://freemail.web.de/features/?mc=021172
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
2003-03-26 7:55 Berthold Gunreben
@ 2003-03-26 11:57 ` Joel Soete
2003-03-26 14:09 ` Carlos O'Donell
2003-03-26 14:17 ` Joel Soete
0 siblings, 2 replies; 16+ messages in thread
From: Joel Soete @ 2003-03-26 11:57 UTC (permalink / raw)
To: Berthold Gunreben, parisc-linux
Hi Carlos,
A grab your last patches and original src from ftp.gnu.org and in your patch
glibc23-05b-hppa-sysdep, the second hunk was rejected and so I change it
as follow:
=====
--- glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.h.orig 2002-08-26 23:16:19.000000000
+0200
+++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.h 2003-03-26 12:41:50.000000000
+0100
@@ -101,20 +101,27 @@
which means
ENTRY(name)
DO_CALL(...)
- nop
bv 0(2)
nop
*/
#define PSEUDO(name, syscall_name, args) \
ENTRY (name) \
- DO_CALL(syscall_name, args) ASM_LINE_SEP \
- nop
+ DO_CALL(syscall_name, args) ASM_LINE_SEP
#undef PSEUDO_END
#define PSEUDO_END(name) \
END (name)
+#define PSEUDO_NOERRNO(name, syscall_name, args) \
+ ENTRY (name) \
+ DO_CALL_NOERRNO(syscall_name, args) ASM_LINE_SEP
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(name) \
+ END (name)
+
+#undef JUMPTARGET
#define JUMPTARGET(name) name
#define SYSCALL_PIC_SETUP /* Nothing. */
@@ -165,6 +172,13 @@
0: ASM_LINE_SEP \
UNDOARGS_##args
+#undef DO_CALL_NOERRNO
+#define DO_CALL_NOERRNO(syscall_name, args) \
+ DOARGS_##args \
+ ble 0x100(%sr2,%r0) ASM_LINE_SEP \
+ ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \
+ UNDOARGS_##args
+
#define DOARGS_0 /* nothing */
#define DOARGS_1 /* nothing */
#define DOARGS_2 /* nothing */
@@ -183,7 +197,7 @@
#define UNDOARGS_5 /* nothing */
#define UNDOARGS_6 /* nothing */
-#else
+#else /* !__ASSEMBLER__ */
#undef INLINE_SYSCALL
#define INLINE_SYSCALL(name, nr, args...) ({ \
@@ -206,6 +220,35 @@
__sys_res; \
})
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+ ((unsigned long) (val) >= -4095L)
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
+
+/* Similar to INLINE_SYSCALL but we don't set errno */
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...) \
+({ \
+ long __sys_res; \
+ { \
+ register unsigned long __res asm("r28"); \
+ LOAD_ARGS_##nr(args) \
+ asm volatile( \
+ "ble 0x100(%%sr2, %%r0)\n\t" \
+ " ldi %1, %%r20" \
+ : "=r" (__res) \
+ : "i" (SYS_ify(name)) ASM_ARGS_##nr \
+ ); \
+ __sys_res = __res; \
+ } \
+ __sys_res; \
+ })
+
#define LOAD_ARGS_0()
#define LOAD_ARGS_1(r26) \
register unsigned long __r26 __asm__("r26") = (unsigned long)r26; \
=====
Or do I grab bad src?
Joel
---------------------------------
Vous surfez avec une ligne classique ?
Economisez jusqu'à 25% avec Tiscali Complete !
Offre spéciale : première année d'abonnement offerte.
... Plus d'info sur http://complete.tiscali.be
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
2003-03-26 11:57 ` Joel Soete
@ 2003-03-26 14:09 ` Carlos O'Donell
2003-03-26 14:21 ` Joel Soete
2003-03-26 14:17 ` Joel Soete
1 sibling, 1 reply; 16+ messages in thread
From: Carlos O'Donell @ 2003-03-26 14:09 UTC (permalink / raw)
To: Joel Soete; +Cc: Berthold Gunreben, parisc-linux
> A grab your last patches and original src from ftp.gnu.org and in your patch
> glibc23-05b-hppa-sysdep, the second hunk was rejected and so I change it
CVS head and it will apply fine.
c.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
2003-03-26 14:09 ` Carlos O'Donell
@ 2003-03-26 14:21 ` Joel Soete
0 siblings, 0 replies; 16+ messages in thread
From: Joel Soete @ 2003-03-26 14:21 UTC (permalink / raw)
To: Carlos O'Donell; +Cc: Berthold Gunreben, parisc-linux
>> A grab your last patches and original src from ftp.gnu.org and in your
>patch
>> glibc23-05b-hppa-sysdep, the second hunk was rejected and so I change
it
>
>CVS head and it will apply fine.
>
Ah ok (I didn't though to this)
Thanks,
Joel
---------------------------------
Vous surfez avec une ligne classique ?
Economisez jusqu'à 25% avec Tiscali Complete !
Offre spéciale : première année d'abonnement offerte.
... Plus d'info sur http://complete.tiscali.be
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
2003-03-26 11:57 ` Joel Soete
2003-03-26 14:09 ` Carlos O'Donell
@ 2003-03-26 14:17 ` Joel Soete
2003-03-26 15:07 ` Carlos O'Donell
1 sibling, 1 reply; 16+ messages in thread
From: Joel Soete @ 2003-03-26 14:17 UTC (permalink / raw)
To: Berthold Gunreben, parisc-linux; +Cc: Carlos O'Donell
Hi Carlos,
>
>A grab your last patches and original src from ftp.gnu.org and in your patch
>glibc23-05b-hppa-sysdep, the second hunk was rejected and so I change it
>as follow:
>=====
>--- glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.h.orig 2002-08-26 23:16:19.000000000
>+0200
>+++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.h 2003-03-26 12:41:50.000000000
>+0100
>@@ -101,20 +101,27 @@
> which means
> ENTRY(name)
> DO_CALL(...)
>- nop
> bv 0(2)
> nop
> */
>
> #define PSEUDO(name, syscall_name, args) \
> ENTRY (name) \
>- DO_CALL(syscall_name, args) ASM_LINE_SEP \
>- nop
>+ DO_CALL(syscall_name, args) ASM_LINE_SEP
>
> #undef PSEUDO_END
> #define PSEUDO_END(name) \
> END (name)
>
>+#define PSEUDO_NOERRNO(name, syscall_name, args) \
>+ ENTRY (name) \
>+ DO_CALL_NOERRNO(syscall_name, args) ASM_LINE_SEP
>+
>+#undef PSEUDO_END_NOERRNO
>+#define PSEUDO_END_NOERRNO(name) \
>+ END (name)
>+
>+#undef JUMPTARGET
> #define JUMPTARGET(name) name
> #define SYSCALL_PIC_SETUP /* Nothing. */
>
>@@ -165,6 +172,13 @@
> 0: ASM_LINE_SEP \
> UNDOARGS_##args
>
>+#undef DO_CALL_NOERRNO
>+#define DO_CALL_NOERRNO(syscall_name, args) \
>+ DOARGS_##args \
>+ ble 0x100(%sr2,%r0) ASM_LINE_SEP \
>+ ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \
>+ UNDOARGS_##args
>+
> #define DOARGS_0 /* nothing */
> #define DOARGS_1 /* nothing */
> #define DOARGS_2 /* nothing */
>@@ -183,7 +197,7 @@
> #define UNDOARGS_5 /* nothing */
> #define UNDOARGS_6 /* nothing */
>
>-#else
>+#else /* !__ASSEMBLER__ */
>
> #undef INLINE_SYSCALL
> #define INLINE_SYSCALL(name, nr, args...) ({ \
>@@ -206,6 +220,35 @@
> __sys_res; \
> })
>
>+#undef INTERNAL_SYSCALL_DECL
>+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
>+
>+#undef INTERNAL_SYSCALL_ERROR_P
>+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
>+ ((unsigned long) (val) >= -4095L)
>+
>+#undef INTERNAL_SYSCALL_ERRNO
>+#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
>+
>+/* Similar to INLINE_SYSCALL but we don't set errno */
>+#undef INTERNAL_SYSCALL
>+#define INTERNAL_SYSCALL(name, err, nr, args...) \
>+({ \
>+ long __sys_res; \
>+ { \
>+ register unsigned long __res asm("r28"); \
>+ LOAD_ARGS_##nr(args) \
>+ asm volatile( \
>+ "ble 0x100(%%sr2, %%r0)\n\t" \
>+ " ldi %1, %%r20" \
>+ : "=r" (__res) \
>+ : "i" (SYS_ify(name)) ASM_ARGS_##nr \
>+ ); \
>+ __sys_res = __res; \
>+ } \
>+ __sys_res; \
>+ })
>+
> #define LOAD_ARGS_0()
> #define LOAD_ARGS_1(r26) \
> register unsigned long __r26 __asm__("r26") = (unsigned long)r26; \
>=====
>
>Or do I grab bad src?
>
Well that help me to complet the rebuild of libc6; excepted that at one moment
I had to kill a 'tst-cancel-stat' because it was eating 99% of cpu usage.
As it was evidently looping, strace -p 31611 shows me hundred of thousand
messages: kill(31610, SIGRT_1) =-1 (no such process)
hth,
Joel
Joel
---------------------------------
Vous surfez avec une ligne classique ?
Economisez jusqu'à 25% avec Tiscali Complete !
Offre spéciale : première année d'abonnement offerte.
... Plus d'info sur http://complete.tiscali.be
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
2003-03-26 14:17 ` Joel Soete
@ 2003-03-26 15:07 ` Carlos O'Donell
2003-03-26 18:12 ` Joel Soete
0 siblings, 1 reply; 16+ messages in thread
From: Carlos O'Donell @ 2003-03-26 15:07 UTC (permalink / raw)
To: Joel Soete; +Cc: parisc-linux
> I had to kill a 'tst-cancel-stat' because it was eating 99% of cpu usage.
> As it was evidently looping, strace -p 31611 shows me hundred of thousand
> messages: kill(31610, SIGRT_1) =-1 (no such process)
Yes, I've noticed this, and I'm not sure why it's doing that. It's the
only test that fails this way. The rest just SIGSEGV, which again means
I need to keep debugging the syscall/errno code.
I'll post an update after running some tests on my current patches.
Thanks for trying that out Joel. What hardware are you testing this on?
c.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel
2003-03-26 15:07 ` Carlos O'Donell
@ 2003-03-26 18:12 ` Joel Soete
0 siblings, 0 replies; 16+ messages in thread
From: Joel Soete @ 2003-03-26 18:12 UTC (permalink / raw)
To: Carlos O'Donell; +Cc: parisc-linux
>
>> I had to kill a 'tst-cancel-stat' because it was eating 99% of cpu usage.
>> As it was evidently looping, strace -p 31611 shows me hundred of thousand
>> messages: kill(31610, SIGRT_1) =-1 (no such process)
>
>Yes, I've noticed this, and I'm not sure why it's doing that. It's the
>only test that fails this way. The rest just SIGSEGV, which again means
>I need to keep debugging the syscall/errno code.
>
>I'll post an update after running some tests on my current patches.
>Thanks for trying that out Joel. What hardware are you testing this on?
>
Sorry I forgot to mentionned; I take the opportunity of a n4k with 2g of
mem to make compile quickest (no swaping at all with so big mem amount) and
so running a 2.4.20-pa32 64bits (up) with an unstable debian.
Joel
---------------------------------
Vous surfez avec une ligne classique ?
Economisez jusqu'à 25% avec Tiscali Complete !
Offre spéciale : première année d'abonnement offerte.
... Plus d'info sur http://complete.tiscali.be
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2003-03-26 18:13 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-24 21:35 [parisc-linux] Glibc 2.3.2 failures and possible fixes? Carlos O'Donell
2003-03-24 22:01 ` Matthew Wilcox
2003-03-25 14:27 ` John David Anglin
2003-03-25 15:41 ` Carlos O'Donell
2003-03-25 11:37 ` Joel Soete
2003-03-25 17:17 ` Carlos O'Donell
2003-03-25 18:01 ` Joel Soete
2003-03-25 23:40 ` [parisc-linux] glibc 2.3.2 patches updated, still no working sysdep-cancel Carlos O'Donell
-- strict thread matches above, loose matches on Subject: below --
2003-03-26 7:14 Berthold Gunreben
2003-03-26 7:55 Berthold Gunreben
2003-03-26 11:57 ` Joel Soete
2003-03-26 14:09 ` Carlos O'Donell
2003-03-26 14:21 ` Joel Soete
2003-03-26 14:17 ` Joel Soete
2003-03-26 15:07 ` Carlos O'Donell
2003-03-26 18:12 ` Joel Soete
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.