summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-11-02 07:04:18 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2015-11-02 07:06:15 +0100
commitedf81f75ddbc599082d4151e5c464477f3c54653 (patch)
tree97e4597a5e17572233a1343580b0c01b9732bba3
parentedf6e90d6ee12851112b4add44929fa668c66cc0 (diff)
sh4a: add support for toolchain building
-rw-r--r--package/libgcc/Makefile2
-rw-r--r--target/sh/uclibc-ng.config16
-rw-r--r--target/sh/uclibc.config1
-rw-r--r--toolchain/gcc/Makefile5
-rw-r--r--toolchain/uclibc-ng/Makefile37
5 files changed, 38 insertions, 23 deletions
diff --git a/package/libgcc/Makefile b/package/libgcc/Makefile
index 6b313b45f..ec05523ff 100644
--- a/package/libgcc/Makefile
+++ b/package/libgcc/Makefile
@@ -32,7 +32,7 @@ INSTALL_STYLE:= manual
libgcc-install:
$(INSTALL_DIR) ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
ifeq ($(ADK_TARGET_ARCH_SH),y)
- ${CP} ${STAGING_TARGET_DIR}/lib/!m4/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
+ ${CP} ${STAGING_TARGET_DIR}/lib/!m4*/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
else
ifeq ($(ADK_TARGET_ARCH_AVR32),)
ifeq ($(ADK_TARGET_BINFMT_FLAT),)
diff --git a/target/sh/uclibc-ng.config b/target/sh/uclibc-ng.config
index 309368cf9..9e2914ccb 100644
--- a/target/sh/uclibc-ng.config
+++ b/target/sh/uclibc-ng.config
@@ -15,14 +15,15 @@
# TARGET_i386 is not set
# TARGET_i960 is not set
# TARGET_ia64 is not set
+# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
# TARGET_microblaze is not set
# TARGET_mips is not set
# TARGET_nios2 is not set
+# TARGET_or1k is not set
# TARGET_powerpc is not set
TARGET_sh=y
-# TARGET_sh64 is not set
# TARGET_sparc is not set
# TARGET_v850 is not set
# TARGET_x86_64 is not set
@@ -37,8 +38,8 @@ FORCE_OPTIONS_FOR_ARCH=y
# CONFIG_SH2 is not set
# CONFIG_SH3 is not set
CONFIG_SH4=y
-ARCH_HAS_BWD_MEMCPY=y
-TARGET_SUBARCH="sh4"
+# CONFIG_SH4A is not set
+TARGET_SUBARCH=""
#
# Using ELF file format
@@ -55,7 +56,6 @@ UCLIBC_HAS_FPU=y
DO_C99_MATH=y
# DO_XSI_MATH is not set
# UCLIBC_HAS_FENV is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -88,13 +88,11 @@ UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
UCLIBC_HAS_OBSTACK=y
UCLIBC_DYNAMIC_ATEXIT=y
COMPAT_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
UCLIBC_SUSV2_LEGACY=y
UCLIBC_SUSV3_LEGACY=y
# UCLIBC_SUSV3_LEGACY_MACROS is not set
@@ -211,8 +209,6 @@ UCLIBC_HAS_FTW=y
# UCLIBC_HAS_FTS is not set
UCLIBC_HAS_GLOB=y
UCLIBC_HAS_GNU_GLOB=y
-UCLIBC_HAS_UTMP=y
-UCLIBC_HAS_UTMPX=y
#
# Library Installation Options
diff --git a/target/sh/uclibc.config b/target/sh/uclibc.config
index 11ceed56c..05c94ffeb 100644
--- a/target/sh/uclibc.config
+++ b/target/sh/uclibc.config
@@ -40,6 +40,7 @@ FORCE_OPTIONS_FOR_ARCH=y
# CONFIG_SH2 is not set
# CONFIG_SH3 is not set
CONFIG_SH4=y
+# CONFIG_SH4A is not set
ARCH_HAS_BWD_MEMCPY=y
TARGET_SUBARCH="sh4"
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index ad2680616..bce5d7496 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -208,8 +208,13 @@ endif
(cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME); \
ln -s ../$(STAGING_HOST2TARGET)/lib lib)
ifeq ($(ADK_TARGET_ARCH_SH),y)
+ifeq ($(ADK_CPU_SH4),y)
(cd ${STAGING_TARGET_DIR}/ && ln -sf . m4)
endif
+ifeq ($(ADK_CPU_SH4A),y)
+ (cd ${STAGING_TARGET_DIR}/ && ln -sf . m4a)
+endif
+endif
$(SED) '/k prot/agcc_cv_libc_provides_ssp=yes' $(WRKBUILD)/gcc/configure
cd $(GCC_BUILD_DIR_MINIMAL); \
PATH='$(TARGET_PATH)' \
diff --git a/toolchain/uclibc-ng/Makefile b/toolchain/uclibc-ng/Makefile
index e86c6e31f..a8f625bcd 100644
--- a/toolchain/uclibc-ng/Makefile
+++ b/toolchain/uclibc-ng/Makefile
@@ -206,28 +206,41 @@ endif
# sh
ifeq ($(ADK_TARGET_ARCH_SH),y)
+ifeq ($(ADK_CPU_SH4A),y)
+ $(SED) 's/.*\(CONFIG_SH2A\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH2\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH3\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4=\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4A\).*/\1=y/' ${WRKBUILD}/.config
+ echo foo
+ cat ${WRKBUILD}/.config
+endif
ifeq ($(ADK_CPU_SH4),y)
- $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH2=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH3=\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH2A\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH2\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH3\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4A\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_SH4\).*/\1=y/' ${WRKBUILD}/.config
endif
ifeq ($(ADK_CPU_SH3),y)
- $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH2=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH4=\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH2A\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH2\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4A\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_SH3\).*/\1=y/' ${WRKBUILD}/.config
endif
ifeq ($(ADK_CPU_SH2),y)
- $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH3=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH4=\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH2A\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH3\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4A\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_SH2\).*/\1=y/' ${WRKBUILD}/.config
endif
ifeq ($(ADK_CPU_SH2A),y)
- $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH3=\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_SH4=\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH2A\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH3\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_SH4A\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_SH2A\).*/\1=y/' ${WRKBUILD}/.config
endif
endif