summaryrefslogtreecommitdiff
path: root/include/tdep-ppc64/libunwind_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/tdep-ppc64/libunwind_i.h')
-rw-r--r--include/tdep-ppc64/libunwind_i.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/tdep-ppc64/libunwind_i.h b/include/tdep-ppc64/libunwind_i.h
index 975f3bb3..48227c76 100644
--- a/include/tdep-ppc64/libunwind_i.h
+++ b/include/tdep-ppc64/libunwind_i.h
@@ -37,6 +37,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#include <stdlib.h>
#include <libunwind.h>
+#include <stdatomic.h>
#include "elf64.h"
#include "mempool.h"
@@ -54,11 +55,7 @@ struct unw_addr_space
int big_endian;
ppc64_abi_t abi;
unw_caching_policy_t caching_policy;
-#ifdef HAVE_ATOMIC_OPS_H
- AO_t cache_generation;
-#else
- uint32_t cache_generation;
-#endif
+ _Atomic uint32_t cache_generation;
unw_word_t dyn_generation; /* see dyn-common.h */
unw_word_t dyn_info_list_addr; /* (cached) dyn_info_list_addr */
struct dwarf_rs_cache global_cache;
@@ -347,7 +344,7 @@ extern int tdep_fetch_proc_info_post (struct dwarf_cursor *c, unw_word_t ip,
#define tdep_get_ip(c) ((c)->dwarf.ip)
#define tdep_big_endian(as) ((as)->big_endian)
-extern int tdep_init_done;
+extern atomic_bool tdep_init_done;
extern void tdep_init (void);
extern int tdep_search_unwind_table (unw_addr_space_t as, unw_word_t ip,