Fix the RIP_REGISTER macro

Pretty simple. This makes me slightly nervous because I've only
confirmed it works in my stupid OpenEmbedded ARM SDK; a different Linux
might call this something else. But we'll cross that bridge when we get
to it, and this works for now.

I'm also sneaking in a change to remove x29 from the list of
callee-saved regs; I put it in there by accident last time.
Esse commit está contido em:
Owen Yamauchi
2013-03-20 14:32:52 -07:00
commit de Sara Golemon
commit b5a11c6139
+6 -2
Ver Arquivo
@@ -32,7 +32,11 @@
typedef __sighandler_t *sighandler_t;
# define RIP_REGISTER(v) (v).mc_rip
#else
# define RIP_REGISTER(v) (v).gregs[REG_RIP]
# if defined(__x86_64__)
# define RIP_REGISTER(v) (v).gregs[REG_RIP]
# elif defined(__AARCH64EL__)
# define RIP_REGISTER(v) (v).pc
# endif
#endif
#include <boost/bind.hpp>
@@ -3083,7 +3087,7 @@ struct DepthGuard { bool depthOne() const { return false; } };
#elif defined(__AARCH64EL__)
# define CALLEE_SAVED_BARRIER() \
asm volatile("" : : : "x19", "x20", "x21", "x22", "x23", "x24", "x25", \
"x26", "x27", "x28", "x29")
"x26", "x27", "x28")
#else
# error What are the callee-saved registers on your system?
#endif