From 0802f36edc6207a597741dea0cc16b4188a23dd2 Mon Sep 17 00:00:00 2001 From: Greg V Date: Thu, 9 Aug 2018 14:25:19 +0000 Subject: [PATCH 1/2] Add FreeBSD/aarch64 support --- src/core/sys/freebsd/execinfo.d | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/sys/freebsd/execinfo.d b/src/core/sys/freebsd/execinfo.d index 7b4ad6c03c..9f5786087e 100644 --- a/src/core/sys/freebsd/execinfo.d +++ b/src/core/sys/freebsd/execinfo.d @@ -25,7 +25,10 @@ extern (D) int backtrace(void** buffer, int size) asm nothrow @trusted { mov p[EBP], EBP; } else version (D_InlineAsm_X86_64) asm nothrow @trusted { mov p[RBP], RBP; } - else + else version (AArch64) { + import ldc.llvmasm; + __asm("str x29, $0", "=*m", &p); + } else static assert(false, "Architecture not supported."); int i; From 4a6141392a4a0ebe59a850a78849086cc8b4d125 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Sat, 15 Dec 2018 17:39:49 +0100 Subject: [PATCH 2/2] Add comment to mark as LDC-specific --- src/core/sys/freebsd/execinfo.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/sys/freebsd/execinfo.d b/src/core/sys/freebsd/execinfo.d index 9f5786087e..ec5b443f3e 100644 --- a/src/core/sys/freebsd/execinfo.d +++ b/src/core/sys/freebsd/execinfo.d @@ -25,7 +25,7 @@ extern (D) int backtrace(void** buffer, int size) asm nothrow @trusted { mov p[EBP], EBP; } else version (D_InlineAsm_X86_64) asm nothrow @trusted { mov p[RBP], RBP; } - else version (AArch64) { + else version (AArch64) { // LDC import ldc.llvmasm; __asm("str x29, $0", "=*m", &p); } else