diff --git a/Kconfig b/Kconfig index 03a2a872a5..bc2e4316da 100644 --- a/Kconfig +++ b/Kconfig @@ -376,6 +376,12 @@ config ARCH_STDARG_H ARCH_STDARG_H=y and providing. If ARCH_STDARG_H, is not defined, then the stdarg.h header file will stay out-of-the-way in include/nuttx/. +config ARCH_DEBUG_H + bool "debug.h" + default n + ---help--- + The debug.h contains architecture dependent debugging primitives + endmenu # Customize Header Files menu "Debug Options" diff --git a/include/debug.h b/include/debug.h index b1bb2fc9d1..0f89753072 100644 --- a/include/debug.h +++ b/include/debug.h @@ -43,6 +43,10 @@ #include #include +#ifdef CONFIG_ARCH_DEBUG_H +# include +#endif + #include /**************************************************************************** @@ -94,6 +98,17 @@ # define EXTRA_ARG #endif +/* + * The actual logger function may be overridden in arch/debug.h if needed. + */ + +#ifndef __arch_syslog +# define __arch_syslog syslog +#endif +#ifndef __arch_lowsyslog +# define __arch_lowsyslog lowsyslog +#endif + /* Debug macros will differ depending upon if the toolchain supports * macros with a variable number of arguments or not. */ @@ -104,30 +119,30 @@ #ifdef CONFIG_DEBUG # define dbg(format, ...) \ - syslog(LOG_ERR, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) + __arch_syslog(LOG_ERR, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) # ifdef CONFIG_ARCH_LOWPUTC # define lldbg(format, ...) \ - lowsyslog(LOG_ERR, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) + __arch_lowsyslog(LOG_ERR, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) # else # define lldbg(x...) # endif # ifdef CONFIG_DEBUG_VERBOSE # define vdbg(format, ...) \ - syslog(LOG_DEBUG, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) + __arch_syslog(LOG_DEBUG, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) # ifdef CONFIG_ARCH_LOWPUTC # define llvdbg(format, ...) \ - lowsyslog(LOG_DEBUG, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) + __arch_lowsyslog(LOG_DEBUG, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__) # else # define llvdbg(x...) # endif -# else +# else /* CONFIG_DEBUG_VERBOSE */ # define vdbg(x...) # define llvdbg(x...) -# endif +# endif /* CONFIG_DEBUG_VERBOSE */ #else /* CONFIG_DEBUG */