From 964bf935a39498e7224657787b0be277279d2bae Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 14 Nov 2017 09:24:33 +0200 Subject: [PATCH] esp8266/esp8266_common.ld: Put .text of more libs into .irom0.text . Recent vendor SDKs ship libs with code in .text section, which previously was going into .irom0.text. Adjust the linker script to route these sections back to iROM (follows upstream change). --- ports/esp8266/esp8266_common.ld | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ports/esp8266/esp8266_common.ld b/ports/esp8266/esp8266_common.ld index de5268c8fe..08da02869a 100644 --- a/ports/esp8266/esp8266_common.ld +++ b/ports/esp8266/esp8266_common.ld @@ -73,6 +73,17 @@ SECTIONS _irom0_text_start = ABSOLUTE(.); *(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text) + /* Vendor SDK in v2.1.0-7-gb8fd588 started to build these with + -ffunction-sections -fdata-sections, and require routing to + irom via linker: + https://github.com/espressif/ESP8266_NONOS_SDK/commit/b8fd588a33f0319dc135523b51655e97b483b205 + */ + + *libcrypto.a:(.literal.* .text.*) + *libnet80211.a:(.literal.* .text.*) + *libwpa.a:(.literal.* .text.*) + *libwpa2.a:(.literal.* .text.*) + /* we put some specific text in this section */ *py/argcheck.o*(.literal* .text*)