summaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/uClibc')
-rw-r--r--toolchain/uClibc/Config.in6
-rw-r--r--toolchain/uClibc/Config.version10
-rw-r--r--toolchain/uClibc/common.mk5
-rw-r--r--toolchain/uClibc/config-0.9.33.2/common2
-rw-r--r--toolchain/uClibc/config-0.9.33.2/mips64.3218
-rw-r--r--toolchain/uClibc/config-0.9.33.2/mips64.6418
-rw-r--r--toolchain/uClibc/config-0.9.33.2/mips64.n3218
-rw-r--r--toolchain/uClibc/config-0.9.33.2/mips64el.3218
-rw-r--r--toolchain/uClibc/config-0.9.33.2/mips64el.6418
-rw-r--r--toolchain/uClibc/config-0.9.33.2/mips64el.n3218
-rw-r--r--toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch25
11 files changed, 144 insertions, 12 deletions
diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in
index 74d15ae33..08ea00a31 100644
--- a/toolchain/uClibc/Config.in
+++ b/toolchain/uClibc/Config.in
@@ -3,16 +3,16 @@
choice
prompt "uClibc Version"
depends on TOOLCHAINOPTS && USE_UCLIBC
- default UCLIBC_VERSION_0_9_33
+ default UCLIBC_USE_VERSION_0_9_33
help
Select the version of uClibc you wish to use.
- config UCLIBC_VERSION_0_9_33
+ config UCLIBC_USE_VERSION_0_9_33
+ select UCLIBC_VERSION_0_9_33
bool "uClibc 0.9.33.2"
endchoice
-
# Debug version.
config UCLIBC_ENABLE_DEBUG
diff --git a/toolchain/uClibc/Config.version b/toolchain/uClibc/Config.version
index 0d0b4a76a..dd302f256 100644
--- a/toolchain/uClibc/Config.version
+++ b/toolchain/uClibc/Config.version
@@ -4,10 +4,6 @@ config UCLIBC_VERSION
default "0.9.33.2" if UCLIBC_VERSION_0_9_33
default "0.9.33.2"
-if !TOOLCHAINOPTS
-
- config UCLIBC_VERSION_0_9_33
- default y if USE_UCLIBC
- bool
-
-endif
+config UCLIBC_VERSION_0_9_33
+ default y if !TOOLCHAINOPTS && USE_UCLIBC
+ bool
diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk
index a4f62b7d8..d83f28ef0 100644
--- a/toolchain/uClibc/common.mk
+++ b/toolchain/uClibc/common.mk
@@ -43,7 +43,10 @@ GEN_CONFIG=$(SCRIPT_DIR)/kconfig.pl -n \
$(if $(CONFIG_UCLIBC_ENABLE_DEBUG),$(if $(wildcard $(CONFIG_DIR)/debug),'+' $(CONFIG_DIR)/debug)) \
$(CONFIG_DIR)/$(ARCH)$(strip \
$(if $(wildcard $(CONFIG_DIR)/$(ARCH).$(BOARD)),.$(BOARD), \
- $(if $(CONFIG_HAS_SPE_FPU),$(if $(wildcard $(CONFIG_DIR)/$(ARCH).e500),.e500))))
+ $(if $(CONFIG_MIPS64_ABI),.$(subst ",,$(CONFIG_MIPS64_ABI)), \
+ $(if $(CONFIG_HAS_SPE_FPU),$(if $(wildcard $(CONFIG_DIR)/$(ARCH).e500),.e500)))))
+
+TARGET_CFLAGS := $(filter-out -mips16,$(TARGET_CFLAGS))
CPU_CFLAGS = \
-funsigned-char -fno-builtin -fno-asm \
diff --git a/toolchain/uClibc/config-0.9.33.2/common b/toolchain/uClibc/config-0.9.33.2/common
index 4e4da3e37..488947127 100644
--- a/toolchain/uClibc/config-0.9.33.2/common
+++ b/toolchain/uClibc/config-0.9.33.2/common
@@ -118,7 +118,7 @@ UCLIBC_HAS_FTW=y
UCLIBC_HAS_GETPT=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-# UCLIB_HAS_GLIBC_DIGIT_GROUPING is not set
+# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
UCLIBC_HAS_GLOB=y
UCLIBC_HAS_GNU_ERROR=y
UCLIBC_HAS_GNU_GETOPT=y
diff --git a/toolchain/uClibc/config-0.9.33.2/mips64.32 b/toolchain/uClibc/config-0.9.33.2/mips64.32
new file mode 100644
index 000000000..03f7fbaee
--- /dev/null
+++ b/toolchain/uClibc/config-0.9.33.2/mips64.32
@@ -0,0 +1,18 @@
+ARCH_ANY_ENDIAN=y
+ARCH_BIG_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_WANTS_BIG_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+# CONFIG_MIPS_ISA_MIPS32 is not set
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+CONFIG_MIPS_ISA_MIPS64=y
+# CONFIG_MIPS_N32_ABI is not set
+# CONFIG_MIPS_N64_ABI is not set
+CONFIG_MIPS_O32_ABI=y
+TARGET_ARCH="mips"
+TARGET_mips=y
+TARGET_SUBARCH="mips64"
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-0.9.33.2/mips64.64 b/toolchain/uClibc/config-0.9.33.2/mips64.64
new file mode 100644
index 000000000..7b66c2f78
--- /dev/null
+++ b/toolchain/uClibc/config-0.9.33.2/mips64.64
@@ -0,0 +1,18 @@
+ARCH_ANY_ENDIAN=y
+ARCH_BIG_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_WANTS_BIG_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+# CONFIG_MIPS_ISA_MIPS32 is not set
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+CONFIG_MIPS_ISA_MIPS64=y
+# CONFIG_MIPS_N32_ABI is not set
+CONFIG_MIPS_N64_ABI=y
+# CONFIG_MIPS_O32_ABI is not set
+TARGET_ARCH="mips"
+TARGET_mips=y
+TARGET_SUBARCH="mips64"
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-0.9.33.2/mips64.n32 b/toolchain/uClibc/config-0.9.33.2/mips64.n32
new file mode 100644
index 000000000..84a5de647
--- /dev/null
+++ b/toolchain/uClibc/config-0.9.33.2/mips64.n32
@@ -0,0 +1,18 @@
+ARCH_ANY_ENDIAN=y
+ARCH_BIG_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_WANTS_BIG_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+# CONFIG_MIPS_ISA_MIPS32 is not set
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+CONFIG_MIPS_ISA_MIPS64=y
+CONFIG_MIPS_N32_ABI=y
+# CONFIG_MIPS_N64_ABI is not set
+# CONFIG_MIPS_O32_ABI is not set
+TARGET_ARCH="mips"
+TARGET_mips=y
+TARGET_SUBARCH="mips64"
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-0.9.33.2/mips64el.32 b/toolchain/uClibc/config-0.9.33.2/mips64el.32
new file mode 100644
index 000000000..73b1f9f1b
--- /dev/null
+++ b/toolchain/uClibc/config-0.9.33.2/mips64el.32
@@ -0,0 +1,18 @@
+ARCH_ANY_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_LITTLE_ENDIAN=y
+ARCH_WANTS_LITTLE_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+# CONFIG_MIPS_ISA_MIPS32 is not set
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+CONFIG_MIPS_ISA_MIPS64=y
+# CONFIG_MIPS_N32_ABI is not set
+# CONFIG_MIPS_N64_ABI is not set
+CONFIG_MIPS_O32_ABI=y
+TARGET_ARCH="mips"
+TARGET_mips=y
+TARGET_SUBARCH="mips64"
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-0.9.33.2/mips64el.64 b/toolchain/uClibc/config-0.9.33.2/mips64el.64
new file mode 100644
index 000000000..790f21041
--- /dev/null
+++ b/toolchain/uClibc/config-0.9.33.2/mips64el.64
@@ -0,0 +1,18 @@
+ARCH_ANY_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_LITTLE_ENDIAN=y
+ARCH_WANTS_LITTLE_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+# CONFIG_MIPS_ISA_MIPS32 is not set
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+CONFIG_MIPS_ISA_MIPS64=y
+# CONFIG_MIPS_N32_ABI is not set
+CONFIG_MIPS_N64_ABI=y
+# CONFIG_MIPS_O32_ABI is not set
+TARGET_ARCH="mips"
+TARGET_mips=y
+TARGET_SUBARCH="mips64"
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-0.9.33.2/mips64el.n32 b/toolchain/uClibc/config-0.9.33.2/mips64el.n32
new file mode 100644
index 000000000..c2929bf70
--- /dev/null
+++ b/toolchain/uClibc/config-0.9.33.2/mips64el.n32
@@ -0,0 +1,18 @@
+ARCH_ANY_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_LITTLE_ENDIAN=y
+ARCH_WANTS_LITTLE_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+# CONFIG_MIPS_ISA_MIPS32 is not set
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+CONFIG_MIPS_ISA_MIPS64=y
+CONFIG_MIPS_N32_ABI=y
+# CONFIG_MIPS_N64_ABI is not set
+# CONFIG_MIPS_O32_ABI is not set
+TARGET_ARCH="mips"
+TARGET_mips=y
+TARGET_SUBARCH="mips64"
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch b/toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch
new file mode 100644
index 000000000..0895b8b4b
--- /dev/null
+++ b/toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch
@@ -0,0 +1,25 @@
+diff -Nur uClibc-0.9.33.2.orig/extra/Configs/Config.in uClibc-0.9.33.2/extra/Configs/Config.in
+--- uClibc-0.9.33.2.orig/extra/Configs/Config.in 2012-05-15 09:20:09.000000000 +0200
++++ uClibc-0.9.33.2/extra/Configs/Config.in 2012-10-01 12:17:14.000000000 +0200
+@@ -235,6 +235,9 @@
+ default "i486" if CONFIG_486
+ default "i586" if CONFIG_586 || CONFIG_586MMX
+ default "i686" if TARGET_ARCH = "i386"
++ default "mips" if CONFIG_MIPS_N32_ABI
++ default "mips" if CONFIG_MIPS_O32_ABI
++ default "mips64" if CONFIG_MIPS_N64_ABI
+ default ""
+
+ source "extra/Configs/Config.in.arch"
+diff -Nur uClibc-0.9.33.2.orig/Rules.mak uClibc-0.9.33.2/Rules.mak
+--- uClibc-0.9.33.2.orig/Rules.mak 2012-05-15 09:20:09.000000000 +0200
++++ uClibc-0.9.33.2/Rules.mak 2012-10-01 11:28:26.000000000 +0200
+@@ -118,7 +118,7 @@
+ LIBC := libc
+ SHARED_LIBNAME := $(LIBC).so.$(ABI_VERSION)
+ UBACKTRACE_DSO := libubacktrace.so.$(ABI_VERSION)
+-ifneq ($(findstring $(TARGET_ARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 ),)
++ifneq ($(strip $(findstring $(TARGET_SUBARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 )),)
+ UCLIBC_LDSO_NAME := ld64-uClibc
+ ARCH_NATIVE_BIT := 64
+ else