]> git.baikalelectronics.ru Git - uboot.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)
commitfed7d896f7f111bc25b8296da3611814ebf61bab
treeb8fd816159aa1c08cdd29dad6fa69a8b3d5075cc
parent88ae64f40680bcbebf1459be9d8ff807395ed5e2
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]