mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-25 08:37:38 +01:00
Reduce the number of ifdefs in machine independent code
Hopefully we don't have too many GNUC users who don't have fetch and add.
This commit is contained in:
parent
6456da2dc1
commit
cb3fbbb172
1 changed files with 1 additions and 5 deletions
|
@ -50,12 +50,10 @@ sos_alloc (size_t size)
|
||||||
|
|
||||||
size = UNW_ALIGN(size, MAX_ALIGN);
|
size = UNW_ALIGN(size, MAX_ALIGN);
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__) && defined(HAVE_FETCH_AND_ADD)
|
||||||
/* Assume `sos_memory' is suitably aligned. */
|
/* Assume `sos_memory' is suitably aligned. */
|
||||||
assert(((uintptr_t) &sos_memory[0] & (MAX_ALIGN-1)) == 0);
|
assert(((uintptr_t) &sos_memory[0] & (MAX_ALIGN-1)) == 0);
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && defined(HAVE_FETCH_AND_ADD)
|
|
||||||
pos = fetch_and_add (&sos_memory_freepos, size);
|
pos = fetch_and_add (&sos_memory_freepos, size);
|
||||||
#else
|
#else
|
||||||
static define_lock (sos_lock);
|
static define_lock (sos_lock);
|
||||||
|
@ -63,7 +61,6 @@ sos_alloc (size_t size)
|
||||||
|
|
||||||
lock_acquire (&sos_lock, saved_mask);
|
lock_acquire (&sos_lock, saved_mask);
|
||||||
{
|
{
|
||||||
# ifndef __GNUC__
|
|
||||||
/* No assumptions about `sos_memory' alignment. */
|
/* No assumptions about `sos_memory' alignment. */
|
||||||
if (sos_memory_freepos == 0)
|
if (sos_memory_freepos == 0)
|
||||||
{
|
{
|
||||||
|
@ -71,7 +68,6 @@ sos_alloc (size_t size)
|
||||||
- (uintptr_t) &sos_memory[0];
|
- (uintptr_t) &sos_memory[0];
|
||||||
sos_memory_freepos = align;
|
sos_memory_freepos = align;
|
||||||
}
|
}
|
||||||
# endif
|
|
||||||
pos = sos_memory_freepos;
|
pos = sos_memory_freepos;
|
||||||
sos_memory_freepos += size;
|
sos_memory_freepos += size;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue