diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index 01fae9836ca66a663ba5cb5cae2d247faad7faf8..35ffbf874b7ebb3036ebff3c5c7e26da2967fe17 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -110,10 +110,6 @@ GCC_CONFIGURE:= \
 		$(SOFT_FLOAT_CONFIG_OPTION) \
 		$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
 		$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 --with-abi=64) \
-		$(if $(CONFIG_sparc),--with-long-double-128) \
-
-GCC_BUILD_TARGET_LIBGCC:=y
-GCC_CONFIGURE+= \
 		--with-gmp=$(TOPDIR)/staging_dir/host \
 		--with-mpfr=$(TOPDIR)/staging_dir/host \
 		--disable-decimal-float
@@ -121,7 +117,7 @@ ifneq ($(CONFIG_mips)$(CONFIG_mipsel),)
   GCC_CONFIGURE += --with-mips-plt
 endif
 
-ifneq ($(CONFIG_GCC_VERSION_4_5)$(CONFIG_GCC_VERSION_4_6)$(CONFIG_GCC_VERSION_4_7),)
+ifeq ($(CONFIG_GCC_VERSION_4_4),)
   GCC_CONFIGURE+= \
 		--with-mpc=$(TOPDIR)/staging_dir/host
 endif
@@ -141,7 +137,9 @@ ifneq ($(CONFIG_EXTRA_TARGET_ARCH),)
 endif
 
 ifdef CONFIG_sparc
-  GCC_CONFIGURE+= --enable-targets=all
+  GCC_CONFIGURE+= \
+		--enable-targets=all \
+		--with-long-double-128
 endif
 
 ifeq ($(LIBC),uClibc)
diff --git a/toolchain/gcc/initial/Makefile b/toolchain/gcc/initial/Makefile
index d1481e0a3605806ff036d1a522e6c6d09cd0ba82..f0c65b528c8d313fd7b881b3e0038f9efa64845a 100644
--- a/toolchain/gcc/initial/Makefile
+++ b/toolchain/gcc/initial/Makefile
@@ -14,14 +14,14 @@ define Host/Compile
 	+$(GCC_MAKE) $(HOST_JOBS) -C $(GCC_BUILD_DIR) \
 		all-build-libiberty \
 		all-gcc \
-		$(if $(GCC_BUILD_TARGET_LIBGCC),all-target-libgcc)
+		all-target-libgcc
 endef
 
 define Host/Install
 	$(GCC_MAKE) -C $(GCC_BUILD_DIR) \
 		prefix="$(TOOLCHAIN_DIR)/initial" \
 		install-gcc \
-		$(if $(GCC_BUILD_TARGET_LIBGCC),install-target-libgcc)
+		install-target-libgcc
 
 	# XXX: glibc insists on linking against libgcc_eh
 	( cd $(TOOLCHAIN_DIR)/initial/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) ; \