diff options
Diffstat (limited to 'packages/glibc/glibc-2.3.2/glibc23-07-hppa-atomicity.patch')
-rw-r--r-- | packages/glibc/glibc-2.3.2/glibc23-07-hppa-atomicity.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/packages/glibc/glibc-2.3.2/glibc23-07-hppa-atomicity.patch b/packages/glibc/glibc-2.3.2/glibc23-07-hppa-atomicity.patch index e69de29bb2..6508396423 100644 --- a/packages/glibc/glibc-2.3.2/glibc23-07-hppa-atomicity.patch +++ b/packages/glibc/glibc-2.3.2/glibc23-07-hppa-atomicity.patch @@ -0,0 +1,58 @@ +--- glibc-2.3.1.orig/sysdeps/hppa/atomicity.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.1/sysdeps/hppa/atomicity.h 2002-11-07 08:35:55.000000000 -0500 +@@ -0,0 +1,55 @@ ++/* Low-level functions for atomic operations. HP-PARISC version. ++ Copyright (C) 1997,2001 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _ATOMICITY_H ++#define _ATOMICITY_H 1 ++ ++#include <inttypes.h> ++ ++#warning stub atomicity functions are not atomic ++#warning CAO This will get implemented soon ++ ++static inline int ++__attribute__ ((unused)) ++exchange_and_add (volatile uint32_t *mem, int val) ++{ ++ int result = *mem; ++ *mem += val; ++ return result; ++} ++ ++static inline void ++__attribute__ ((unused)) ++atomic_add (volatile uint32_t *mem, int val) ++{ ++ *mem += val; ++} ++ ++static inline int ++__attribute__ ((unused)) ++compare_and_swap (volatile long int *p, long int oldval, long int newval) ++{ ++ if (*p != oldval) ++ return 0; ++ ++ *p = newval; ++ return 1; ++} ++ ++#endif /* atomicity.h */ |