Index: uspace/lib/c/arch/arm32/_link.ld.in
===================================================================
--- uspace/lib/c/arch/arm32/_link.ld.in	(revision c2c4127e98d81c1d3c0bee95147d80082f1b7e66)
+++ uspace/lib/c/arch/arm32/_link.ld.in	(revision 2eadda9562ba40a94f02c6d055a17a045521838d)
@@ -55,15 +55,23 @@
 
 	.init_array : {
+#ifndef SHLIB
 		PROVIDE_HIDDEN (__init_array_start = .);
+#endif
 		KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
 		KEEP (*(.init_array .ctors))
+#ifndef SHLIB
 		PROVIDE_HIDDEN (__init_array_end = .);
+#endif
 	}
 
 	.fini_array : {
+#ifndef SHLIB
 		PROVIDE_HIDDEN (__fini_array_start = .);
+#endif
 		KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
 		KEEP (*(.fini_array .dtors))
+#ifndef SHLIB
 		PROVIDE_HIDDEN (__fini_array_end = .);
+#endif
 	}
 
Index: uspace/lib/c/arch/arm32/src/entry.S
===================================================================
--- uspace/lib/c/arch/arm32/src/entry.S	(revision c2c4127e98d81c1d3c0bee95147d80082f1b7e66)
+++ uspace/lib/c/arch/arm32/src/entry.S	(revision 2eadda9562ba40a94f02c6d055a17a045521838d)
@@ -29,5 +29,5 @@
 #include <abi/asmtool.h>
 
-.section .init, "ax"
+.text
 
 .org 0
@@ -51,7 +51,7 @@
 	sub fp, ip, #4
 
-	# Pass pcb_ptr to __libc_main as the first argument (in r0)
+	# Pass pcb_ptr to __c_start as the first argument (in r0)
 	mov r0, r1
-	bl __libc_main
+	bl __c_start
 
 .data
