mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-10-27 00:13:33 +00:00
a67ef280f4
This way we may have very limited set of functions implemented so we save some space. Also it allows us to build U-Boot for any ARC core with the same one toolchain because we don't rely on pre-built libgcc. For example: * we may use little-endian toolchain but build U-Boot for ether endianess * we may use non-multilibbed uClibc toolchain but build U-Boot for whatever ARC CPU flavour that current GCC supports Private libgcc built from generic C implementation contributes only 144 bytes to .text section so we don't see significant degradation of size: --->8--- $ arc-linux-size u-boot.libgcc-prebuilt text data bss dec hex filename 222217 24912 214820 461949 70c7d u-boot.libgcc-prebuilt $ arc-linux-size u-boot.libgcc-private text data bss dec hex filename 222361 24912 214820 462093 70d0d u-boot.libgcc-private --->8--- Also I don't notice visible performance degradation compared to pre-built libgcc (where at least "*div*" functions are had-written in assembly) on typical operations of downloading 10Mb uImage over TFTP and bootm. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
50 lines
990 B
Makefile
50 lines
990 B
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-buildroot-linux-uclibc-
|
|
PLATFORM_LDFLAGS += -EL
|
|
PLATFORM_CPPFLAGS += -mlittle-endian
|
|
endif
|
|
|
|
ifdef CONFIG_SYS_BIG_ENDIAN
|
|
ARC_CROSS_COMPILE := arceb-buildroot-linux-uclibc-
|
|
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 += -marc700
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARC770D
|
|
PLATFORM_CPPFLAGS += -marc700 -mlock -mswape
|
|
endif
|
|
|
|
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2
|
|
|
|
# Needed for relocation
|
|
LDFLAGS_FINAL += -pie
|
|
|
|
# Load address for standalone apps
|
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0x82000000
|
|
|
|
# Support generic board on ARC
|
|
__HAVE_ARCH_GENERIC_BOARD := y
|