mirror of
https://github.com/smaeul/u-boot.git
synced 2025-11-09 08:20:17 +00:00
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>
20 lines
377 B
Makefile
20 lines
377 B
Makefile
#
|
|
# Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
|
|
extra-y = start.o
|
|
head-y := start.o
|
|
obj-y += cache.o
|
|
obj-y += cpu.o
|
|
obj-y += interrupts.o
|
|
obj-y += relocate.o
|
|
obj-y += reset.o
|
|
obj-y += ints_low.o
|
|
obj-y += init_helpers.o
|
|
|
|
obj-$(CONFIG_CMD_BOOTM) += bootm.o
|
|
|
|
lib-$(CONFIG_USE_PRIVATE_LIBGCC) += _millicodethunk.o libgcc2.o
|