mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 01:24:27 +00:00
Use --gc-sections during link
All common functions are being built into all binary images, whether or not they are actually used. This change enables the use of -ffunction-sections, -fdata-sections and --gc-sections in the compiler and linker to remove unused code and data from the images. Change-Id: Ia9f78c01054ac4fa15d145af38b88a0d6fb7d409
This commit is contained in:
parent
2eb01d341f
commit
dccc537a72
5 changed files with 20 additions and 18 deletions
2
Makefile
2
Makefile
|
@ -150,8 +150,10 @@ ASFLAGS += -nostdinc -ffreestanding -Wa,--fatal-warnings \
|
|||
CFLAGS := -nostdinc -pedantic -ffreestanding -Wall \
|
||||
-Werror -mgeneral-regs-only -std=c99 -c -Os \
|
||||
-DDEBUG=${DEBUG} ${INCLUDES} ${CFLAGS}
|
||||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
|
||||
LDFLAGS += --fatal-warnings -O1
|
||||
LDFLAGS += --gc-sections
|
||||
|
||||
|
||||
vpath %.ld.S bl1:bl2:bl31
|
||||
|
|
|
@ -43,8 +43,8 @@ SECTIONS
|
|||
{
|
||||
ro : {
|
||||
__RO_START__ = .;
|
||||
*bl1_entrypoint.o(.text)
|
||||
*(.text)
|
||||
*bl1_entrypoint.o(.text*)
|
||||
*(.text*)
|
||||
*(.rodata*)
|
||||
*(.vectors)
|
||||
__RO_END__ = .;
|
||||
|
@ -57,7 +57,7 @@ SECTIONS
|
|||
. = NEXT(16); /* Align LMA */
|
||||
.data : ALIGN(16) { /* Align VMA */
|
||||
__DATA_RAM_START__ = .;
|
||||
*(.data)
|
||||
*(.data*)
|
||||
__DATA_RAM_END__ = .;
|
||||
} >RAM AT>ROM
|
||||
|
||||
|
@ -73,7 +73,7 @@ SECTIONS
|
|||
*/
|
||||
.bss : ALIGN(16) {
|
||||
__BSS_START__ = .;
|
||||
*(.bss)
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
__BSS_END__ = .;
|
||||
} >RAM
|
||||
|
|
|
@ -47,8 +47,8 @@ SECTIONS
|
|||
|
||||
ro . : {
|
||||
__RO_START__ = .;
|
||||
*bl2_entrypoint.o(.text)
|
||||
*(.text)
|
||||
*bl2_entrypoint.o(.text*)
|
||||
*(.text*)
|
||||
*(.rodata*)
|
||||
*(.vectors)
|
||||
__RO_END_UNALIGNED__ = .;
|
||||
|
@ -63,7 +63,7 @@ SECTIONS
|
|||
|
||||
.data . : {
|
||||
__DATA_START__ = .;
|
||||
*(.data)
|
||||
*(.data*)
|
||||
__DATA_END__ = .;
|
||||
} >RAM
|
||||
|
||||
|
@ -79,7 +79,7 @@ SECTIONS
|
|||
*/
|
||||
.bss : ALIGN(16) {
|
||||
__BSS_START__ = .;
|
||||
*(SORT_BY_ALIGNMENT(.bss))
|
||||
*(SORT_BY_ALIGNMENT(.bss*))
|
||||
*(COMMON)
|
||||
__BSS_END__ = .;
|
||||
} >RAM
|
||||
|
|
|
@ -48,14 +48,14 @@ SECTIONS
|
|||
|
||||
ro . : {
|
||||
__RO_START__ = .;
|
||||
*bl31_entrypoint.o(.text)
|
||||
*(.text)
|
||||
*bl31_entrypoint.o(.text*)
|
||||
*(.text*)
|
||||
*(.rodata*)
|
||||
|
||||
/* Ensure 8-byte alignment for descriptors */
|
||||
/* Ensure 8-byte alignment for descriptors and ensure inclusion */
|
||||
. = ALIGN(8);
|
||||
__RT_SVC_DESCS_START__ = .;
|
||||
*(rt_svc_descs)
|
||||
KEEP(*(rt_svc_descs))
|
||||
__RT_SVC_DESCS_END__ = .;
|
||||
|
||||
*(.vectors)
|
||||
|
@ -71,7 +71,7 @@ SECTIONS
|
|||
|
||||
.data . : {
|
||||
__DATA_START__ = .;
|
||||
*(.data)
|
||||
*(.data*)
|
||||
__DATA_END__ = .;
|
||||
} >RAM
|
||||
|
||||
|
@ -87,7 +87,7 @@ SECTIONS
|
|||
*/
|
||||
.bss : ALIGN(16) {
|
||||
__BSS_START__ = .;
|
||||
*(.bss)
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
__BSS_END__ = .;
|
||||
} >RAM
|
||||
|
|
|
@ -48,8 +48,8 @@ SECTIONS
|
|||
|
||||
ro . : {
|
||||
__RO_START__ = .;
|
||||
*tsp_entrypoint.o(.text)
|
||||
*(.text)
|
||||
*tsp_entrypoint.o(.text*)
|
||||
*(.text*)
|
||||
*(.rodata*)
|
||||
*(.vectors)
|
||||
__RO_END_UNALIGNED__ = .;
|
||||
|
@ -64,7 +64,7 @@ SECTIONS
|
|||
|
||||
.data . : {
|
||||
__DATA_START__ = .;
|
||||
*(.data)
|
||||
*(.data*)
|
||||
__DATA_END__ = .;
|
||||
} >RAM
|
||||
|
||||
|
@ -80,7 +80,7 @@ SECTIONS
|
|||
*/
|
||||
.bss : ALIGN(16) {
|
||||
__BSS_START__ = .;
|
||||
*(SORT_BY_ALIGNMENT(.bss))
|
||||
*(SORT_BY_ALIGNMENT(.bss*))
|
||||
*(COMMON)
|
||||
__BSS_END__ = .;
|
||||
} >RAM
|
||||
|
|
Loading…
Add table
Reference in a new issue