Index: uspace/srv/Makefile.common
===================================================================
--- uspace/srv/Makefile.common	(revision ccb785b25d3f7a19fad367fc966f5de46b1ef4ab)
+++ uspace/srv/Makefile.common	(revision 8416d463d2cdec1889f4d2b04c2a701b948130de)
@@ -50,4 +50,6 @@
 SOFTINT_PREFIX = $(USPACE_PREFIX)/lib/softint
 
+LINK_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld
+
 JOB = $(OUTPUT).job
 
@@ -67,9 +69,10 @@
     $(LIBS) \
     \
-    $(OUTPUT) $(OUTPUT).disasm
+    $(OUTPUT) $(OUTPUT).disasm \
+    $(EXTRA_OUTPUT)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm $(EXTRA_OUTPUT)
 	find . -name '*.o' -follow -exec rm \{\} \;
 
@@ -82,5 +85,5 @@
 
 $(OUTPUT): $(OBJECTS) $(LIBS)
-	$(LD) -T $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld $(OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map
+	$(LD) -T $(LINK_SCRIPT) $(OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map
 
 %.o: %.c $(DEPEND)
Index: uspace/srv/loader/Makefile
===================================================================
--- uspace/srv/loader/Makefile	(revision ccb785b25d3f7a19fad367fc966f5de46b1ef4ab)
+++ uspace/srv/loader/Makefile	(revision 8416d463d2cdec1889f4d2b04c2a701b948130de)
@@ -34,6 +34,8 @@
 LIBS = $(LIBC_PREFIX)/libc.a
 EXTRA_CFLAGS += -Iinclude
+LINK_SCRIPT = arch/$(UARCH)/_link.ld
 
 OUTPUT = loader
+EXTRA_OUTPUT = $(LINK_SCRIPT)
 
 GENERIC_SOURCES = \
@@ -46,2 +48,5 @@
 
 include ../Makefile.common
+
+$(LINK_SCRIPT): $(LINK_SCRIPT).in
+	$(GCC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
