diff options
author | Bjoern A. Zeeb <baz21@cam.ac.uk> | 2017-09-03 17:00:44 +0000 |
---|---|---|
committer | B.A. Zeeb <baz21@cam.ac.uk> | 2017-09-27 20:44:12 +0000 |
commit | e4c60aa0c1952ea0ee22bc122dcc4b83e6527ee1 (patch) | |
tree | e753fce5b27b926b47e7cfc29f715ca827371aa0 | |
parent | 6c7d8c9967609b3b2bbba1ba2e97700696af6cf3 (diff) | |
download | gem5-e4c60aa0c1952ea0ee22bc122dcc4b83e6527ee1.tar.xz |
sim: make compile on FreeBSD prior to 11
FreeBSD before the early 11 development is expecting a char *
for stack.ss_sp rather than the standards compliant void *.
Catch that case and allow gem5 to compile on old FreeBSD versions.
Change-Id: Ic0ae560b52bfe5b3905ae87df791d349e053ec97
Reviewed-on: https://gem5-review.googlesource.com/4660
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
-rw-r--r-- | src/sim/init_signals.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sim/init_signals.cc b/src/sim/init_signals.cc index 5acfe45fd..c7960c516 100644 --- a/src/sim/init_signals.cc +++ b/src/sim/init_signals.cc @@ -50,6 +50,11 @@ #include <iostream> #include <string> +#if defined(__FreeBSD__) +#include <sys/param.h> + +#endif + #include "base/atomicio.hh" #include "base/cprintf.hh" #include "base/misc.hh" @@ -67,7 +72,11 @@ static bool setupAltStack() { stack_t stack; +#if defined(__FreeBSD__) && (__FreeBSD_version < 1100097) + stack.ss_sp = (char *)fatalSigStack; +#else stack.ss_sp = fatalSigStack; +#endif stack.ss_size = sizeof(fatalSigStack); stack.ss_flags = 0; |