Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
gc
gc.atomic-locks.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gc.atomic-locks.patch of Package gc
Use gcc build-in atomic functions, the selfmade versions will not work on powerpc --- include/private/gc_locks.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/include/private/gc_locks.h +++ b/include/private/gc_locks.h @@ -88,6 +88,18 @@ /* acquisition and release. We need this for correct operation of the */ /* incremental GC. */ # ifdef __GNUC__ +#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 1 +static inline int GC_test_and_set(volatile unsigned int *addr) +{ +#define GC_TEST_AND_SET_DEFINED + return (int)__sync_lock_test_and_set(addr, 1); +} +static inline void GC_clear(volatile unsigned int *addr) +{ +#define GC_CLEAR_DEFINED + __sync_lock_test_and_set(addr, 0); +} +#else /* ! __GNUC__ 4.1+ */ # if defined(I386) inline static int GC_test_and_set(volatile unsigned int *addr) { int oldval; @@ -288,6 +300,7 @@ return ret; } # endif +# endif /* !__GNUC__ 4.1+ */ # endif /* __GNUC__ */ # if (defined(ALPHA) && !defined(__GNUC__)) # ifndef OSF1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor