]> git.dujemihanovic.xyz Git - u-boot.git/commit
arc: Get rid of handwritten string routines
authorAlexey Brodkin <abrodkin@synopsys.com>
Wed, 24 Jan 2018 20:22:33 +0000 (23:22 +0300)
committerAlexey Brodkin <abrodkin@synopsys.com>
Wed, 21 Mar 2018 13:21:34 +0000 (16:21 +0300)
commit2178817c4a105ead044e054bf902f256e6d589c2
treeb8fd816159aa1c08cdd29dad6fa69a8b3d5075cc
parent9c0e2f6ed391f199ba1bf30c7d0b71123a012958
arc: Get rid of handwritten string routines

U-Boot is a bit special piese of software because it is being
only executed once on power-on as compared to operating system
for example. That's why we don't care much about performance
optimizations instead we're more concerned about size. And up-to-date
compilers might produce much smaller code compared to
performance-optimized routines copy-pasted from the Linux kernel.

Here's an example:
------------------------------->8--------------------------
--- size_asm_strings.txt
+++ size_c_strings.txt
@@ -1,2 +1,2 @@
    text    data     bss     dec     hex filename
- 121260    3784    3308  128352   1f560 u-boot
+ 120448    3784    3308  127540   1f234 u-boot
------------------------------->8--------------------------

See we were able to shave off ~800 bytes of .text section.

Also usage of string routines implemented in C gives us an ability
to support more HW flavors for free: generated instructions will match
our target as long as correct compiler option is used.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
arch/arc/include/asm/string.h
arch/arc/lib/Makefile
arch/arc/lib/memcmp.S [deleted file]
arch/arc/lib/memcpy-700.S [deleted file]
arch/arc/lib/memset.S [deleted file]
arch/arc/lib/strchr-700.S [deleted file]
arch/arc/lib/strcmp.S [deleted file]
arch/arc/lib/strcpy-700.S [deleted file]
arch/arc/lib/strlen.S [deleted file]