summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiacomo Travaglini <giacomo.travaglini@arm.com>2018-07-17 10:42:06 +0100
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2018-07-26 07:00:34 +0000
commit25f467ed78f7bf4a4523969b7e35ae770340bb94 (patch)
treeac960595426a46168c56a6b477fcf845954cbb89
parent045c484e0d69b5601b1681683fe3ba2d04b05bb6 (diff)
downloadgem5-25f467ed78f7bf4a4523969b7e35ae770340bb94.tar.xz
base: Fix ucontext compilation error for macOS
ucontext functions (like getcontext, setcontext etc) have been marked as deprecated and are hence hidden in latest macOS releases. This patch uncovers them; warnings wil be produced but compilation won't fail since -Wno-error=deprecated-declarations flag is currently used. Change-Id: Ic10e6f77a38875828b1891eaed2f0626ecffff67 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-on: https://gem5-review.googlesource.com/11729 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
-rw-r--r--src/base/fiber.hh9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/base/fiber.hh b/src/base/fiber.hh
index b9f0683a5..5f7285b29 100644
--- a/src/base/fiber.hh
+++ b/src/base/fiber.hh
@@ -30,7 +30,16 @@
#ifndef __BASE_FIBER_HH__
#define __BASE_FIBER_HH__
+// ucontext functions (like getcontext, setcontext etc) have been marked
+// as deprecated and are hence hidden in latest macOS releases.
+// By defining _XOPEN_SOURCE we make them available at compilation time.
+#if defined(__APPLE__) && defined(__MACH__)
+#define _XOPEN_SOURCE 600
#include <ucontext.h>
+#undef _XOPEN_SOURCE
+#else
+#include <ucontext.h>
+#endif
#include <cstddef>
#include <cstdint>