kbuild: add CONFIG_ prefix to USE_PRIVATE_LIBGCC
Before this commit, USE_PRIVATE_LIBGCC was defined in arch-specific config.mk and referenced in arch/$(ARCH)/lib/Makefile. We are not happy about parsing config.mk again and again. We have to keep the same behavior with a different way. By adding "CONFIG_" prefix, this macro appears in include/autoconf.mk, include/spl-autoconf.mk. (And treating USE_PRIVATE_LIBGCC as CONFIG macro is reasonable enough.) Tegra SoC family defined USE_PRIVATE_LIBGCC as "yes" in arch/arm/cpu/arm720t/tegra*/config.mk, whereas did not define it in arch/arm/cpu/armv7/tegra*/config.mk. It means Tegra enables PRIVATE_LIBGCC only for SPL. We can describe the same behavior by adding #ifdef CONFIG_SPL_BUILD # define CONFIG_USE_PRIVATE_LIBGCC #endif to include/configs/tegra-common.h. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Warren <twarren@nvidia.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com>
This commit is contained in:
parent
e91df49fbb
commit
cd2e46cb38
6
Makefile
6
Makefile
|
@ -651,11 +651,11 @@ u-boot-main := $(libs-y)
|
||||||
|
|
||||||
|
|
||||||
# Add GCC lib
|
# Add GCC lib
|
||||||
ifdef USE_PRIVATE_LIBGCC
|
ifdef CONFIG_USE_PRIVATE_LIBGCC
|
||||||
ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
|
ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
|
||||||
PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
|
PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
|
||||||
else
|
else
|
||||||
PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
|
PLATFORM_LIBGCC = -L $(CONFIG_USE_PRIVATE_LIBGCC) -lgcc
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name`) -lgcc
|
PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name`) -lgcc
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# Copyright (c) 2010-2013, NVIDIA CORPORATION. All rights reserved.
|
|
||||||
#
|
|
||||||
# (C) Copyright 2002
|
|
||||||
# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms and conditions of the GNU General Public License,
|
|
||||||
# version 2, as published by the Free Software Foundation.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
||||||
# more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
USE_PRIVATE_LIBGCC = yes
|
|
|
@ -1,7 +0,0 @@
|
||||||
#
|
|
||||||
# (C) Copyright 2010-2013
|
|
||||||
# NVIDIA Corporation <www.nvidia.com>
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
|
||||||
#/
|
|
||||||
USE_PRIVATE_LIBGCC = yes
|
|
|
@ -1,10 +0,0 @@
|
||||||
#
|
|
||||||
# (C) Copyright 2010,2011
|
|
||||||
# NVIDIA Corporation <www.nvidia.com>
|
|
||||||
#
|
|
||||||
# (C) Copyright 2002
|
|
||||||
# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
|
||||||
#
|
|
||||||
USE_PRIVATE_LIBGCC = yes
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved.
|
|
||||||
#
|
|
||||||
# (C) Copyright 2002
|
|
||||||
# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms and conditions of the GNU General Public License,
|
|
||||||
# version 2, as published by the Free Software Foundation.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
||||||
# more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
USE_PRIVATE_LIBGCC = yes
|
|
|
@ -5,17 +5,8 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
#
|
#
|
||||||
|
|
||||||
# Build private libgcc only when asked for
|
lib-$(CONFIG_USE_PRIVATE_LIBGCC) += _ashldi3.o _ashrdi3.o _divsi3.o \
|
||||||
ifdef USE_PRIVATE_LIBGCC
|
_lshrdi3.o _modsi3.o _udivsi3.o _umodsi3.o div0.o
|
||||||
lib-y += _ashldi3.o
|
|
||||||
lib-y += _ashrdi3.o
|
|
||||||
lib-y += _divsi3.o
|
|
||||||
lib-y += _lshrdi3.o
|
|
||||||
lib-y += _modsi3.o
|
|
||||||
lib-y += _udivsi3.o
|
|
||||||
lib-y += _umodsi3.o
|
|
||||||
lib-y += div0.o
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_ARM64
|
ifdef CONFIG_ARM64
|
||||||
obj-y += crt0_64.o
|
obj-y += crt0_64.o
|
||||||
|
|
|
@ -8,9 +8,4 @@
|
||||||
obj-y += board.o
|
obj-y += board.o
|
||||||
obj-$(CONFIG_CMD_BOOTM) += bootm.o
|
obj-$(CONFIG_CMD_BOOTM) += bootm.o
|
||||||
|
|
||||||
# Build private libgcc only when asked for
|
lib-$(CONFIG_USE_PRIVATE_LIBGCC) += ashldi3.o ashrdi3.o lshrdi3.o
|
||||||
ifdef USE_PRIVATE_LIBGCC
|
|
||||||
lib-y += ashldi3.o
|
|
||||||
lib-y += ashrdi3.o
|
|
||||||
lib-y += lshrdi3.o
|
|
||||||
endif
|
|
||||||
|
|
|
@ -7,11 +7,7 @@
|
||||||
|
|
||||||
## Build a couple of necessary functions into a private libgcc
|
## Build a couple of necessary functions into a private libgcc
|
||||||
## if the user asked for it
|
## if the user asked for it
|
||||||
ifdef USE_PRIVATE_LIBGCC
|
lib-$(CONFIG_USE_PRIVATE_LIBGCC) += _ashldi3.o _ashrdi3.o _lshrdi3.o
|
||||||
lib-y += _ashldi3.o
|
|
||||||
lib-y += _ashrdi3.o
|
|
||||||
lib-y += _lshrdi3.o
|
|
||||||
endif
|
|
||||||
|
|
||||||
MINIMAL=
|
MINIMAL=
|
||||||
|
|
||||||
|
|
|
@ -15,15 +15,5 @@ obj-y += time.o
|
||||||
endif
|
endif
|
||||||
obj-$(CONFIG_CMD_SH_ZIMAGEBOOT) += zimageboot.o
|
obj-$(CONFIG_CMD_SH_ZIMAGEBOOT) += zimageboot.o
|
||||||
|
|
||||||
|
lib-$(CONFIG_USE_PRIVATE_LIBGCC) += ashiftrt.o ashiftlt.o lshiftrt.o \
|
||||||
|
ashldi3.o ashrsi3.o lshrdi3.o movmem.o
|
||||||
# Build private libgcc only when asked for
|
|
||||||
ifdef USE_PRIVATE_LIBGCC
|
|
||||||
lib-y += ashiftrt.o
|
|
||||||
lib-y += ashiftlt.o
|
|
||||||
lib-y += lshiftrt.o
|
|
||||||
lib-y += ashldi3.o
|
|
||||||
lib-y += ashrsi3.o
|
|
||||||
lib-y += lshrdi3.o
|
|
||||||
lib-y += movmem.o
|
|
||||||
endif
|
|
||||||
|
|
|
@ -31,4 +31,4 @@ LDFLAGS_FINAL += --wrap=__moddi3 --wrap=__umoddi3
|
||||||
export NORMAL_LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
|
export NORMAL_LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
|
||||||
PREFIXED_LIBGCC = $(OBJTREE)/arch/$(ARCH)/lib/$(shell basename $(NORMAL_LIBGCC))
|
PREFIXED_LIBGCC = $(OBJTREE)/arch/$(ARCH)/lib/$(shell basename $(NORMAL_LIBGCC))
|
||||||
|
|
||||||
export USE_PRIVATE_LIBGCC=$(shell dirname $(PREFIXED_LIBGCC))
|
CONFIG_USE_PRIVATE_LIBGCC=$(shell dirname $(PREFIXED_LIBGCC))
|
||||||
|
|
|
@ -151,6 +151,10 @@
|
||||||
#define CONFIG_SPL_SERIAL_SUPPORT
|
#define CONFIG_SPL_SERIAL_SUPPORT
|
||||||
#define CONFIG_SPL_GPIO_SUPPORT
|
#define CONFIG_SPL_GPIO_SUPPORT
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPL_BUILD
|
||||||
|
# define CONFIG_USE_PRIVATE_LIBGCC
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CONFIG_SYS_GENERIC_BOARD
|
#define CONFIG_SYS_GENERIC_BOARD
|
||||||
|
|
||||||
/* Misc utility code */
|
/* Misc utility code */
|
||||||
|
|
|
@ -132,7 +132,7 @@ u-boot-spl-dirs := $(patsubst %/,%,$(filter %/, $(libs-y)))
|
||||||
libs-y := $(patsubst %/, %/built-in.o, $(libs-y))
|
libs-y := $(patsubst %/, %/built-in.o, $(libs-y))
|
||||||
|
|
||||||
# Add GCC lib
|
# Add GCC lib
|
||||||
ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
|
ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
|
||||||
PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
|
PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
|
||||||
PLATFORM_LIBS := $(filter-out %/lib.a, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
|
PLATFORM_LIBS := $(filter-out %/lib.a, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
|
||||||
endif
|
endif
|
||||||
|
|
Loading…
Reference in New Issue