fac4790491
Finally GCC's garbage collector works on ARC so let's use it. That's what I may see for HSDK: Before: text data bss dec hex filename 290153 10068 222616 522837 7fa55 u-boot After: text data bss dec hex filename 261999 9460 222360 493819 788fb u-boot Overall ~5% of memory footprint saved. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
61 lines
1.1 KiB
Makefile
61 lines
1.1 KiB
Makefile
#
|
|
# Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
|
|
ifndef CONFIG_CPU_BIG_ENDIAN
|
|
CONFIG_SYS_LITTLE_ENDIAN = 1
|
|
else
|
|
CONFIG_SYS_BIG_ENDIAN = 1
|
|
endif
|
|
|
|
ifdef CONFIG_SYS_LITTLE_ENDIAN
|
|
ARC_CROSS_COMPILE := arc-linux-
|
|
PLATFORM_LDFLAGS += -EL
|
|
PLATFORM_CPPFLAGS += -mlittle-endian
|
|
endif
|
|
|
|
ifdef CONFIG_SYS_BIG_ENDIAN
|
|
ARC_CROSS_COMPILE := arceb-linux-
|
|
PLATFORM_LDFLAGS += -EB
|
|
PLATFORM_CPPFLAGS += -mbig-endian
|
|
endif
|
|
|
|
ifeq ($(CROSS_COMPILE),)
|
|
CROSS_COMPILE := $(ARC_CROSS_COMPILE)
|
|
endif
|
|
|
|
ifdef CONFIG_ARC_MMU_VER
|
|
CONFIG_MMU = 1
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARC750D
|
|
PLATFORM_CPPFLAGS += -mcpu=arc700
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARC770D
|
|
PLATFORM_CPPFLAGS += -mcpu=arc700 -mlock -mswape
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARCEM6
|
|
PLATFORM_CPPFLAGS += -mcpu=arcem
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARCHS34
|
|
PLATFORM_CPPFLAGS += -mcpu=archs
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARCHS38
|
|
PLATFORM_CPPFLAGS += -mcpu=archs
|
|
endif
|
|
|
|
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2 -mno-sdata
|
|
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
|
|
|
# Needed for relocation
|
|
LDFLAGS_FINAL += -pie --gc-sections
|
|
|
|
# Load address for standalone apps
|
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0x82000000
|