Open bzbarsky-apple opened 4 years ago
Issue Label Bot is not confident enough to auto-label this issue. See dashboard for more details.
Oh, and we also need to check whether this is happening on other platforms too. But I just looked at out/debug/nrf5_lighting_app//chip-nrf52840-lighting-example.map
and it seems to have the locale bits too....
2759
That helps a lot! With that change, the libstdc++
bits are down to more like 15KB.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
This stale issue has been automatically closed. Thank you for your contributions.
Still need to get to this.
This impacts Flash and RAM size on all embedded platforms
The ALLOW list in #14704 is a partial answer.
src/app/app-platform/ContentApp.h: list, string src/app/clusters/application-basic-server/application-basic-delegate.h: list src/app/clusters/application-basic-server/application-basic-server.cpp: list src/app/clusters/application-launcher-server/application-launcher-delegate.h: list src/app/clusters/audio-output-server/audio-output-delegate.h: list src/app/clusters/channel-server/channel-delegate.h: list src/app/clusters/content-launch-server/content-launch-delegate.h: list src/app/clusters/content-launch-server/content-launch-server.cpp: list src/app/clusters/media-input-server/media-input-delegate.h: list src/app/clusters/media-playback-server/media-playback-delegate.h: list src/app/clusters/target-navigator-server/target-navigator-delegate.h: list
src/setup_payload/AdditionalDataPayload.h: string src/setup_payload/AdditionalDataPayloadParser.cpp: vector src/setup_payload/Base38Decode.h: string, vector src/setup_payload/ManualSetupPayloadGenerator.h: string src/setup_payload/ManualSetupPayloadParser.cpp: string, vector src/setup_payload/ManualSetupPayloadParser.h: string src/setup_payload/QRCodeSetupPayloadParser.cpp: vector src/setup_payload/QRCodeSetupPayloadParser.h: string src/setup_payload/SetupPayloadHelper.cpp: fstream src/setup_payload/SetupPayloadHelper.h: string src/setup_payload/SetupPayload.h: map, string, vector
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
Problem
Our esp32 "wifi-echo" example app has 114KB of flash used by code that comes from
libstdc++
. I looked a bit at the specific functions we're pulling in and I see things like:etc, etc. So for some reason we're pulling in a bunch of locale stuff, and I strongly suspect this is not in fact desired. Just that
locale::_Impl
constructor is 1.5KB of codesize!Proposed Solution
Figure out which parts of this we actually need and why and make the rest go away. This might need to end up as multiple issues as we go....