summaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-04-05 12:36:00 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-04-05 12:36:00 +0000
commit844db21b95e8ae95ef4244ff8de2d4cd85450598 (patch)
treed9d5c65b249950316c61f880bb31e505b8d1d188 /toolchain
parent65eb3b951b9cad83e142f30b3aead9fca973cdb8 (diff)
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 <nop@nop.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36199 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/uClibc/common.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk
index f32ed9872..e84c02a16 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 \