Index: uspace/lib/posix/Makefile
===================================================================
--- uspace/lib/posix/Makefile	(revision 3bacee1839e6f355100ab4ea86bb211e9ecf19ed)
+++ uspace/lib/posix/Makefile	(revision ba3841e2205573d1765f66063c5b9a19768de9b2)
@@ -35,14 +35,4 @@
 INCLUDE_LIBC = ./include/libc
 
-LIBC_FILE = $(LIBC_PREFIX)/libc.a
-
-FIXED_C_LIBRARY = libc4posix.a
-MERGED_C_LIBRARY = libc.a
-MERGE_LIBRARIES = \
-	$(FIXED_C_LIBRARY) \
-	$(LIBRARY).a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a \
-	$(LIBSOFTINT_PREFIX)/libsoftint.a
-
 SPECS = gcc.specs
 LIBC_LINKER_SCRIPT = $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld
@@ -54,18 +44,16 @@
 	../math/libmath.a \
 	../clui/libclui.a \
-	$(MERGED_C_LIBRARY) \
+	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a \
+	$(LIBSOFTINT_PREFIX)/libsoftint.a \
+	$(LIBC_PREFIX)/libc.a \
+	$(LIBRARY).a \
 	$(EXPORT_STARTUP_FILE) \
 	$(EXPORT_LINKER_SCRIPT) \
 	$(SPECS)
 
-REDEFS_HIDE_LIBC = redefs-hide-libc-symbols.list
+PRE_DEPEND = $(INCLUDE_LIBC)
+EXTRA_CLEAN = $(INCLUDE_LIBC)
 
-PRE_DEPEND = $(INCLUDE_LIBC)
-EXTRA_CLEAN = \
-	$(INCLUDE_LIBC) \
-	$(REDEFS_HIDE_LIBC) \
-	libc.o
-
-EXTRA_OUTPUT = $(FIXED_C_LIBRARY) $(FIXED_POSIX_LIBRARY) $(MERGED_C_LIBRARY) $(SPECS) $(EXPORT_LINKER_SCRIPT) $(EXPORT_STARTUP_FILE)
+EXTRA_OUTPUT = $(SPECS) $(EXPORT_LINKER_SCRIPT) $(EXPORT_STARTUP_FILE)
 
 SOURCES = \
@@ -106,5 +94,5 @@
 
 EXPORT_LDLIBS = \
-	-lmath -lc
+	--start-group -lposix -lmath -lc -lsoftfloat -lsoftint --end-group
 
 EXPORT_CFLAGS = \
@@ -179,12 +167,2 @@
 	rm -rf $(EXPORT_DIR)/include
 	mv $(EXPORT_DIR)/include.new $(EXPORT_DIR)/include
-
-$(FIXED_C_LIBRARY): $(LIBC_FILE) $(REDEFS_HIDE_LIBC)
-	$(OBJCOPY) --redefine-syms=$(REDEFS_HIDE_LIBC) $(LIBC_FILE) $@
-
-$(MERGED_C_LIBRARY): $(MERGE_LIBRARIES)
-	$(LD) --fatal-warnings -r -o libc.o --whole-archive $(MERGE_LIBRARIES) --no-whole-archive
-	$(AR) rc $@ libc.o
-
-$(REDEFS_HIDE_LIBC): $(SOURCES)
-	sed -n -e 's/_HIDE_LIBC_SYMBOL(\(.*\));/\1 __helenos_libc_\1/p' $(SOURCES) >$@
Index: uspace/lib/posix/src/dlfcn.c
===================================================================
--- uspace/lib/posix/src/dlfcn.c	(revision 3bacee1839e6f355100ab4ea86bb211e9ecf19ed)
+++ uspace/lib/posix/src/dlfcn.c	(revision ba3841e2205573d1765f66063c5b9a19768de9b2)
@@ -34,16 +34,4 @@
 #include "posix/dlfcn.h"
 
-_HIDE_LIBC_SYMBOL(dlopen);
-extern void *__helenos_libc_dlopen(const char *filename, int flags);
-
-void *dlopen(const char *filename, int flags)
-{
-	if (flags != 0) {
-		fprintf(stderr, "dlopen() not implemented with non-zero flags (%s:%d), something will NOT work.\n", __FILE__, __LINE__);
-	}
-
-	return __helenos_libc_dlopen(filename, 0);
-}
-
 int dlclose(void *handle)
 {
