diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 346971c6589ca6b8a0d47ef70e0ff8b93b3461f4..e9598d81776083b96ae9e47008c54d8865b13453 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -176,6 +176,7 @@ define Stage1/Install
 	# XXX: glibc insists on linking against libgcc_eh
 	( cd $(TOOLCHAIN_DIR)/usr/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) ; \
 		[ -e libgcc_eh.a ] || ln -sf libgcc.a libgcc_eh.a ; \
+		cp libgcc.a libgcc_initial.a; \
 	)
 endef
 
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index e8407fb9c59358686923d31abf7deb4f2a8fc5fc..b55796b40f15128800e8718f79118e8dff6041f2 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -88,12 +88,13 @@ endef
 define Host/Configure
 endef
 
-UCLIBC_MAKE := PATH=$(TARGET_PATH) $(MAKE) -C $(HOST_BUILD_DIR) \
+UCLIBC_MAKE = PATH=$(TARGET_PATH) $(MAKE) -C $(HOST_BUILD_DIR) \
 	$(TARGET_CONFIGURE_OPTS) \
 	DEVEL_PREFIX=/usr/ \
 	RUNTIME_PREFIX=/ \
 	HOSTCC="$(HOSTCC)" \
 	CPU_CFLAGS="$(TARGET_CFLAGS)" \
+	LIBGCC="$(subst libgcc.a,libgcc_initial.a,$(shell $(TARGET_CC) -print-libgcc-file-name))" \
 	DOSTRIP=""
 
 define Host/Compile