drop local change for 32 bit atomics via pthread locks

Mesa is no longer built on hppa or sh
This commit is contained in:
jsg 2020-08-27 14:03:46 +00:00
parent abbb20036f
commit 860983ef49

View File

@ -21,8 +21,7 @@
* IN THE SOFTWARE.
*/
#if (defined(MISSING_32BIT_ATOMICS) || defined(MISSING_64BIT_ATOMICS)) && \
defined(HAVE_PTHREAD)
#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
#include <stdint.h>
#include <pthread.h>
@ -35,129 +34,6 @@
static pthread_mutex_t sync_mutex = PTHREAD_MUTEX_INITIALIZER;
#ifdef MISSING_32BIT_ATOMICS
WEAK uint8_t
__sync_add_and_fetch_1(uint8_t *ptr, uint8_t val)
{
uint8_t r;
pthread_mutex_lock(&sync_mutex);
*ptr += val;
r = *ptr;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint8_t
__sync_sub_and_fetch_1(uint8_t *ptr, uint8_t val)
{
uint8_t r;
pthread_mutex_lock(&sync_mutex);
*ptr -= val;
r = *ptr;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint8_t
__sync_val_compare_and_swap_1(uint8_t *ptr, uint8_t oldval, uint8_t newval)
{
uint8_t r;
pthread_mutex_lock(&sync_mutex);
r = *ptr;
if (*ptr == oldval)
*ptr = newval;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint16_t
__sync_add_and_fetch_2(uint16_t *ptr, uint16_t val)
{
uint16_t r;
pthread_mutex_lock(&sync_mutex);
*ptr += val;
r = *ptr;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint16_t
__sync_sub_and_fetch_2(uint16_t *ptr, uint16_t val)
{
uint16_t r;
pthread_mutex_lock(&sync_mutex);
*ptr -= val;
r = *ptr;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint16_t
__sync_val_compare_and_swap_2(uint16_t *ptr, uint16_t oldval, uint16_t newval)
{
uint16_t r;
pthread_mutex_lock(&sync_mutex);
r = *ptr;
if (*ptr == oldval)
*ptr = newval;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint32_t
__sync_add_and_fetch_4(uint32_t *ptr, uint32_t val)
{
uint32_t r;
pthread_mutex_lock(&sync_mutex);
*ptr += val;
r = *ptr;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint32_t
__sync_sub_and_fetch_4(uint32_t *ptr, uint32_t val)
{
uint32_t r;
pthread_mutex_lock(&sync_mutex);
*ptr -= val;
r = *ptr;
pthread_mutex_unlock(&sync_mutex);
return r;
}
WEAK uint32_t
__sync_val_compare_and_swap_4(uint32_t *ptr, uint32_t oldval, uint32_t newval)
{
uint32_t r;
pthread_mutex_lock(&sync_mutex);
r = *ptr;
if (*ptr == oldval)
*ptr = newval;
pthread_mutex_unlock(&sync_mutex);
return r;
}
#endif /* MISSING_32BIT_ATOMICS */
#ifdef __clang__
#pragma redefine_extname __sync_add_and_fetch_8_c __sync_add_and_fetch_8
#pragma redefine_extname __sync_sub_and_fetch_8_c __sync_sub_and_fetch_8