mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-23 23:01:28 +02:00
microblaze: Enable GCC garbage collector for full U-Boot
GCC's garbage collector works for Microblaze for quite a long time but none has enabled it. The same change has be done for example by commit fac4790491f6 ("arc: Eliminate unused code and data with GCC's garbage collector"). Before: text data bss dec hex filename 588760 33592 39192 661544 a1828 u-boot After: text data bss dec hex filename 504504 32164 38608 575276 8c72c u-boot Which saves almost 15% of memory footprint. Also group symbols/functions to proper section. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
b80680633d
commit
9c2aa7e707
@ -9,6 +9,9 @@
|
||||
CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F00000
|
||||
|
||||
PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
|
||||
PLATFORM_CPPFLAGS += -fdata-sections -ffunction-sections
|
||||
|
||||
LDFLAGS_FINAL += --gc-sections
|
||||
|
||||
ifeq ($(CONFIG_SPL_BUILD),)
|
||||
PLATFORM_CPPFLAGS += -fPIC
|
||||
|
@ -14,7 +14,7 @@ SECTIONS
|
||||
{
|
||||
__text_start = .;
|
||||
arch/microblaze/cpu/start.o (.text)
|
||||
*(.text)
|
||||
*(.text*)
|
||||
__text_end = .;
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ SECTIONS
|
||||
.data ALIGN(0x4):
|
||||
{
|
||||
__data_start = .;
|
||||
*(.data)
|
||||
*(.data*)
|
||||
__data_end = .;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ SECTIONS
|
||||
__bss_start = .;
|
||||
*(.sbss)
|
||||
*(.scommon)
|
||||
*(.bss)
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
__bss_end = .;
|
||||
|
Loading…
x
Reference in New Issue
Block a user