From 8d2f50dba65df499770397f305d07d25f9fe4776 Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Mon, 23 Jan 2017 04:03:12 +0000 Subject: [PATCH] Avoid using non-zero argument for __builtin_frame_address(). Building kernel with devel/powerpc64-gcc (6.2.0) yields the following error: /usr/src/sys/powerpc/powerpc/db_trace.c:299:20: error: calling '__builtin_frame_address' with a nonzero argument is unsafe [-Werror=frame-address] Work around this by dereferencing the frame address manually instead. PR: 215600 Reported by: Mark Millard MFC after: 2 weeks --- sys/powerpc/powerpc/db_trace.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/powerpc/powerpc/db_trace.c b/sys/powerpc/powerpc/db_trace.c index 357695575ec1..ceecacfe534d 100644 --- a/sys/powerpc/powerpc/db_trace.c +++ b/sys/powerpc/powerpc/db_trace.c @@ -296,8 +296,12 @@ db_trace_self(void) { db_addr_t addr; - addr = (db_addr_t)__builtin_frame_address(1); - db_backtrace(curthread, addr, -1); + addr = (db_addr_t)__builtin_frame_address(0); + if (addr == 0) { + db_printf("Null frame address\n"); + return; + } + db_backtrace(curthread, *(db_addr_t *)addr, -1); } int