[dpdk-dev] [PATCH 2/2] eal/windows: support debug calls
Dmitry Kozlyuk
dmitry.kozliuk at gmail.com
Mon Jun 8 02:31:08 CEST 2020
On Sun, 7 Jun 2020 12:35:29 +0300
talshn at mellanox.com wrote:
> From: Tal Shnaiderman <talshn at mellanox.com>
>
> Support the debug functions in eal_common_debug.c for Windows.
>
> Implementation of rte_dump_stack to get a backtrace similarly to Unix
> and of rte_eal_cleanup in eal.c.
>
> Signed-off-by: Tal Shnaiderman <talshn at mellanox.com>
> ---
> config/meson.build | 1 +
> lib/librte_eal/common/meson.build | 1 +
> lib/librte_eal/windows/eal.c | 7 ++++
> lib/librte_eal/windows/eal_debug.c | 77 +++++++++++++++++++++++++++++++++-----
> 4 files changed, 77 insertions(+), 9 deletions(-)
>
> diff --git a/config/meson.build b/config/meson.build
> index 43ab113106..51a953c7d3 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -268,6 +268,7 @@ if is_windows
> if cc.get_id() == 'gcc'
> add_project_arguments('-D__USE_MINGW_ANSI_STDIO', language: 'c')
> endif
> + add_project_link_arguments('-lDbgHelp', language: 'c')
When cross-compiling with MinGW-w64 from Linux, the library is "dbghelp"
(lowercase), and filesystem is case-sensitive, so this doesn't work. Suggest
using lowercase everywhere.
[snip]
> /* Launch threads, called at application init(). */
> int
> rte_eal_init(int argc, char **argv)
> diff --git a/lib/librte_eal/windows/eal_debug.c b/lib/librte_eal/windows/eal_debug.c
> index 669be6ff97..fda217bee4 100644
> --- a/lib/librte_eal/windows/eal_debug.c
> +++ b/lib/librte_eal/windows/eal_debug.c
> @@ -5,16 +5,75 @@
> #include <stdarg.h>
> #include <rte_log.h>
> #include <rte_debug.h>
> +#include <rte_windows.h>
>
> - /* call abort(), it will generate a coredump if enabled */
> -void
> -__rte_panic(const char *funcname, const char *format, ...)
> +#include <DbgHelp.h>
Same problem with filename, same solution.
> +
> +#define BACKTRACE_SIZE 256
> +
> +/* dump the stack of the calling core */
> +void rte_dump_stack(void)
Result type should be on its own line. Please re-check the series for this
particular violation, there are a few more instances.
[rest snipped]
--
Dmitry Kozlyuk
More information about the dev
mailing list