Skip to contentSkip to conversation

mbuf: fix build failure if MBUF_HISTORY_DEBUG enabled

PATCH Applied Stephen Hemminger 2 participants 2 messages Oct 24, 2025 – Oct 25, 2025

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mbuf: fix build failure if MBUF_HISTORY_DEBUG enabled

Message had extra newline which causes build failure.

../lib/mbuf/mbuf_history.c: In function ‘rte_mbuf_history_init’:
../lib/log/rte_log.h:364:9: error: static assertion failed: "This log format string contains a \\n"

  364 |         static_assert(!__builtin_strchr(fmt, '\n'), \
      |         ^~~~~~~~~~~~~
../lib/log/rte_log.h:387:9: note: in expansion of macro ‘RTE_LOG_CHECK_NO_NEWLINE’
  387 |         RTE_LOG_CHECK_NO_NEWLINE(RTE_FMT_HEAD(__VA_ARGS__ ,)); \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/mbuf/mbuf_log.h:8:9: note: in expansion of macro ‘RTE_LOG_LINE’
    8 |         RTE_LOG_LINE(level, MBUF, "" __VA_ARGS__)
      |         ^~~~~~~~~~~~
../lib/mbuf/mbuf_history.c:219:17: note: in expansion of macro ‘MBUF_LOG’
  219 |                 MBUF_LOG(ERR, "Failed to register mbuf history dynamic field: %s\n",
      |
Fixes d265a24a32a4 ("mbuf: record mbuf operations history")
---
 lib/mbuf/mbuf_history.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
lib/mbuf/mbuf_history.c +1 -1
index 3bc4b916b6..b025d12fc8 100644
@@ -216,7 +216,7 @@ void rte_mbuf_history_init(void)
 
 	rte_mbuf_history_field_offset = rte_mbuf_dynfield_register(&mbuf_dynfield_history);
 	if (rte_mbuf_history_field_offset < 0) {
-		MBUF_LOG(ERR, "Failed to register mbuf history dynamic field: %s\n",
+		MBUF_LOG(ERR, "Failed to register mbuf history dynamic field: %s",
 			rte_strerror(rte_errno));
 	}
 #endif
Signature · 1 line
2.51.0
#1 lore raw

25/10/2025 00:29, Stephen Hemminger:

Quoted 4 lines

Message had extra newline which causes build failure.

../lib/mbuf/mbuf_history.c: In function ‘rte_mbuf_history_init’:
../lib/log/rte_log.h:364:9: error: static assertion failed: "This log format string contains a \\n"

Quoted 11 lines
  364 |         static_assert(!__builtin_strchr(fmt, '\n'), \
      |         ^~~~~~~~~~~~~
../lib/log/rte_log.h:387:9: note: in expansion of macro ‘RTE_LOG_CHECK_NO_NEWLINE’
  387 |         RTE_LOG_CHECK_NO_NEWLINE(RTE_FMT_HEAD(__VA_ARGS__ ,)); \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/mbuf/mbuf_log.h:8:9: note: in expansion of macro ‘RTE_LOG_LINE’
    8 |         RTE_LOG_LINE(level, MBUF, "" __VA_ARGS__)
      |         ^~~~~~~~~~~~
../lib/mbuf/mbuf_history.c:219:17: note: in expansion of macro ‘MBUF_LOG’
  219 |                 MBUF_LOG(ERR, "Failed to register mbuf history dynamic field: %s\n",
      |

This check is enabled only with GCC.
Unfortunately I was testing this feature with clang, so I missed it.

Updated commit title:
mbuf: fix build with GCC and history debug enabled

Quoted 3 lines
Fixes d265a24a32a4 ("mbuf: record mbuf operations history")

Applied, thanks.