-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
newlib config for lx106/esp8266 is too bloated #2
Comments
jcmvbkbc commented 11 hours ago |
Yes, more with how you configure it for crosstool-NG, but as it lacked a bugtracker, here we go.
Who said I need that? I wrote "Can you please look into slimming it [newlib] down?" Here're are few links for reference:
I don't have any patches, sorry, I assume you know that stuff better than me. I just hope that I can take well-maintained parts from community, spend several days (!) on integration testing that it all fits together, and then report issues back to upstreams, with the hope that they won't be closed right away ;-). |
nekromant commented 4 hours ago The simplest part would be optimize libc for size (-Os) That's there in ct-ng menuconfig. That will be quite a win in terms of size already. Alternative: $(OBJCOPY) --rename-section .text=.irom0.text |
jcmvbkbc commented 25 minutes ago For further discussion please report this issue to the correct repository. |
So, to clarify, that's not what I meant - it's not good idea to move entire libc (with things like strlen() and memcpy()) to flash for slower access, and doing it function by function basis is too cumbersome. The talk is exactly about tweking configure parameters, maybe applying some unobtrusive patches, to achieve smaller code footprint with typical embedded libc usage (i.e. usually handful of libc functions used, like string operations). |
Pin GCC to 4.5.3 and binutils to 2.22, the last versions working. There are multiple bugs affecting bfin configuration; while [3] is fixed on trunk in GCC (but not backported to gcc-5-release branch yet), [1] and [2] do not have fixes yet. References: [1] https://sourceware.org/bugzilla/show_bug.cgi?id=17334 (binutils bug) [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779 (gcc bug #1) [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55144 (gcc bug #2)
[migrated from https://github.com/jcmvbkbc/newlib-xtensa/issues/1]
Trying to compile Espressif "AT" firmware with a toolchain built with
https://github.com/jcmvbkbc/crosstool-NG and this newlib, I get error:
That's because libc code goes into .text segment, which in turn goes into "iram" on ESP8266 which is just 32K, and newlib config appears too bloated for such device.
Can you please look into slimming it down?
The text was updated successfully, but these errors were encountered: