Мой кросс-компилятор gcc не поддерживает Встроенные функции для атомарного доступа к памяти . Как я могу реализовать следующую функцию, используя встроенную сборку для архитектуры Sparc V8:
long __sync_val_compare_and_swap (long *ptr, long oldval long newval)
{
....
}
Те, кто встроен, выполняют атомное сравнение и обмен. То есть, если текущее значение * ptr равно oldval, записать newval в * ptr.