diff --git a/include/target.mk b/include/target.mk
index 0f3145df593afe76409d1abd74d287db89b1ac78..eca218e0b370ee9649fae694be90fa57a8a5786c 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -232,8 +232,8 @@ ifeq ($(DUMP),1)
     CPU_CFLAGS_mpcore = -march=armv6k -mtune=mpcore
     CPU_CFLAGS_xscale = -march=armv5te -mtune=xscale
     ifneq ($(CONFIG_SOFT_FLOAT),)
-      CPU_CFLAGS_vfp = -mfpu=vfp -mfloat-abi=softfp
-      CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16 -mfloat-abi=softfp
+      CPU_CFLAGS_vfp = -mfpu=vfp
+      CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16
     endif
   endif
   ifeq ($(ARCH),powerpc)
diff --git a/package/boot/uboot-omap/Makefile b/package/boot/uboot-omap/Makefile
index 45d32bd3c3a446328db84bc6cc2d83a34f0bb32e..96168a30d08c088720e3548f4d0c700244e36a06 100644
--- a/package/boot/uboot-omap/Makefile
+++ b/package/boot/uboot-omap/Makefile
@@ -71,7 +71,7 @@ endif
 
 define Build/Configure
 	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(UBOOT_CONFIG)_config
+		USE_PRIVATE_LIBGCC=yes $(UBOOT_CONFIG)_config
 endef
 
 define Build/Compile
diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile
index da729dd9696d4e38f51096f72929a7e21f92e11e..2041ffc4be1405397d49b083430ae854a002affe 100644
--- a/package/boot/uboot-sunxi/Makefile
+++ b/package/boot/uboot-sunxi/Makefile
@@ -73,7 +73,7 @@ endif
 
 define Build/Configure
 	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(UBOOT_CONFIG)_config
+		USE_PRIVATE_LIBGCC=yes $(UBOOT_CONFIG)_config
 endef
 
 define Build/Compile
diff --git a/rules.mk b/rules.mk
index 80e07d11a20597d91ddb62d218350a61d87858db..47ba928de59e0fa366feca8d9fefca38f47dd3ac 100644
--- a/rules.mk
+++ b/rules.mk
@@ -168,9 +168,16 @@ TARGET_PATH_PKG:=$(STAGING_DIR)/host/bin:$(TARGET_PATH)
 
 ifeq ($(CONFIG_SOFT_FLOAT),y)
   SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft
-  TARGET_CFLAGS+= -msoft-float
+  ifeq ($(CONFIG_arm),y)
+    TARGET_CFLAGS+= -mfloat-abi=soft
+  else
+    TARGET_CFLAGS+= -msoft-float
+  endif
 else
   SOFT_FLOAT_CONFIG_OPTION:=
+  ifeq ($(CONFIG_arm),y)
+    TARGET_CFLAGS+= -mfloat-abi=hard
+  endif
 endif
 
 export PATH:=$(TARGET_PATH)