xref: /kvm-unit-tests/lib/stack.h (revision 4b6da8266e20882f41cdbbe254b08b900a5b9fbe)
1*4b6da826SThomas Huth /*
2*4b6da826SThomas Huth  * Header for stack related functions
3*4b6da826SThomas Huth  *
4*4b6da826SThomas Huth  * This code is free software; you can redistribute it and/or modify it
5*4b6da826SThomas Huth  * under the terms of the GNU Library General Public License version 2.
6*4b6da826SThomas Huth  */
752266791SPeter Feiner #ifndef _STACK_H_
852266791SPeter Feiner #define _STACK_H_
952266791SPeter Feiner 
1052266791SPeter Feiner #include <libcflat.h>
1152266791SPeter Feiner #include <asm/stack.h>
1252266791SPeter Feiner 
13cec0fd86SAndrew Jones #ifdef HAVE_ARCH_BACKTRACE_FRAME
14cec0fd86SAndrew Jones extern int backtrace_frame(const void *frame, const void **return_addrs,
15cec0fd86SAndrew Jones 			   int max_depth);
16cec0fd86SAndrew Jones #else
1752266791SPeter Feiner static inline int
1852266791SPeter Feiner backtrace_frame(const void *frame __unused, const void **return_addrs __unused,
1952266791SPeter Feiner 		int max_depth __unused)
2052266791SPeter Feiner {
2152266791SPeter Feiner 	return 0;
2252266791SPeter Feiner }
2352266791SPeter Feiner #endif
2452266791SPeter Feiner 
25cec0fd86SAndrew Jones extern int backtrace(const void **return_addrs, int max_depth);
2652266791SPeter Feiner 
2752266791SPeter Feiner #endif
28