diff options
author | Alexey Brodkin <abrodkin@synopsys.com> | 2015-02-03 13:58:20 +0300 |
---|---|---|
committer | Alexey Brodkin <abrodkin@synopsys.com> | 2015-02-09 16:41:20 +0300 |
commit | a67ef280f46803e319639f5380ff8da6c6b7fbe7 (patch) | |
tree | 420a2667834a71aca4a714b8fe0c93968fdf4696 /arch/arc/lib/Makefile | |
parent | 51f4999bc5ad5f8430da0297d12c1abef9c05568 (diff) | |
download | u-boot-imx-a67ef280f46803e319639f5380ff8da6c6b7fbe7.zip u-boot-imx-a67ef280f46803e319639f5380ff8da6c6b7fbe7.tar.gz u-boot-imx-a67ef280f46803e319639f5380ff8da6c6b7fbe7.tar.bz2 |
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>
Diffstat (limited to 'arch/arc/lib/Makefile')
-rw-r--r-- | arch/arc/lib/Makefile | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arc/lib/Makefile b/arch/arc/lib/Makefile index bae4419..b8028c9 100644 --- a/arch/arc/lib/Makefile +++ b/arch/arc/lib/Makefile @@ -20,3 +20,5 @@ obj-y += reset.o obj-y += timer.o obj-$(CONFIG_CMD_BOOTM) += bootm.o + +lib-$(CONFIG_USE_PRIVATE_LIBGCC) += _millicodethunk.o libgcc2.o |