Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37774977
en ru br
Репозитории ALT
S:10.0.0-alt5.r36
www.altlinux.org/Changes

Группа :: Development/Tools
Пакет: android-tools

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: legacy_built-in_sync_functions.patch
Скачать


Description: Replace the legacy __sync built-in functions with __atomic ones
 libunwind uses the built-in __sync_* functions which are deprecated by GCC and
 should be replaced by __atomic_* ones. See the official manuals [1].
 .
 The legacy __sync functions do not require to specify the memory order but
 __atomic ones do, so we choose the strongest one: __ATOMIC_SEQ_CST.
 .
 We do this because __sync_fetch_and_add() is not supported on armel.
 .
 [1]: https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html
Author: Kai-Chung Yan ()
Last-Update: 2016-10-04
--- a/include/libunwind_i.h
+++ b/include/libunwind_i.h
@@ -155,8 +155,8 @@
   u.vp = addr;
   return __sync_bool_compare_and_swap(u.vlp, (long) old, (long) new);
 }
-# define fetch_and_add1(_ptr)		__sync_fetch_and_add(_ptr, 1)
-# define fetch_and_add(_ptr, value)	__sync_fetch_and_add(_ptr, value)
+# define fetch_and_add1(_ptr) __atomic_fetch_add(_ptr, 1, __ATOMIC_SEQ_CST)
+# define fetch_and_add(_ptr, value) __atomic_fetch_add(_ptr, value, __ATOMIC_SEQ_CST)
 # define HAVE_CMPXCHG
 # define HAVE_FETCH_AND_ADD
 #endif
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin