Index: uspace/lib/posix/Makefile
===================================================================
--- uspace/lib/posix/Makefile	(revision 0d0b3197a149bb5e5c53d21136df5b8c283cdc4a)
+++ uspace/lib/posix/Makefile	(revision fd68aaf3636e194222daa9ce0563380a930af2f2)
@@ -46,4 +46,10 @@
 	$(LIBSOFTINT_PREFIX)/libsoftint.a
 
+SPECS = gcc.specs
+LINKER_SCRIPT = link.ld
+STARTUP_FILE = crt0.o
+LIBC_LINKER_SCRIPT = $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld
+LIBC_STARTUP_FILE = $(LIBC_PREFIX)/arch/$(UARCH)/src/entry.o
+
 REDEFS_HIDE_LIBC = redefs-hide-libc-symbols.list
 REDEFS_SHOW_LIBPOSIX = redefs-show-posix-symbols.list
@@ -58,5 +64,5 @@
 	libc.o
 
-EXTRA_OUTPUT = $(FIXED_C_LIBRARY) $(FIXED_POSIX_LIBRARY) $(MERGED_C_LIBRARY)
+EXTRA_OUTPUT = $(FIXED_C_LIBRARY) $(FIXED_POSIX_LIBRARY) $(MERGED_C_LIBRARY) $(SPECS) $(LINKER_SCRIPT) $(STARTUP_FILE)
 
 SOURCES = \
@@ -92,4 +98,19 @@
 include $(USPACE_PREFIX)/Makefile.common
 
+$(SPECS): $(CONFIG_MAKEFILE)
+	echo '*self_spec:' > $@.new
+	echo '+ $(COMMON_CFLAGS)' >> $@.new
+	echo >> $@.new
+	echo '*lib:' >> $@.new
+	echo '--whole-archive -lc -lm --no-whole-archive' >> $@.new
+	echo >> $@.new
+	mv $@.new $@
+
+$(LINKER_SCRIPT): $(LIBC_LINKER_SCRIPT)
+	cp $< $@
+
+$(STARTUP_FILE): $(LIBC_STARTUP_FILE)
+	cp $< $@
+
 $(INCLUDE_LIBC): ../c/include
 	ln -s -f -n ../$^ $@
