From: Florian Fainelli Date: Fri, 5 Apr 2013 12:36:00 +0000 (+0000) Subject: toolchain/uClibc: Disable mips16 for uClibc for now X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=750115a65c4f4aab1818ae01a841c04ba589dc1d;p=openwrt%2Fstaging%2Fldir.git toolchain/uClibc: Disable mips16 for uClibc for now For now, build uclibc without -mips16. There's no mips16 syscall support AFAIK and uclibc uses inline assembly syscalls a lot. In addition, touching errno means touching a TLS model symbol, and that's not supported in gcc 4.6. The __set_errno macro can be put back to calling errno_location(). This allows much of the library to be built in mips16 mode. I don't understand the implications to the thread library of doing this. A list of "build as -mno-mips16" C source files can be placed in the mips architecture-dependent build files. Maintaining the list would be no fun. Signed-off-by: Jay Carlson Signed-off-by: Florian Fainelli SVN-Revision: 36199 --- diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk index f32ed98729..e84c02a162 100644 --- a/toolchain/uClibc/common.mk +++ b/toolchain/uClibc/common.mk @@ -44,6 +44,8 @@ GEN_CONFIG=$(SCRIPT_DIR)/kconfig.pl -n \ $(if $(wildcard $(CONFIG_DIR)/$(ARCH).$(BOARD)),.$(BOARD), \ $(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 \ --std=gnu99 -ffunction-sections -fdata-sections \