summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--Makerules2
-rw-r--r--include/string.h1
-rw-r--r--linuxthreads/ChangeLog9
-rw-r--r--linuxthreads/sysdeps/ia64/pt-machine.h6
-rw-r--r--linuxthreads/sysdeps/s390/pspinlock.c6
-rw-r--r--nptl/ChangeLog3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h2
-rw-r--r--sysdeps/alpha/alphaev67/ffs.S3
-rw-r--r--sysdeps/alpha/ffs.S3
-rw-r--r--sysdeps/am29k/ffs.c3
-rw-r--r--sysdeps/generic/ffs.c3
-rw-r--r--sysdeps/i386/ffs.c3
-rw-r--r--sysdeps/i386/i686/ffs.c3
-rw-r--r--sysdeps/i960/ffs.c3
-rw-r--r--sysdeps/m68k/ffs.c3
-rw-r--r--sysdeps/m88k/ffs.c3
-rw-r--r--sysdeps/powerpc/ffs.c1
-rw-r--r--sysdeps/rs6000/ffs.c3
-rw-r--r--sysdeps/s390/ffs.c1
-rw-r--r--sysdeps/x86_64/ffs.c3
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  <jakub@redhat.com>
 
+	* 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  <jakub@redhat.com>
+
+	* 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  <kkojima@rr.iij4u.or.jp>
 
 	* 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  <jakub@redhat.com>
 
+	* 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  <jakub@redhat.com>
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 <sysdeps/generic/ffs.c>
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 <drepper@cygnus.com>.
 
    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 <sysdeps/generic/ffs.c>
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 <sysdeps/generic/ffs.c>
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 <drepper@cygnus.com>.
 
    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)