Skip to content

Commit

Permalink
Remove ROM routines from libc.a, save progmem (esp8266#6432)
Browse files Browse the repository at this point in the history
Dropped routines form libc.a which are present and usable in ROM:
`ar dv libc.a lib_a-strcmp.o lib_a-strlen.o lib_a-strncmp.o lib_a-strstr.o lib_a-memcmp.o lib_a-memcpy.o lib_a-memmove.o lib_a-memset.o lib_a-bzero.o`

Left strcpy and strncpy in libc.a because they silently support PROGMEM
accesses as required by GCC optimizations.

Saves ~628 bytes in AdvancedWebServer example, from IROM (not IRAM).

Also allows mem* and str* routines to be safely called from inside an
ISR.  Prior to this PR, these routines were stored in flash and not
IRAM, so they were technically illegal to call while in an ISR.

Fixes esp8266#6430
  • Loading branch information
earlephilhower authored Aug 28, 2019
1 parent 06f1865 commit 05969c6
Showing 1 changed file with 0 additions and 0 deletions.
Binary file modified tools/sdk/libc/xtensa-lx106-elf/lib/libc.a
Binary file not shown.

0 comments on commit 05969c6

Please sign in to comment.