On Thu, 7 Apr 2022 14:45:07 +0200 David Marchand <david.march...@redhat.com> wrote:
> On Sat, Feb 12, 2022 at 7:44 PM Stephen Hemminger > <step...@networkplumber.org> wrote: > > > > This is update to earlier RFC. Add some more comments and changes > > to have common code for Linux and FreeBSD > > > > Stephen Hemminger (2): > > eal_debug: do not use malloc in rte_dump_stack > > eal: common rte_dump_stack for both Linux and FreeBSD > > > > lib/eal/freebsd/eal_debug.c | 43 ------------------------ > > lib/eal/freebsd/meson.build | 1 - > > lib/eal/linux/eal_debug.c | 43 ------------------------ > > lib/eal/linux/meson.build | 1 - > > lib/eal/unix/eal_debug.c | 65 +++++++++++++++++++++++++++++++++++++ > > lib/eal/unix/meson.build | 5 +-- > > 6 files changed, 68 insertions(+), 90 deletions(-) > > delete mode 100644 lib/eal/freebsd/eal_debug.c > > delete mode 100644 lib/eal/linux/eal_debug.c > > create mode 100644 lib/eal/unix/eal_debug.c > > Strange to change only the Linux implementation as a first patch, then > merge implementations in a second time effectively changing FreeBSD > implementation in what is presented in commitlog as a factorisation > cleanup. > Please invert the patches. > > Besides, the series does not compile on current main. > It's probably a result of the header inclusion cleanup we had in > v22.03, but I prefer you check. > > > Thanks. As I looked at it more, there was more there. Turns out that printf and therefore rte_log() is not signal safe. There is a version of backtrace_symbols_fd that just uses writev() on glibc for Linux so that is a better alternative, but format changes. But the BSD version of backtrace_symbols_fd uses printf and is therefore not signal safe. Not sure if that matters.