Index: uspace/lib/c/Makefile
===================================================================
--- uspace/lib/c/Makefile	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ uspace/lib/c/Makefile	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -46,4 +46,7 @@
 EXTRA_CLEAN = $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(INCLUDE_RTLDARCH) $(COMMON_HEADER_ARCH) $(LINKER_SCRIPT)
 LIBRARY = libc
+SLIBRARY = libc.so.0.0
+LSONAME = libc.so.0
+
 
 -include $(COMMON_MAKEFILE)
Index: uspace/lib/c/libc.so.0
===================================================================
--- uspace/lib/c/libc.so.0	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/c/libc.so.0	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,1 @@
+libc.so.0.0
Index: uspace/lib/libtest/Makefile
===================================================================
--- uspace/lib/libtest/Makefile	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ 	(revision )
@@ -1,37 +1,0 @@
-#
-# Copyright (c) 2011 Jiri Svoboda
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-#   notice, this list of conditions and the following disclaimer.
-# - Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in the
-#   documentation and/or other materials provided with the distribution.
-# - The name of the author may not be used to endorse or promote products
-#   derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-USPACE_PREFIX = ../..
-LIBRARY = libtest
-SLIBRARY = libtest.so.0.0
-LSONAME = libtest.so.0
-
-SOURCES = \
-	libtest.c
-
-include $(USPACE_PREFIX)/Makefile.common
Index: uspace/lib/libtest/arch/ia32/_link.ld.in
===================================================================
--- uspace/lib/libtest/arch/ia32/_link.ld.in	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ 	(revision )
@@ -1,85 +1,0 @@
-ENTRY(__entry)
-
-PHDRS {
-        text PT_LOAD FLAGS(5);
-	interp PT_INTERP;
-	data PT_LOAD FLAGS(6);
-	dynamic PT_DYNAMIC;
-}
-
-SECTIONS {
-	. = 0x1000 + SIZEOF_HEADERS;
-
-	.init : {
-		*(.init);
-	} :text
-	.text : {
-		*(.text);
-		*(.text.*);
-		*(.rodata*);
-	} :text
-
-	.rel.plt : {
-		*(.rel.plt);
-	}
-	/* 
-	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
-	 * without alignment gap or DT_REL will be broken
-	 */
-	.rel.dyn : {
-		*(.rel.*);
-	} :text
-
-	.plt : {
-		*(.plt);
-	} :text
-
-	.dynamic : {
-		*(.dynamic);
-	} :text :dynamic
-
-	.dynsym : {
-		*(.dynsym);
-	} :text
-
-	.dynstr : {
-		*(.dynstr);
-	} :text
-
-	. = . + 0x1000;
-
-	.data : {
-		*(.data);
-	} :data
-
-	.data.rel : {
-                *(.data.rel);
-	} :data
-
-	.got : {
-                *(.got);
-	} :data
-	.got.plt : {
-                *(.got.plt);
-	} :data
-
-	.bss : {
-                *(COMMON);
-                *(.bss);
-	} :data
-/*
-	.tdata : {
-		_tdata_start = .;
-		*(.tdata);
-		_tdata_end = .;
-	} :data
-	.tbss : {
-		_tbss_start = .;
-		*(.tbss);
-		_tbss_end = .;
-	} :data
-	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
-*/	
-	. = ALIGN(0x1000);
-	_heap = .;
-}
Index: uspace/lib/libtest/arch/mips32/_link.ld.in
===================================================================
--- uspace/lib/libtest/arch/mips32/_link.ld.in	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ 	(revision )
@@ -1,91 +1,0 @@
-ENTRY(__entry)
-
-PHDRS {
-	text PT_LOAD FLAGS(5);
-	data PT_LOAD FLAGS(6);
-	dynamic PT_DYNAMIC;
-}
-
-SECTIONS {
-	. = 0x4000 + SIZEOF_HEADERS;
-	
-	.init : {
-		*(.init);
-	} :text
-	.text : {
-	        *(.text);
-		*(.rodata*);
-		*(.MIPS.stubs);
-	} :text
-
-	.rel.plt : {
-		*(.rel.plt);
-	}
-	/* 
-	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
-	 * without alignment gap or DT_REL will be broken
-	 */
-	.rel.dyn : {
-		*(.rel.*);
-	} :text
-
-	.plt : {
-		*(.plt);
-	} :text
-
-	.hash : {
-		*(.hash);
-	} :text
-
-	.dynsym : {
-		*(.dynsym);
-	} :text
-
-	.dynstr : {
-		*(.dynstr);
-	} :text
-
-	.dynamic : {
-		*(.dynamic);
-	} :text :dynamic
-
-	. = . + 0x4000;
-
-	.data : {
-		*(.data);
-		*(.data.rel*);
-	} :data
-
-	.got : {
-		_gp = .;
-		*(.got);
-	} :data
-/*
-	.tdata : {
-		_tdata_start = .;
-		*(.tdata);
-		_tdata_end = .;
-	} :data
-	.tbss : {
-		_tbss_start = .;
-		*(.tbss);
-		_tbss_end = .;
-	} :data
-	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
-*/
-	.sbss : {
-		*(.scommon);
-		*(.sbss);
-	}
-	.bss : {
-		*(.bss);
-		*(COMMON);
-	} :data
-
-	. = ALIGN(0x4000);
-	_heap = .;
-
-	/DISCARD/ : {
-		*(*);
-	}
-}
Index: uspace/lib/libtest/arch/ppc32/_link.ld.in
===================================================================
--- uspace/lib/libtest/arch/ppc32/_link.ld.in	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ 	(revision )
@@ -1,85 +1,0 @@
-ENTRY(__entry)
-
-PHDRS {
-	text PT_LOAD FLAGS(5);
-	data PT_LOAD FLAGS(6);
-	dynamic PT_DYNAMIC;
-}
-
-SECTIONS {
-	. = 0x1000 + SIZEOF_HEADERS;
-
-	.init : {
-		*(.init);
-	} :text
-	.text : {
-		*(.text);
-		*(.text.*);
-		*(.rodata*);
-	} :text
-
-	.rel.plt : {
-		*(.rel.plt);
-	}
-	/* 
-	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
-	 * without alignment gap or DT_REL will be broken
-	 */
-	.rel.dyn : {
-		*(.rel.*);
-	} :text
-
-	.dynsym : {
-		*(.dynsym);
-	} :text
-
-	.dynstr : {
-		*(.dynstr);
-	} :text
-
-	. = . + 0x1000;
-
-	.dynamic : {
-		*(.dynamic);
-	} :data :dynamic
-
-	.data : {
-		*(.data);
-		*(.sdata);
-	} :data
-
-	.data.rel : {
-                *(.data.rel);
-	} :data
-
-	.got : {
-                *(.got);
-	} :data
-	.got.plt : {
-                *(.got.plt);
-	} :data
-/*
-	.tdata : {
-		_tdata_start = .;
-		*(.tdata);
-		_tdata_end = .;
-	} :data
-	.tbss : {
-		_tbss_start = .;
-		*(.tbss);
-		_tbss_end = .;
-	} :data
-	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
-	.bss : {
-		*(.sbss);
-		*(COMMON);
-		*(.bss);
-	} :data
-*/
-	.plt : {
-		*(.plt);
-	} :data
-
-	. = ALIGN(0x1000);
-	_heap = .;
-}
Index: uspace/lib/libtest/libtest.c
===================================================================
--- uspace/lib/libtest/libtest.c	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ 	(revision )
@@ -1,71 +1,0 @@
-/*
- * Copyright (c) 2008 Jiri Svoboda
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup rtld
- * @brief
- * @{
- */ 
-/**
- * @file
- */
-
-//#include <stdio.h>
-#include "libtest.h"
-
-//static void kputint(unsigned i)
-//{
-//	unsigned dummy;
-//	asm volatile (
-//		"movl $30, %%eax;"
-//		"int $0x30"
-//		: "=d" (dummy) /* output - %edx clobbered */
-//		: "d" (i) /* input */
-//		: "%eax","%ecx" /* all scratch registers clobbered */
-//	);
-//}
-
-int number = 137;
-
-int test_fun2(void);
-
-int test_fun2(void)
-{
-	return number;
-}
-
-int test_func(void)
-{
-//	printf("Hello, this is 'test_func()' in libtest.so!\n");
-//	kputint(42);
-//	return 42;
-//	while(1);
-	return test_fun2();
-}
-
-/** @}
- */
Index: uspace/lib/libtest/libtest.h
===================================================================
--- uspace/lib/libtest/libtest.h	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ 	(revision )
@@ -1,43 +1,0 @@
-/*
- * Copyright (c) 2008 Jiri Svoboda
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup generic	
- * @{
- */
-/** @file
- */
-
-#ifndef LIBTEST_H_
-#define LIBTEST_H_
-
-int test_func(void);
-
-#endif
-
-/** @}
- */
Index: uspace/lib/libtest/libtest.so.0
===================================================================
--- uspace/lib/libtest/libtest.so.0	(revision 143932e3a9d37d4998aa5822d860d8d530159300)
+++ 	(revision )
@@ -1,1 +1,0 @@
-libtest.so.0.0
Index: uspace/lib/test/Makefile
===================================================================
--- uspace/lib/test/Makefile	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/test/Makefile	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2011 Jiri Svoboda
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# - The name of the author may not be used to endorse or promote products
+#   derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+USPACE_PREFIX = ../..
+LIBRARY = libtest
+SLIBRARY = libtest.so.0.0
+LSONAME = libtest.so.0
+
+SOURCES = \
+	libtest.c
+
+include $(USPACE_PREFIX)/Makefile.common
Index: uspace/lib/test/arch/ia32/_link.ld.in
===================================================================
--- uspace/lib/test/arch/ia32/_link.ld.in	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/test/arch/ia32/_link.ld.in	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,85 @@
+ENTRY(__entry)
+
+PHDRS {
+        text PT_LOAD FLAGS(5);
+	interp PT_INTERP;
+	data PT_LOAD FLAGS(6);
+	dynamic PT_DYNAMIC;
+}
+
+SECTIONS {
+	. = 0x1000 + SIZEOF_HEADERS;
+
+	.init : {
+		*(.init);
+	} :text
+	.text : {
+		*(.text);
+		*(.text.*);
+		*(.rodata*);
+	} :text
+
+	.rel.plt : {
+		*(.rel.plt);
+	}
+	/* 
+	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
+	 * without alignment gap or DT_REL will be broken
+	 */
+	.rel.dyn : {
+		*(.rel.*);
+	} :text
+
+	.plt : {
+		*(.plt);
+	} :text
+
+	.dynamic : {
+		*(.dynamic);
+	} :text :dynamic
+
+	.dynsym : {
+		*(.dynsym);
+	} :text
+
+	.dynstr : {
+		*(.dynstr);
+	} :text
+
+	. = . + 0x1000;
+
+	.data : {
+		*(.data);
+	} :data
+
+	.data.rel : {
+                *(.data.rel);
+	} :data
+
+	.got : {
+                *(.got);
+	} :data
+	.got.plt : {
+                *(.got.plt);
+	} :data
+
+	.bss : {
+                *(COMMON);
+                *(.bss);
+	} :data
+/*
+	.tdata : {
+		_tdata_start = .;
+		*(.tdata);
+		_tdata_end = .;
+	} :data
+	.tbss : {
+		_tbss_start = .;
+		*(.tbss);
+		_tbss_end = .;
+	} :data
+	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
+*/	
+	. = ALIGN(0x1000);
+	_heap = .;
+}
Index: uspace/lib/test/arch/mips32/_link.ld.in
===================================================================
--- uspace/lib/test/arch/mips32/_link.ld.in	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/test/arch/mips32/_link.ld.in	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,91 @@
+ENTRY(__entry)
+
+PHDRS {
+	text PT_LOAD FLAGS(5);
+	data PT_LOAD FLAGS(6);
+	dynamic PT_DYNAMIC;
+}
+
+SECTIONS {
+	. = 0x4000 + SIZEOF_HEADERS;
+	
+	.init : {
+		*(.init);
+	} :text
+	.text : {
+	        *(.text);
+		*(.rodata*);
+		*(.MIPS.stubs);
+	} :text
+
+	.rel.plt : {
+		*(.rel.plt);
+	}
+	/* 
+	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
+	 * without alignment gap or DT_REL will be broken
+	 */
+	.rel.dyn : {
+		*(.rel.*);
+	} :text
+
+	.plt : {
+		*(.plt);
+	} :text
+
+	.hash : {
+		*(.hash);
+	} :text
+
+	.dynsym : {
+		*(.dynsym);
+	} :text
+
+	.dynstr : {
+		*(.dynstr);
+	} :text
+
+	.dynamic : {
+		*(.dynamic);
+	} :text :dynamic
+
+	. = . + 0x4000;
+
+	.data : {
+		*(.data);
+		*(.data.rel*);
+	} :data
+
+	.got : {
+		_gp = .;
+		*(.got);
+	} :data
+/*
+	.tdata : {
+		_tdata_start = .;
+		*(.tdata);
+		_tdata_end = .;
+	} :data
+	.tbss : {
+		_tbss_start = .;
+		*(.tbss);
+		_tbss_end = .;
+	} :data
+	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
+*/
+	.sbss : {
+		*(.scommon);
+		*(.sbss);
+	}
+	.bss : {
+		*(.bss);
+		*(COMMON);
+	} :data
+
+	. = ALIGN(0x4000);
+	_heap = .;
+
+	/DISCARD/ : {
+		*(*);
+	}
+}
Index: uspace/lib/test/arch/ppc32/_link.ld.in
===================================================================
--- uspace/lib/test/arch/ppc32/_link.ld.in	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/test/arch/ppc32/_link.ld.in	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,85 @@
+ENTRY(__entry)
+
+PHDRS {
+	text PT_LOAD FLAGS(5);
+	data PT_LOAD FLAGS(6);
+	dynamic PT_DYNAMIC;
+}
+
+SECTIONS {
+	. = 0x1000 + SIZEOF_HEADERS;
+
+	.init : {
+		*(.init);
+	} :text
+	.text : {
+		*(.text);
+		*(.text.*);
+		*(.rodata*);
+	} :text
+
+	.rel.plt : {
+		*(.rel.plt);
+	}
+	/* 
+	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
+	 * without alignment gap or DT_REL will be broken
+	 */
+	.rel.dyn : {
+		*(.rel.*);
+	} :text
+
+	.dynsym : {
+		*(.dynsym);
+	} :text
+
+	.dynstr : {
+		*(.dynstr);
+	} :text
+
+	. = . + 0x1000;
+
+	.dynamic : {
+		*(.dynamic);
+	} :data :dynamic
+
+	.data : {
+		*(.data);
+		*(.sdata);
+	} :data
+
+	.data.rel : {
+                *(.data.rel);
+	} :data
+
+	.got : {
+                *(.got);
+	} :data
+	.got.plt : {
+                *(.got.plt);
+	} :data
+/*
+	.tdata : {
+		_tdata_start = .;
+		*(.tdata);
+		_tdata_end = .;
+	} :data
+	.tbss : {
+		_tbss_start = .;
+		*(.tbss);
+		_tbss_end = .;
+	} :data
+	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
+	.bss : {
+		*(.sbss);
+		*(COMMON);
+		*(.bss);
+	} :data
+*/
+	.plt : {
+		*(.plt);
+	} :data
+
+	. = ALIGN(0x1000);
+	_heap = .;
+}
Index: uspace/lib/test/libtest.c
===================================================================
--- uspace/lib/test/libtest.c	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/test/libtest.c	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2008 Jiri Svoboda
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup rtld
+ * @brief
+ * @{
+ */ 
+/**
+ * @file
+ */
+
+//#include <stdio.h>
+#include "libtest.h"
+
+//static void kputint(unsigned i)
+//{
+//	unsigned dummy;
+//	asm volatile (
+//		"movl $30, %%eax;"
+//		"int $0x30"
+//		: "=d" (dummy) /* output - %edx clobbered */
+//		: "d" (i) /* input */
+//		: "%eax","%ecx" /* all scratch registers clobbered */
+//	);
+//}
+
+int number = 137;
+
+int test_fun2(void);
+
+int test_fun2(void)
+{
+	return number;
+}
+
+int test_func(void)
+{
+//	printf("Hello, this is 'test_func()' in libtest.so!\n");
+//	kputint(42);
+//	return 42;
+//	while(1);
+	return test_fun2();
+}
+
+/** @}
+ */
Index: uspace/lib/test/libtest.h
===================================================================
--- uspace/lib/test/libtest.h	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/test/libtest.h	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2008 Jiri Svoboda
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup generic	
+ * @{
+ */
+/** @file
+ */
+
+#ifndef LIBTEST_H_
+#define LIBTEST_H_
+
+int test_func(void);
+
+#endif
+
+/** @}
+ */
Index: uspace/lib/test/libtest.so.0
===================================================================
--- uspace/lib/test/libtest.so.0	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
+++ uspace/lib/test/libtest.so.0	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -0,0 +1,1 @@
+libtest.so.0.0
