From 8dd24bfe782c882a8a3c746a73d7228c1bd3928f Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 27 Feb 2026 12:46:04 -1000 Subject: [PATCH] Note that crash backtraces use esp_rom_printf, not libc --- esphome/components/esp32/printf_stubs.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/esphome/components/esp32/printf_stubs.cpp b/esphome/components/esp32/printf_stubs.cpp index 0b94b66967..5c24174034 100644 --- a/esphome/components/esp32/printf_stubs.cpp +++ b/esphome/components/esp32/printf_stubs.cpp @@ -11,7 +11,9 @@ * so the SDK's vprintf() path is dead code at runtime. The fprintf() * and printf() calls in SDK components are only in debug/assert paths * (gpio_dump_io_configuration, ringbuf diagnostics) that are either - * GC'd or never called. + * GC'd or never called. Crash backtraces and panic output are + * unaffected — they use esp_rom_printf() which is a ROM function + * and does not go through libc. * * These stubs redirect through vsnprintf() (which uses _svfprintf_r * already in the binary) and fwrite(), allowing the linker to