|
@@ -16,7 +16,6 @@
|
|
|
# MIPS, PowerPC, x86, x86_64 and NIOS 2 architectures. For the MIPS
|
|
|
# toolchain, the -muclibc variant isn't supported yet, only the
|
|
|
# default glibc-based variant is.
|
|
|
-# * Analog Devices toolchains for the Blackfin architecture
|
|
|
# * Xilinx toolchains for the Microblaze architecture
|
|
|
# * Synopsys DesignWare toolchains for ARC cores
|
|
|
#
|
|
@@ -79,12 +78,8 @@ ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),)
|
|
|
TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc))
|
|
|
endif
|
|
|
else
|
|
|
-ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX),y)
|
|
|
-TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin
|
|
|
-else
|
|
|
TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin
|
|
|
endif
|
|
|
-endif
|
|
|
|
|
|
# If this is a buildroot toolchain, it already has a wrapper which we want to
|
|
|
# bypass. Since this is only evaluated after it has been extracted, we can use
|
|
@@ -505,57 +500,6 @@ define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK
|
|
|
endef
|
|
|
endif
|
|
|
|
|
|
-#
|
|
|
-# Various functions used by the external toolchain package
|
|
|
-# infrastructure to handle the Blackfin specific
|
|
|
-# BR2_BFIN_INSTALL_FDPIC_SHARED and BR2_BFIN_INSTALL_FLAT_SHARED
|
|
|
-# options.
|
|
|
-#
|
|
|
-
|
|
|
-# Special installation target used on the Blackfin architecture when
|
|
|
-# FDPIC is not the primary binary format being used, but the user has
|
|
|
-# nonetheless requested the installation of the FDPIC libraries to the
|
|
|
-# target filesystem.
|
|
|
-ifeq ($(BR2_BFIN_INSTALL_FDPIC_SHARED),y)
|
|
|
-define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC
|
|
|
- $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to staging...")
|
|
|
- $(Q)FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \
|
|
|
- FDPIC_SYSROOT_DIR="$(call toolchain_find_sysroot,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \
|
|
|
- FDPIC_LIB_DIR="$(call toolchain_find_libdir,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \
|
|
|
- FDPIC_SUPPORT_LIB_DIR="" ; \
|
|
|
- if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \
|
|
|
- FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \
|
|
|
- if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \
|
|
|
- FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \
|
|
|
- fi ; \
|
|
|
- fi ; \
|
|
|
- $(call copy_toolchain_sysroot,$${FDPIC_SYSROOT_DIR},$${FDPIC_SYSROOT_DIR},,$${FDPIC_LIB_DIR},$${FDPIC_SUPPORT_LIB_DIR})
|
|
|
-endef
|
|
|
-define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC
|
|
|
- $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to target...")
|
|
|
- $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \
|
|
|
- $(call copy_toolchain_lib_root,$$libs); \
|
|
|
- done
|
|
|
-endef
|
|
|
-endif
|
|
|
-
|
|
|
-# Special installation target used on the Blackfin architecture when
|
|
|
-# shared FLAT is not the primary format being used, but the user has
|
|
|
-# nonetheless requested the installation of the shared FLAT libraries
|
|
|
-# to the target filesystem. The flat libraries are found and linked
|
|
|
-# according to the index in name "libN.so". Index 1 is reserved for
|
|
|
-# the standard C library. Customer libraries can use 4 and above.
|
|
|
-ifeq ($(BR2_BFIN_INSTALL_FLAT_SHARED),y)
|
|
|
-define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT
|
|
|
- $(Q)$(call MESSAGE,"Install external toolchain FLAT libraries to target...")
|
|
|
- $(Q)FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \
|
|
|
- FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \
|
|
|
- if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \
|
|
|
- $(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \
|
|
|
- fi
|
|
|
-endef
|
|
|
-endif
|
|
|
-
|
|
|
# uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not
|
|
|
# patched specifically for uClibc-ng, so it continues to generate
|
|
|
# binaries that expect the dynamic loader to be named ld-uClibc.so.0,
|
|
@@ -644,7 +588,6 @@ define $(2)_INSTALL_STAGING_CMDS
|
|
|
$$(TOOLCHAIN_WRAPPER_INSTALL)
|
|
|
$$(TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK)
|
|
|
$$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS)
|
|
|
- $$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC)
|
|
|
$$(TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER)
|
|
|
$$(TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT)
|
|
|
endef
|
|
@@ -660,8 +603,6 @@ define $(2)_INSTALL_TARGET_CMDS
|
|
|
$$(TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK)
|
|
|
$$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS)
|
|
|
$$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER)
|
|
|
- $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC)
|
|
|
- $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT)
|
|
|
$$(TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO)
|
|
|
endef
|
|
|
|