| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef _ASM_ALPHA_FTRACE_H |
| #define _ASM_ALPHA_FTRACE_H |
| |
| #ifdef CONFIG_FRAME_POINTER |
| |
| static void *alpha_ftrace_return_address0(void) |
| noinline notrace; |
| static void *alpha_ftrace_return_address0(void) |
| { |
| return __builtin_return_address(0); |
| } |
| |
| #define ftrace_return_address0 alpha_ftrace_return_address0() |
| |
| /* |
| * __builtin_return_address() requires a constant integer argument. |
| * Keep this as a macro so the value is seen at the callsite. |
| */ |
| #define ftrace_return_address(n) __builtin_return_address(n) |
| |
| #else /* !CONFIG_FRAME_POINTER */ |
| |
| #define ftrace_return_address0 0UL |
| #define ftrace_return_address(n) ((void)(n), 0UL) |
| |
| #endif /* CONFIG_FRAME_POINTER */ |
| |
| #endif /* _ASM_ALPHA_FTRACE_H */ |