aboutsummaryrefslogtreecommitdiff
path: root/lib/arch
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arch')
-rw-r--r--lib/arch/arm/init_stack.cc4
-rw-r--r--lib/arch/arm64/init_stack.cc4
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/arch/arm/init_stack.cc b/lib/arch/arm/init_stack.cc
index 422be64..32d00b5 100644
--- a/lib/arch/arm/init_stack.cc
+++ b/lib/arch/arm/init_stack.cc
@@ -1,6 +1,10 @@
#include <cassert>
#include <cstdint> // uintN_t
+#if !defined(__APCS_32__)
+static_assert(false, "Must be compiled with the Arm Procedure Call Standard (aapcs32)!");
+#endif
+
extern "C" void thread_create();
void* init_stack(void* stack_ptr, void (*entry)(void*), const void* ctx) {
diff --git a/lib/arch/arm64/init_stack.cc b/lib/arch/arm64/init_stack.cc
index f00320b..1153737 100644
--- a/lib/arch/arm64/init_stack.cc
+++ b/lib/arch/arm64/init_stack.cc
@@ -1,6 +1,10 @@
#include <cassert>
#include <cstdint> // uintN_t
+#if !defined(__ARM_PCS_AAPCS64)
+static_assert(false, "Must be compiled with the Arm64 Procedure Call Standard (aapcs64)!");
+#endif
+
extern "C" void thread_create();
void* init_stack(void* stack_ptr, void (*entry)(void*), const void* ctx) {