mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-15 19:21:36 +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
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F00000
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
|
PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
|
||||||
|
PLATFORM_CPPFLAGS += -fdata-sections -ffunction-sections
|
||||||
|
|
||||||
|
LDFLAGS_FINAL += --gc-sections
|
||||||
|
|
||||||
ifeq ($(CONFIG_SPL_BUILD),)
|
ifeq ($(CONFIG_SPL_BUILD),)
|
||||||
PLATFORM_CPPFLAGS += -fPIC
|
PLATFORM_CPPFLAGS += -fPIC
|
||||||
|
|
|
@ -14,7 +14,7 @@ SECTIONS
|
||||||
{
|
{
|
||||||
__text_start = .;
|
__text_start = .;
|
||||||
arch/microblaze/cpu/start.o (.text)
|
arch/microblaze/cpu/start.o (.text)
|
||||||
*(.text)
|
*(.text*)
|
||||||
__text_end = .;
|
__text_end = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ SECTIONS
|
||||||
.data ALIGN(0x4):
|
.data ALIGN(0x4):
|
||||||
{
|
{
|
||||||
__data_start = .;
|
__data_start = .;
|
||||||
*(.data)
|
*(.data*)
|
||||||
__data_end = .;
|
__data_end = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ SECTIONS
|
||||||
__bss_start = .;
|
__bss_start = .;
|
||||||
*(.sbss)
|
*(.sbss)
|
||||||
*(.scommon)
|
*(.scommon)
|
||||||
*(.bss)
|
*(.bss*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__bss_end = .;
|
__bss_end = .;
|
||||||
|
|
Loading…
Add table
Reference in a new issue