Skip to content
Snippets Groups Projects
  • Alexey Brodkin's avatar
    2178817c
    arc: Get rid of handwritten string routines · 2178817c
    Alexey Brodkin authored
    
    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: default avatarAlexey Brodkin <abrodkin@synopsys.com>
    2178817c
    History
    arc: Get rid of handwritten string routines
    Alexey Brodkin authored
    
    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: default avatarAlexey Brodkin <abrodkin@synopsys.com>