Index: uspace/lib/c/arch/mips32/_link.ld.in
===================================================================
--- uspace/lib/c/arch/mips32/_link.ld.in	(revision 9fb139781eb1d46cd1aac425d62ecabc7a14ff46)
+++ uspace/lib/c/arch/mips32/_link.ld.in	(revision 4235849899ba6e86972852e4cdb38e0cca35499e)
@@ -1,30 +1,21 @@
-#ifndef SHLIB
 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
 ENTRY(__entry)
-#endif
 
 PHDRS {
-#if defined(LOADER)
+#ifdef LOADER
 	interp PT_INTERP;
 	text PT_LOAD FILEHDR PHDRS FLAGS(5);
-#elif defined(DLEXE)
-	interp PT_INTERP;
-	text PT_LOAD FLAGS(5);
 #else
 	text PT_LOAD FLAGS(5);
 #endif
 	data PT_LOAD FLAGS(6);
-#if defined(SHLIB) || defined(DLEXE)
-	dynamic PT_DYNAMIC;
-#endif
 }
 
 SECTIONS {
-#if defined(LOADER) || defined(DLEXE)
+#ifdef LOADER
 	.interp : {
 		*(.interp);
 	} :interp
-#endif
-#ifdef LOADER
+	
 	. = 0x70004000 + SIZEOF_HEADERS;
 #else
@@ -40,35 +31,5 @@
 	} :text
 	
-#if defined(SHLIB) || defined(DLEXE)
-	.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
-	
-	.dynsym : {
-		*(.dynsym);
-	} :text
-	
-	.dynstr : {
-		*(.dynstr);
-	} :text
-#endif
 	. = . + 0x4000;
-	
-#if defined(SHLIB) || defined(DLEXE)
-	.dynamic : {
-		*(.dynamic);
-	} :data :dynamic
-#endif
 	
 	.data : {
@@ -82,5 +43,4 @@
 	} :data
 	
-#ifndef DLEXE
 	.tdata : {
 		_tdata_start = .;
@@ -96,5 +56,5 @@
 	
 	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
-#endif
+	
 	.sbss : {
 		*(.scommon);
@@ -107,13 +67,6 @@
 	} :data
 	
-#if defined(SHLIB)
-#elif defined(DLEXE)
-	/DISCARD/ : {
-		*(.comment);
-	}
-#else
 	/DISCARD/ : {
 		*(*);
 	}
-#endif
 }
Index: uspace/lib/c/arch/ppc32/_link.ld.in
===================================================================
--- uspace/lib/c/arch/ppc32/_link.ld.in	(revision 9fb139781eb1d46cd1aac425d62ecabc7a14ff46)
+++ uspace/lib/c/arch/ppc32/_link.ld.in	(revision 4235849899ba6e86972852e4cdb38e0cca35499e)
@@ -1,30 +1,21 @@
-#ifndef SHLIB
 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
 ENTRY(__entry)
-#endif
 
 PHDRS {
-#if defined(LOADER)
+#ifdef LOADER
 	interp PT_INTERP;
 	text PT_LOAD FILEHDR PHDRS FLAGS(5);
-#elif defined(DLEXE)
-	interp PT_INTERP;
-	text PT_LOAD FLAGS(5);
 #else
 	text PT_LOAD FLAGS(5);
 #endif
 	data PT_LOAD FLAGS(6);
-#if defined(SHLIB) || defined(DLEXE)
-	dynamic PT_DYNAMIC;
-#endif
 }
 
 SECTIONS {
-#if defined(LOADER) || defined(DLEXE)
+#ifdef LOADER
 	.interp : {
 		*(.interp);
 	} :interp
-#endif
-#ifdef LOADER
+	
 	. = 0x70001000 + SIZEOF_HEADERS;
 #else
@@ -40,35 +31,5 @@
 	} :text
 	
-#if defined(SHLIB) || defined(DLEXE)
-	.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
-	
-	.dynsym : {
-		*(.dynsym);
-	} :text
-	
-	.dynstr : {
-		*(.dynstr);
-	} :text
-#endif
 	. = . + 0x1000;
-	
-#if defined(SHLIB) || defined(DLEXE)
-	.dynamic : {
-		*(.dynamic);
-	} :data :dynamic
-#endif
 	
 	.data : {
@@ -77,18 +38,4 @@
 	} :data
 	
-#if defined(SHLIB) || defined(DLEXE)
-	.data.rel : {
-                *(.data.rel);
-	} :data
-	
-	.got : {
-                *(.got);
-	} :data
-	.got.plt : {
-                *(.got.plt);
-	} :data
-#endif
-	
-#ifndef DLEXE
 	.tdata : {
 		_tdata_start = .;
@@ -101,5 +48,4 @@
 	
 	_tls_alignment = ALIGNOF(.tdata);
-#endif
 	
 	.bss : {
@@ -109,13 +55,6 @@
 	} :data
 	
-#if defined(SHLIB)
-#elif defined(DLEXE)
-	/DISCARD/ : {
-		*(.comment);
-	}
-#else
 	/DISCARD/ : {
 		*(*);
 	}
-#endif
 }
