summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/uclibc-ng/Makefile2
-rw-r--r--target/config/Config.in.archopts15
-rw-r--r--target/config/Config.in.cpu6
-rw-r--r--target/mips/uclibc-ng.config8
-rw-r--r--target/mips64/uclibc-ng.config8
-rw-r--r--toolchain/gcc/Makefile4
-rw-r--r--toolchain/uclibc-ng/Makefile11
7 files changed, 51 insertions, 3 deletions
diff --git a/package/uclibc-ng/Makefile b/package/uclibc-ng/Makefile
index 8f26201de..6385ad96f 100644
--- a/package/uclibc-ng/Makefile
+++ b/package/uclibc-ng/Makefile
@@ -40,7 +40,7 @@ ifneq ($(ADK_TARGET_USE_STATIC_LIBS)$(ADK_TARGET_BINFMT_FLAT),y)
$(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
$(CP) $(STAGING_TARGET_DIR)/lib/ld*-uClibc-*.so \
$(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
- $(CP) $(STAGING_TARGET_DIR)/lib/ld*-uClibc.so.* $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
+ $(CP) $(STAGING_TARGET_DIR)/lib/ld*-uClibc*.so.* $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
-for file in libcrypt libdl libm libnsl libresolv libutil libuargp; do \
$(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH); \
$(CP) $(STAGING_TARGET_DIR)/lib/$$file-*.so \
diff --git a/target/config/Config.in.archopts b/target/config/Config.in.archopts
index a5f2bc08d..6401384b9 100644
--- a/target/config/Config.in.archopts
+++ b/target/config/Config.in.archopts
@@ -21,6 +21,21 @@ config ADK_TARGET_INSTRUCTION_SET
default "arm" if ADK_TARGET_ARCH_ARM_WITH_ARM
default "thumb" if ADK_TARGET_ARCH_ARM_WITH_THUMB
+config ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
+ bool
+ depends on ADK_TARGET_ARCH_MIPS \
+ || ADK_TARGET_ARCH_MIPS64
+
+config ADK_TARGET_ARCH_MIPS_WITH_NAN_2008
+ bool
+ depends on ADK_TARGET_ARCH_MIPS \
+ || ADK_TARGET_ARCH_MIPS64
+
+config ADK_TARGET_NAN_MODE
+ string
+ default "legacy" if ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
+ default "2008" if ADK_TARGET_ARCH_MIPS_WITH_NAN_2008
+
config ADK_TARGET_WITH_DEVICETREE
bool
depends on ADK_TARGET_ARCH_ARM
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index 8375c7ee3..f42777a9b 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -670,6 +670,7 @@ config ADK_TARGET_CPU_MIPS_MIPS32
select ADK_TARGET_WITH_MMU
select ADK_TARGET_CPU_WITH_FPU
select ADK_KERNEL_CPU_MIPS32_R1
+ select ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
depends on ADK_TARGET_ARCH_MIPS
config ADK_TARGET_CPU_MIPS_MIPS32R2
@@ -678,6 +679,7 @@ config ADK_TARGET_CPU_MIPS_MIPS32R2
select ADK_TARGET_WITH_MMU
select ADK_TARGET_CPU_WITH_FPU
select ADK_KERNEL_CPU_MIPS32_R2
+ select ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
depends on ADK_TARGET_ARCH_MIPS
config ADK_TARGET_CPU_MIPS_MIPS32R6
@@ -686,6 +688,7 @@ config ADK_TARGET_CPU_MIPS_MIPS32R6
select ADK_TARGET_WITH_MMU
select ADK_TARGET_CPU_WITH_FPU
select ADK_KERNEL_CPU_MIPS32_R6
+ select ADK_TARGET_ARCH_MIPS_WITH_NAN_2008
depends on ADK_TARGET_ARCH_MIPS
# mips64
@@ -694,6 +697,7 @@ config ADK_TARGET_CPU_MIPS64_MIPS64
select ADK_LINUX_64
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
depends on ADK_TARGET_ARCH_MIPS64
config ADK_TARGET_CPU_MIPS64_MIPS64R2
@@ -701,6 +705,7 @@ config ADK_TARGET_CPU_MIPS64_MIPS64R2
select ADK_LINUX_64
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
depends on ADK_TARGET_ARCH_MIPS64
config ADK_TARGET_CPU_MIPS64_MIPS64R6
@@ -708,6 +713,7 @@ config ADK_TARGET_CPU_MIPS64_MIPS64R6
select ADK_LINUX_64
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_ARCH_MIPS_WITH_NAN_2008
depends on ADK_TARGET_ARCH_MIPS64
config ADK_TARGET_CPU_MIPS64_LOONGSON2F
diff --git a/target/mips/uclibc-ng.config b/target/mips/uclibc-ng.config
index 95562c472..1cc90e89f 100644
--- a/target/mips/uclibc-ng.config
+++ b/target/mips/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.10 C Library Configuration
+# uClibc-ng 1.0.17 C Library Configuration
#
# TARGET_alpha is not set
# TARGET_arc is not set
@@ -9,7 +9,9 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_frv is not set
# TARGET_h8300 is not set
+# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
# TARGET_lm32 is not set
@@ -17,6 +19,7 @@
# TARGET_metag is not set
# TARGET_microblaze is not set
TARGET_mips=y
+# TARGET_nds32 is not set
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
@@ -33,6 +36,9 @@ FORCE_OPTIONS_FOR_ARCH=y
CONFIG_MIPS_O32_ABI=y
# CONFIG_MIPS_N32_ABI is not set
# CONFIG_MIPS_N64_ABI is not set
+CONFIG_MIPS_NAN_LEGACY=y
+# CONFIG_MIPS_NAN_2008 is not set
+UCLIBC_USE_MIPS_PREFETCH=y
TARGET_SUBARCH=""
#
diff --git a/target/mips64/uclibc-ng.config b/target/mips64/uclibc-ng.config
index b885e6c71..577b78ab5 100644
--- a/target/mips64/uclibc-ng.config
+++ b/target/mips64/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.10 C Library Configuration
+# uClibc-ng 1.0.17 C Library Configuration
#
# TARGET_alpha is not set
# TARGET_arc is not set
@@ -9,7 +9,9 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_frv is not set
# TARGET_h8300 is not set
+# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
# TARGET_lm32 is not set
@@ -17,6 +19,7 @@
# TARGET_metag is not set
# TARGET_microblaze is not set
TARGET_mips=y
+# TARGET_nds32 is not set
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
@@ -33,6 +36,9 @@ FORCE_OPTIONS_FOR_ARCH=y
# CONFIG_MIPS_O32_ABI is not set
# CONFIG_MIPS_N32_ABI is not set
CONFIG_MIPS_N64_ABI=y
+CONFIG_MIPS_NAN_LEGACY=y
+# CONFIG_MIPS_NAN_2008 is not set
+UCLIBC_USE_MIPS_PREFETCH=y
TARGET_SUBARCH=""
#
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 01f4f4a96..0495cce4c 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -115,6 +115,10 @@ ifneq ($(ADK_TARGET_INSTRUCTION_SET),)
GCC_CONFOPTS+= --with-mode=$(ADK_TARGET_INSTRUCTION_SET)
endif
+ifneq ($(ADK_TARGET_NAN_MODE),)
+GCC_CONFOPTS+= --with-nan=$(ADK_TARGET_NAN_MODE)
+endif
+
# .symver is broken for Blackfin, simple C++ apps fail to link
ifeq ($(ADK_TARGET_ARCH_BFIN),y)
GCC_CONFOPTS+= --disable-symvers
diff --git a/toolchain/uclibc-ng/Makefile b/toolchain/uclibc-ng/Makefile
index d22f44a8e..2970c3ffb 100644
--- a/toolchain/uclibc-ng/Makefile
+++ b/toolchain/uclibc-ng/Makefile
@@ -244,6 +244,7 @@ ifeq ($(ADK_TARGET_CPU_X86_I686),y)
endif
endif
+# m68k
ifeq ($(ADK_TARGET_ARCH_M68K),y)
ifeq ($(ADK_TARGET_WITHOUT_MMU),y)
ifeq ($(ADK_TARGET_BINFMT_FLAT_ONE)$(ADK_TARGET_BINFMT_FLAT_SEP_DATA),y)
@@ -252,6 +253,16 @@ endif
endif
endif
+# mips/mips64 NaN
+ifeq ($(ADK_TARGET_ARCH_MIPS_WITH_NAN_2008),y)
+ $(SED) 's/.*\(CONFIG_MIPS_NAN_LEGACY\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_MIPS_NAN_2008\).*/\1=y/' ${WRKBUILD}/.config
+endif
+ifeq ($(ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY),y)
+ $(SED) 's/.*\(CONFIG_MIPS_NAN_2008\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_MIPS_NAN_LEGACY\).*/\1=y/' ${WRKBUILD}/.config
+endif
+
# mips64 abi
ifeq ($(ADK_TARGET_ARCH_MIPS64),y)
ifeq ($(ADK_TARGET_ABI_N64),y)