Update newlib to support efficient string operation functions for Thumb.

Corinna Vinschen vinschen@redhat.com
Tue Aug 19 11:01:00 GMT 2014


On Aug 19 11:01, Hale Wang wrote:
> Hi Corinna,
> 
> I have done several test locally and found that maybe we can't just leave this wrapper blank. If we do this, the arm-none-eabi-gcc will report "undefined reference to `strlen` ".
> 
> The reason is that the libc/machine/arm/lib_a-strlen.o will always be generated even if we don't define this function, and this *.o will replace the default libc/string/lib_a-strlen.o.
> 
> The details are describled as following:
> 	1. The libc.a is generated by the following scripts:
> 	    ===================================
> 	        for  i  in string/lib.a  machine/lib.a;  do \
> 		arm-none-eabi-ar x ../$i; \
>   	        done; \
> 	    arm-none-eabi-ar  rc  ../libc.a  *.o
> 	    arm-none-eabi-ranlib  libc.a
> 	    ===================================
> 	2. Firstly, lib_a-strlen.o is generated by the script ' arm-none-eabi-ar  x  string/lib.a '. And the default strlen() function is defined in this object file.
> 	3. Then, another lib_a-strlen.o is generated by the script ' arm-none-eabi-ar  x  machine/lib.a '. This file will replace the previous object file immediately because they own the same name. And no function is defined in this object file.
> 	4. Finally, strlen() is not defined in the libc.a generated. This will cause the link failure.
> 
> So we may need to turn back to our previous patch.

Hmm, I'm wondering if that's really the right thing to do.  Jeff?


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20140819/9370849f/attachment.sig>


More information about the Newlib mailing list