Index: uspace/lib/c/arch/abs32le/_link.ld.in
===================================================================
--- uspace/lib/c/arch/abs32le/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/abs32le/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -14,12 +14,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x70001000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x70001000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x1000 + SIZEOF_HEADERS;
 #endif
+	
 	.text : {
 		*(.text .text.*);
Index: uspace/lib/c/arch/amd64/_link.ld.in
===================================================================
--- uspace/lib/c/arch/amd64/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/amd64/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -15,12 +15,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x70001000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x70001000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x1000 + SIZEOF_HEADERS;
 #endif
+	
 	.init : {
 		*(.init);
Index: uspace/lib/c/arch/arm32/_link.ld.in
===================================================================
--- uspace/lib/c/arch/arm32/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/arm32/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -14,12 +14,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x70001000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x70001000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x1000 + SIZEOF_HEADERS;
 #endif
+	
 	.init : {
 		*(.init);
Index: uspace/lib/c/arch/ia32/_link.ld.in
===================================================================
--- uspace/lib/c/arch/ia32/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/ia32/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -19,9 +19,4 @@
 
 SECTIONS {
-#if defined(LOADER) || defined(DLEXE)
-	.interp : {
-		*(.interp);
-	} :interp
-#endif
 #ifdef LOADER
 	. = 0x70001000 + SIZEOF_HEADERS;
@@ -29,4 +24,11 @@
 	. = 0x1000 + SIZEOF_HEADERS;
 #endif
+	
+#if defined(LOADER) || defined(DLEXE)
+	.interp : {
+		*(.interp);
+	} :interp :text
+#endif
+	
 	.init : {
 		*(.init);
Index: uspace/lib/c/arch/ia64/_link.ld.in
===================================================================
--- uspace/lib/c/arch/ia64/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/ia64/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -14,12 +14,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x800000000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x800000000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x4000 + SIZEOF_HEADERS;
 #endif
+	
 	/*
 	 * XXX This is just a work around. Problem: .init section does not
@@ -27,5 +28,5 @@
 	 */
 	. = ALIGN(., 16);
-
+	
 	.init : {
 		*(.init);
Index: uspace/lib/c/arch/mips32/_link.ld.in
===================================================================
--- uspace/lib/c/arch/mips32/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/mips32/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -14,12 +14,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x70004000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x70004000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x4000 + SIZEOF_HEADERS;
 #endif
+	
 	.init : {
 		*(.init);
Index: uspace/lib/c/arch/mips64/_link.ld.in
===================================================================
--- uspace/lib/c/arch/mips64/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/mips64/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -15,12 +15,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x70004000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x70004000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x4000 + SIZEOF_HEADERS;
 #endif
+	
 	.init : {
 		*(.init);
Index: uspace/lib/c/arch/ppc32/_link.ld.in
===================================================================
--- uspace/lib/c/arch/ppc32/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/ppc32/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -15,12 +15,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x70001000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x70001000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x1000 + SIZEOF_HEADERS;
 #endif
+	
 	.init : {
 		*(.init);
Index: uspace/lib/c/arch/sparc64/_link.ld.in
===================================================================
--- uspace/lib/c/arch/sparc64/_link.ld.in	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/lib/c/arch/sparc64/_link.ld.in	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -14,12 +14,13 @@
 SECTIONS {
 #ifdef LOADER
+	. = 0x70004000 + SIZEOF_HEADERS;
+	
 	.interp : {
 		*(.interp);
-	} :interp
-	
-	. = 0x70004000 + SIZEOF_HEADERS;
+	} :interp :text
 #else
 	. = 0x4000 + SIZEOF_HEADERS;
 #endif
+	
 	.init : {
 		*(.init);
Index: uspace/srv/loader/interp.S
===================================================================
--- uspace/srv/loader/interp.S	(revision b553acc54cb92b44efceab64a5bfd014959d54d2)
+++ uspace/srv/loader/interp.S	(revision e1c0260111c18cf291351f04dd1cc7118051fbdc)
@@ -5,10 +5,17 @@
 #
 
-#ifdef UARCH_arm32
-#define AT_NOTE	%note
-#else
-#define AT_NOTE	@note
+#if ((defined(UARCH_abs32le)) && (defined(COMPILER_gcc_cross)) \
+    && (defined(CROSS_TARGET_arm32)))
+	#define ATSIGN(arg)  % ## arg
 #endif
 
-.section .interp, "a", AT_NOTE
+#ifdef UARCH_arm32
+	#define ATSIGN(arg)  % ## arg
+#endif
+
+#ifndef ATSIGN
+	#define ATSIGN(arg)  @ ## arg
+#endif
+
+.section .interp, "a", ATSIGN(progbits)
 	.string "kernel"
