From 05969c6bf20ad7413affb5043c8c5fdae71f8abc Mon Sep 17 00:00:00 2001 From: "Earle F. Philhower, III" Date: Wed, 28 Aug 2019 09:39:05 -0700 Subject: [PATCH] Remove ROM routines from libc.a, save progmem (#6432) 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 #6430 --- tools/sdk/libc/xtensa-lx106-elf/lib/libc.a | Bin 5544658 -> 5507218 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/sdk/libc/xtensa-lx106-elf/lib/libc.a b/tools/sdk/libc/xtensa-lx106-elf/lib/libc.a index 2a1a82d90908a2b7350bfd06b705c2bda1d52f1b..aa8a59bd91f03fb6a4f5eb3be36d81a86fb3cace 100644 GIT binary patch delta 4184 zcmb`}e^8tC9S86?0a6GhKq$YHv(*oE1?+Wfq=5jWy9IRiR8#Y{?n`h7mwp=R$LJtF$c3`)h*>44Y ztpuLY0AsztAG?5e$AKjwLZTNDqVyv~Z$XH84k1^!BV_+Egxn`V$kBd;ygY@Fx49*R zd```O1rTglfIz1XcEdOXtKCO)-V6N@EYLM)mk}Di$Yjb9%G+MY+}MH8jzNU>wjuO= zFG4??L|9BK!q(duyB}d(-2%dPlIzL6;|TkG1HwKPd~f0TjR?2e5WYi>@MbH*+uh7v zvj~4+1mT`8gg>{0@bP01#?1vQ8~`Vz5MI}VH6<3T*>ft`d>z(&hlsRBM5H${h5IlR;Gq8XJ-n-|WO+{k1gsJf$k$0d0iNBrrUXrr>NUGez z+$um4@BVotxjT^bl!?NAYp57np6fQ^+C z_)b0#Hi@0gHAC2RDdU~UROp#97c#FJ4EFLeGI^)u0qP6~2a2E8<6fv&o1*pCjRBie z77<{yVKZ+pH%CGGmDubPVDpLAfUL+y1Z>qHi$`Csfc=xm;tlj5>$Q4hy;+ZJ(JZp< zQ_L+!WYe<}@CO&NKcM-S%7872sn{YT8RyY!yM^oCf}HI`$Z4B{My7#AZ(`~jpy_U7 zj`u^u`*0qbe~v(N))gdogB!W}W5~5MFl}DsKCp<~k#^>zIph+pT*9app{+=TwnGh0 z+dB*GBlXZ8cR~Ax2-^4L(0=TJ_6*f?1JFe!LMQ8oPCE%*$ux978-eZ@PU!9#gRaj6 z-9w|$jSj7t7=-RaKXfNG(EY0k`cN12DIVxGbU%=e@cB{m1h` z3{e6Y;+>aPm>D-52P_eKST;_> zvUh%k(+vx+Z)nAPG$-Za4wNTPF$O2fjo;GJit^Q5V<=zkRXNH@#jm(tiWOJV4mMFUC;0%Ju{of*9S{&f}V=u$|``Wk#v;=Enl6Bvw?d??u(+ z0_N%_RPB?X>h?rb9h^kf5htpi^q^|w45}t*AMcB$0NWueY>&>vHtdA$^-kD6n1k)4 z8n(r8*w=Kyo_GcvANI-~*y|f%Z|-I8_rm_D3-%Fzu(S23rtf%lngi9w22}sDmwA@@ zF+Zw5H=-uSfts=|ro)YzzE;#6HKAtGg_@6AE^>q|fN*fAN13Z9;NaaTg5!V-j(bPo zcw`2SXO`i3qn`QN1P7^=icniIgxVWjKg{i|s9o)FW;t)J*G>ER+O}&?+wdKVe~9{S%4+WWBum;CmVM2gyR*A@XNM4hZ+CWRrN4VNJB)-A zAz4ErNF))FD6*DB6ETS)u_TU2NIY3b5=bIRBFQ9$q>?luB{Cu>>&XV9AWGkCcKUyM zd{4}!=fwLeLo+P$?v$+=aU zqPxGb=lQ;|=l}Jj??F?+k)rM+y#>A_y@lTD?%^|qq=*y~BiTl-ASJ{^N{N}25eq3N d734}{C6#15sUkLFC;WYDh{HF0rgr`D{{!js_JRNa delta 18467 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