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