u-boot-brain/arch/arc/lib
Alexey Brodkin a67ef280f4 arc: build libgcc in U-Boot
This way we may have very limited set of functions implemented so we
save some space.

Also it allows us to build U-Boot for any ARC core with the same one
toolchain because we don't rely on pre-built libgcc.

For example:
 * we may use little-endian toolchain but build U-Boot for ether
endianess
 * we may use non-multilibbed uClibc toolchain but build U-Boot for
whatever ARC CPU flavour that current GCC supports

Private libgcc built from generic C implementation contributes only 144
bytes to .text section so we don't see significant degradation of size:
--->8---
$ arc-linux-size u-boot.libgcc-prebuilt
   text	   data	    bss	    dec	    hex	filename
 222217	  24912	 214820	 461949	  70c7d	u-boot.libgcc-prebuilt

$ arc-linux-size u-boot.libgcc-private
   text	   data	    bss	    dec	    hex	filename
 222361	  24912	 214820	 462093	  70d0d	u-boot.libgcc-private
--->8---

Also I don't notice visible performance degradation compared to
pre-built libgcc (where at least "*div*" functions are had-written in
assembly) on typical operations of downloading 10Mb uImage over TFTP and
bootm.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2015-02-09 16:41:20 +03:00
..
_millicodethunk.S arc: build libgcc in U-Boot 2015-02-09 16:41:20 +03:00
bootm.c arc: add library functions 2014-02-07 08:14:32 -05:00
cache.c arc: select cache settings via menuconfig 2015-02-09 16:41:20 +03:00
cpu.c arc: move common sources in library 2015-01-15 22:40:49 +03:00
interrupts.c arc: move common sources in library 2015-01-15 22:40:49 +03:00
libgcc2.c arc: build libgcc in U-Boot 2015-02-09 16:41:20 +03:00
libgcc2.h arc: build libgcc in U-Boot 2015-02-09 16:41:20 +03:00
Makefile arc: build libgcc in U-Boot 2015-02-09 16:41:20 +03:00
memcmp.S arc: memcmp - fix zero-delay loop utilization 2015-02-09 16:41:20 +03:00
memcpy-700.S arc: add library functions 2014-02-07 08:14:32 -05:00
memset.S arc: add library functions 2014-02-07 08:14:32 -05:00
relocate.c arc: relocate - minor refactoring and clean-up 2015-01-15 22:38:42 +03:00
reset.c arc: move common sources in library 2015-01-15 22:40:49 +03:00
sections.c arc: introduce separate section for interrupt vector table 2015-01-15 22:38:42 +03:00
strchr-700.S arc: add library functions 2014-02-07 08:14:32 -05:00
strcmp.S arc: add library functions 2014-02-07 08:14:32 -05:00
strcpy-700.S arc: add library functions 2014-02-07 08:14:32 -05:00
strlen.S arc: add library functions 2014-02-07 08:14:32 -05:00
timer.c arc: move common sources in library 2015-01-15 22:40:49 +03:00