Qore Programming Language  1.12.0
macros-aarch64.h
1 /* -*- mode: c++; indent-tabs-mode: nil -*- */
2 #ifndef _QORE_MACHINE_MACROS_H
3 
4 #define _QORE_MACHINE_MACROS_H
5 
6 #define STACK_DIRECTION_DOWN 1
7 
8 // tests fail with a stack guard smaller than 34K in Docker instances on ARM Graviton machines
9 // (CI cloud test environment) - tests pass on the same HW not in Docker with a much smaller value
10 #define QORE_STACK_GUARD (34 * 1024)
11 
12 #ifdef __GNUC__
13 
14 #define HAVE_CHECK_STACK_POS
15 
16 static inline size_t get_stack_pos() {
17  size_t addr;
18  __asm__("mov %0, sp" : "=r" (addr) );
19  return addr;
20 }
21 
22 #endif
23 
24 #endif