| From: Achill Gilgenast <fossdd@pwned.life> |
| Subject: kallsyms: fix build without execinfo |
| Date: Sun, 22 Jun 2025 03:45:49 +0200 |
| |
| Some libc's like musl libc don't provide execinfo.h since it's not part of |
| POSIX. In order to fix compilation on musl, only include execinfo.h if |
| available (HAVE_BACKTRACE_SUPPORT) |
| |
| This was discovered with c104c16073b7 ("Kunit to check the longest symbol |
| length") which starts to include linux/kallsyms.h with Alpine Linux' |
| configs. |
| |
| Link: https://lkml.kernel.org/r/20250622014608.448718-1-fossdd@pwned.life |
| Fixes: c104c16073b7 ("Kunit to check the longest symbol length") |
| Signed-off-by: Achill Gilgenast <fossdd@pwned.life> |
| Cc: Luis Henriques <luis@igalia.com> |
| Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| tools/include/linux/kallsyms.h | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/tools/include/linux/kallsyms.h~kallsyms-fix-build-without-execinfo |
| +++ a/tools/include/linux/kallsyms.h |
| @@ -18,6 +18,7 @@ static inline const char *kallsyms_looku |
| return NULL; |
| } |
| |
| +#ifdef HAVE_BACKTRACE_SUPPORT |
| #include <execinfo.h> |
| #include <stdlib.h> |
| static inline void print_ip_sym(const char *loglvl, unsigned long ip) |
| @@ -30,5 +31,8 @@ static inline void print_ip_sym(const ch |
| |
| free(name); |
| } |
| +#else |
| +static inline void print_ip_sym(const char *loglvl, unsigned long ip) {} |
| +#endif |
| |
| #endif |
| _ |