From 015ab1d18f823ebe00e41f0d41bc48748916563f Mon Sep 17 00:00:00 2001 From: David Cermak Date: Thu, 12 Sep 2024 07:59:54 +0200 Subject: [PATCH] fix(lwip): Fix linker/fr symbol for tcp_output_control segment In lwip-2.1.3 tcp_output_control_segment() is used to send RST, empty ACK, keepalive or zero window probe. In lwip-2.2.0 this works the same, but the function is used when we don't know the interface to send to (and if used it finds it and calls) tcp_output_control_segment_netif(). When `LWIP_EXTRA_IRAM_OPTIMIZATION=y` we would ideally move both variants to IRAM, but the pcb variant (tcp_output_control_segment) could be optimized away on some targets and toolchain versions. (esp32c6 with riscv32-esp-elf/esp-14.2.0_20240906) It should be sufficient to keep tcp_output_control_segment_netif in IRAM for most common performance usecases. --- components/lwip/linker.lf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/lwip/linker.lf b/components/lwip/linker.lf index 97e60e2d69..53f564cf84 100644 --- a/components/lwip/linker.lf +++ b/components/lwip/linker.lf @@ -112,7 +112,7 @@ entries: tcp_out:tcp_rexmit_rto_prepare (noflash_text) tcp_out:tcp_rexmit (noflash_text) tcp_out:tcp_rexmit_fast (noflash_text) - tcp_out:tcp_output_control_segment (noflash_text) + tcp_out:tcp_output_control_segment_netif (noflash_text) tcp_out:tcp_rst (noflash_text) tcp_out:tcp_send_empty_ack (noflash_text) sys_arch:sys_arch_protect (noflash_text)