From 2dd18ce2b2dfecc737479548f5b6d1784d90fe79 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 5 Jul 2004 17:36:34 +0000 Subject: [PATCH] Update. * include/string.h (ffs): Add libc_hidden_builtin_proto. * sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def. * sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise. * sysdeps/alpha/ffs.S (ffs): Likewise. * sysdeps/s390/ffs.c (ffs): Likewise. * sysdeps/powerpc/ffs.c (ffs): Likewise. * sysdeps/i386/ffs.c (ffs): Likewise. * sysdeps/i386/i686/ffs.c (ffs): Likewise. * sysdeps/m68k/ffs.c (ffs): Likewise. * sysdeps/generic/ffs.c (ffs): Likewise. * sysdeps/m88k/ffs.c (ffs): Likewise. * sysdeps/am29k/ffs.c (ffs): Likewise. * sysdeps/i960/ffs.c (ffs): Likewise. * sysdeps/x86_64/ffs.c (ffs): Likewise. * Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0. --- ChangeLog | 17 +++++++++++++++++ Makerules | 2 +- include/string.h | 1 + linuxthreads/ChangeLog | 9 +++++++++ linuxthreads/sysdeps/ia64/pt-machine.h | 6 +++--- linuxthreads/sysdeps/s390/pspinlock.c | 6 +++--- nptl/ChangeLog | 3 +++ .../unix/sysv/linux/x86_64/lowlevellock.h | 2 +- sysdeps/alpha/alphaev67/ffs.S | 3 ++- sysdeps/alpha/ffs.S | 3 ++- sysdeps/am29k/ffs.c | 3 ++- sysdeps/generic/ffs.c | 3 ++- sysdeps/i386/ffs.c | 3 ++- sysdeps/i386/i686/ffs.c | 3 ++- sysdeps/i960/ffs.c | 3 ++- sysdeps/m68k/ffs.c | 3 ++- sysdeps/m88k/ffs.c | 3 ++- sysdeps/powerpc/ffs.c | 1 + sysdeps/rs6000/ffs.c | 3 ++- sysdeps/s390/ffs.c | 1 + sysdeps/x86_64/ffs.c | 3 ++- 21 files changed, 62 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index ffa376d0e8..44484f0f85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,22 @@ 2004-07-05 Jakub Jelinek + * include/string.h (ffs): Add libc_hidden_builtin_proto. + * sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def. + * sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise. + * sysdeps/alpha/ffs.S (ffs): Likewise. + * sysdeps/s390/ffs.c (ffs): Likewise. + * sysdeps/powerpc/ffs.c (ffs): Likewise. + * sysdeps/i386/ffs.c (ffs): Likewise. + * sysdeps/i386/i686/ffs.c (ffs): Likewise. + * sysdeps/m68k/ffs.c (ffs): Likewise. + * sysdeps/generic/ffs.c (ffs): Likewise. + * sysdeps/m88k/ffs.c (ffs): Likewise. + * sysdeps/am29k/ffs.c (ffs): Likewise. + * sysdeps/i960/ffs.c (ffs): Likewise. + * sysdeps/x86_64/ffs.c (ffs): Likewise. + + * Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0. + * sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp, __libc_siglongjmp): Remove symbol_version. * sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp): diff --git a/Makerules b/Makerules index c29c3401e1..01c9861169 100644 --- a/Makerules +++ b/Makerules @@ -1191,7 +1191,7 @@ define check-abi LC_ALL=C \ $(AWK) -f $< -v 'config=$(check-abi-config)' \ $(filter %.abilist,$^) \ - | { diff -pu0 - $(filter %.symlist,$^) $(check-abi-warn) ; } + | { diff -p -U 0 - $(filter %.symlist,$^) $(check-abi-warn) ; } endef ifeq ($(enable-check-abi),warn) check-abi-warn = || echo '*** WARNING: $*.so failed ABI check' diff --git a/include/string.h b/include/string.h index 702fca0d86..7c05abf7d0 100644 --- a/include/string.h +++ b/include/string.h @@ -100,6 +100,7 @@ libc_hidden_builtin_proto (stpcpy) libc_hidden_builtin_proto (strrchr) libc_hidden_builtin_proto (strspn) libc_hidden_builtin_proto (strstr) +libc_hidden_builtin_proto (ffs) # ifndef _ISOMAC # ifndef index diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 69209f8914..75dea58638 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,12 @@ +2004-07-05 Jakub Jelinek + + * sysdeps/s390/pspinlock.c (__pthread_spin_lock, + __pthread_spin_trylock): Use constraint "m" instead of "0" for + futex. + * sysdeps/ia64/pt-machine.h (__compare_and_swap, + __compare_and_swap_with_release_semantic, testandset): Use + constraint "m" instead of "0" for futex. + 2004-06-29 Kaz Kojima * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Fix diff --git a/linuxthreads/sysdeps/ia64/pt-machine.h b/linuxthreads/sysdeps/ia64/pt-machine.h index a04ae81e2c..6c5dfe93bb 100644 --- a/linuxthreads/sysdeps/ia64/pt-machine.h +++ b/linuxthreads/sysdeps/ia64/pt-machine.h @@ -89,7 +89,7 @@ __compare_and_swap (long int *p, long int oldval, long int newval) ("mov ar.ccv=%4;;\n\t" "cmpxchg8.acq %0=%1,%2,ar.ccv" : "=r" (readval), "=m" (__atomic_fool_gcc (p)) - : "r"(newval), "1" (__atomic_fool_gcc (p)), "r" (oldval) + : "r"(newval), "m" (__atomic_fool_gcc (p)), "r" (oldval) : "memory"); return readval == oldval; } @@ -105,7 +105,7 @@ __compare_and_swap_with_release_semantics (long int *p, ("mov ar.ccv=%4;;\n\t" "cmpxchg8.rel %0=%1,%2,ar.ccv" : "=r" (readval), "=m" (__atomic_fool_gcc (p)) - : "r"(newval), "1" (__atomic_fool_gcc (p)), "r" (oldval) + : "r"(newval), "m" (__atomic_fool_gcc (p)), "r" (oldval) : "memory"); return readval == oldval; } @@ -121,7 +121,7 @@ testandset (int *spinlock) __asm__ __volatile__( "xchg4 %0=%1,%2" : "=r"(ret), "=m"(__atomic_fool_gcc (spinlock)) - : "r"(1), "1"(__atomic_fool_gcc (spinlock)) + : "r"(1), "m"(__atomic_fool_gcc (spinlock)) : "memory"); return ret; diff --git a/linuxthreads/sysdeps/s390/pspinlock.c b/linuxthreads/sysdeps/s390/pspinlock.c index 71ec6b2ae9..f963f35371 100644 --- a/linuxthreads/sysdeps/s390/pspinlock.c +++ b/linuxthreads/sysdeps/s390/pspinlock.c @@ -1,5 +1,5 @@ /* POSIX spinlock implementation. S/390 version. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2004 Free Software Foundation, Inc. Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). This file is part of the GNU C Library. @@ -39,7 +39,7 @@ __pthread_spin_lock (pthread_spinlock_t *lock) " cs 0,1,%1\n" " jl 0b\n" : "=m" (*lock) - : "0" (*lock) : "0", "1", "cc" ); + : "m" (*lock) : "0", "1", "cc" ); return 0; } weak_alias (__pthread_spin_lock, pthread_spin_lock) @@ -53,7 +53,7 @@ __pthread_spin_trylock (pthread_spinlock_t *lock) " basr 1,0\n" "0: cs %1,1,%0" : "=m" (*lock), "=&d" (oldval) - : "0" (*lock) : "1", "cc" ); + : "m" (*lock) : "1", "cc" ); return oldval == 0 ? 0 : EBUSY; } weak_alias (__pthread_spin_trylock, pthread_spin_trylock) diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 5c4c43dbf3..ca178dffc5 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2004-07-05 Jakub Jelinek + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_unlock): Use + constraint "m" instead of "0" for futex. + * shlib-versions: Add powerpc64-.*-linux.*. 2004-07-04 Jakub Jelinek diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h index ca8d568038..40c2518af6 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h @@ -272,7 +272,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; ".previous\n" \ "2:" \ : "=m" (futex), "=&D" (ignore) \ - : "0" (futex) \ + : "m" (futex) \ : "ax", "cx", "r11", "cc", "memory"); }) #endif diff --git a/sysdeps/alpha/alphaev67/ffs.S b/sysdeps/alpha/alphaev67/ffs.S index 6d87008988..fb1cdd932c 100644 --- a/sysdeps/alpha/alphaev67/ffs.S +++ b/sysdeps/alpha/alphaev67/ffs.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -48,3 +48,4 @@ ENTRY(__ffs) END(__ffs) weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) diff --git a/sysdeps/alpha/ffs.S b/sysdeps/alpha/ffs.S index c73d822841..5f2074ee7c 100644 --- a/sysdeps/alpha/ffs.S +++ b/sysdeps/alpha/ffs.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2004 Free Software Foundation, Inc. Contributed by David Mosberger (davidm@cs.arizona.edu). This file is part of the GNU C Library. @@ -86,5 +86,6 @@ $ffsl..ng: END(ffsl) weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) weak_extern (ffsl) weak_alias (ffsl, ffsll) diff --git a/sysdeps/am29k/ffs.c b/sysdeps/am29k/ffs.c index a1a74445c7..6f080db442 100644 --- a/sysdeps/am29k/ffs.c +++ b/sysdeps/am29k/ffs.c @@ -1,6 +1,6 @@ /* ffs -- find first set bit in a word, counted from least significant end. For Amd 290x0. - Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1997, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund (tege@sics.se). @@ -36,6 +36,7 @@ __ffs (x) return 32 - cnt; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #else #include diff --git a/sysdeps/generic/ffs.c b/sysdeps/generic/ffs.c index b7ed839b90..06a1542bd9 100644 --- a/sysdeps/generic/ffs.c +++ b/sysdeps/generic/ffs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund (tege@sics.se). @@ -47,6 +47,7 @@ __ffs (i) return table[x >> a] + a; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #if ULONG_MAX == UINT_MAX #undef ffsl diff --git a/sysdeps/i386/ffs.c b/sysdeps/i386/ffs.c index 7476de1963..695d48be56 100644 --- a/sysdeps/i386/ffs.c +++ b/sysdeps/i386/ffs.c @@ -1,7 +1,7 @@ /* ffs -- find first set bit in a word, counted from least significant end. For Intel 80x86, x>=3. This file is part of the GNU C Library. - Copyright (C) 1991, 92, 93, 94, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1991, 92, 93, 94, 97, 98, 2004 Free Software Foundation, Inc. Contributed by Torbjorn Granlund (tege@sics.se). The GNU C Library is free software; you can redistribute it and/or @@ -42,6 +42,7 @@ __ffs (x) return cnt; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #undef ffsl weak_alias (__ffs, ffsl) diff --git a/sysdeps/i386/i686/ffs.c b/sysdeps/i386/i686/ffs.c index 6891045371..fd7ef1a3d6 100644 --- a/sysdeps/i386/i686/ffs.c +++ b/sysdeps/i386/i686/ffs.c @@ -1,7 +1,7 @@ /* ffs -- find first set bit in a word, counted from least significant end. For Intel 80x86, x>=6. This file is part of the GNU C Library. - Copyright (C) 1991, 92, 93, 94, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1991, 92, 93, 94, 97, 98, 2004 Free Software Foundation, Inc. Contributed by Ulrich Drepper . The GNU C Library is free software; you can redistribute it and/or @@ -40,6 +40,7 @@ __ffs (x) return cnt + 1; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #undef ffsl weak_alias (__ffs, ffsl) diff --git a/sysdeps/i960/ffs.c b/sysdeps/i960/ffs.c index 979696ec19..ad907a4ecb 100644 --- a/sysdeps/i960/ffs.c +++ b/sysdeps/i960/ffs.c @@ -1,7 +1,7 @@ /* ffs -- find first set bit in a word, counted from least significant end. For i960 Core architecture This file is part of the GNU C Library. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), On-Line Applications Research Corporation. @@ -37,6 +37,7 @@ __ffs (x) return cnt; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #else diff --git a/sysdeps/m68k/ffs.c b/sysdeps/m68k/ffs.c index a296121333..189936b94f 100644 --- a/sysdeps/m68k/ffs.c +++ b/sysdeps/m68k/ffs.c @@ -1,7 +1,7 @@ /* ffs -- find first set bit in a word, counted from least significant end. For mc68020, mc68030, mc68040. This file is part of the GNU C Library. - Copyright (C) 1991, 1992, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1997, 1998, 2004 Free Software Foundation, Inc. Contributed by Torbjorn Granlund (tege@sics.se). The GNU C Library is free software; you can redistribute it and/or @@ -37,6 +37,7 @@ __ffs (x) return 32 - cnt; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #undef ffsl weak_alias (__ffs, ffsl) diff --git a/sysdeps/m88k/ffs.c b/sysdeps/m88k/ffs.c index fe78ebc154..b7db70fd3b 100644 --- a/sysdeps/m88k/ffs.c +++ b/sysdeps/m88k/ffs.c @@ -1,7 +1,7 @@ /* ffs -- find first set bit in a word, counted from least significant end. For Motorola 88000. This file is part of the GNU C Library. - Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1997, 2004 Free Software Foundation, Inc. Contributed by Torbjorn Granlund (tege@sics.se). The GNU C Library is free software; you can redistribute it and/or @@ -38,6 +38,7 @@ __ffs (x) return cnt + 1; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #else #include diff --git a/sysdeps/powerpc/ffs.c b/sysdeps/powerpc/ffs.c index b2b7b7c071..f45b5ea8e2 100644 --- a/sysdeps/powerpc/ffs.c +++ b/sysdeps/powerpc/ffs.c @@ -36,6 +36,7 @@ __ffs (int x) return 32 - cnt; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #if ULONG_MAX == UINT_MAX #undef ffsl weak_alias (__ffs, ffsl) diff --git a/sysdeps/rs6000/ffs.c b/sysdeps/rs6000/ffs.c index 802bbc8c31..4d01727044 100644 --- a/sysdeps/rs6000/ffs.c +++ b/sysdeps/rs6000/ffs.c @@ -1,6 +1,6 @@ /* ffs -- find first set bit in a word, counted from least significant end. For IBM rs6000. - Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1997, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund (tege@sics.se). @@ -35,6 +35,7 @@ __ffs (x) return 32 - cnt; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #else #include diff --git a/sysdeps/s390/ffs.c b/sysdeps/s390/ffs.c index dfd724e11b..aa17233dbe 100644 --- a/sysdeps/s390/ffs.c +++ b/sysdeps/s390/ffs.c @@ -64,6 +64,7 @@ __ffs (x) } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs) #if ULONG_MAX == UINT_MAX #undef ffsl weak_alias (__ffs, ffsl) diff --git a/sysdeps/x86_64/ffs.c b/sysdeps/x86_64/ffs.c index 791e6ead70..b7e512c05c 100644 --- a/sysdeps/x86_64/ffs.c +++ b/sysdeps/x86_64/ffs.c @@ -1,7 +1,7 @@ /* ffs -- find first set bit in a word, counted from least significant end. For AMD x86-64. This file is part of the GNU C Library. - Copyright (C) 1991,92,93,94,97,98,2001 Free Software Foundation, Inc. + Copyright (C) 1991,92,93,94,97,98,2001,2004 Free Software Foundation, Inc. Contributed by Ulrich Drepper . The GNU C Library is free software; you can redistribute it and/or @@ -36,3 +36,4 @@ __ffs (int x) return cnt + 1; } weak_alias (__ffs, ffs) +libc_hidden_builtin_def (ffs)