-
- Downloads
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>
Showing
- arch/Kconfig 1 addition, 0 deletionsarch/Kconfig
- arch/arc/Kconfig 3 additions, 0 deletionsarch/arc/Kconfig
- arch/arc/config.mk 3 additions, 0 deletionsarch/arc/config.mk
- arch/arc/lib/Makefile 2 additions, 0 deletionsarch/arc/lib/Makefile
- arch/arc/lib/_millicodethunk.S 226 additions, 0 deletionsarch/arc/lib/_millicodethunk.S
- arch/arc/lib/libgcc2.c 161 additions, 0 deletionsarch/arc/lib/libgcc2.c
- arch/arc/lib/libgcc2.h 132 additions, 0 deletionsarch/arc/lib/libgcc2.h
Loading
Please register or sign in to comment