mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-15 19:51:37 +00: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 fac4790491
("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
2 changed files with 6 additions and 3 deletions
|
@ -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…
Add table
Reference in a new issue