Index: uspace/lib/libc/generic/loader.c
===================================================================
--- uspace/lib/libc/generic/loader.c	(revision 7faabb7f6879c7279c1423c847dfaedf930cff0f)
+++ uspace/lib/libc/generic/loader.c	(revision 24345a57fd6f125f17c733469f41fb22765b51c8)
@@ -47,8 +47,9 @@
  *
  * Spawns a new program loader task and returns the connection structure.
+ * @param name	Symbolic name to set on the newly created task.
  * @return	Pointer to the loader connection structure (should be
  *		de-allocated using free() after use).
  */
-loader_t *loader_spawn(void)
+loader_t *loader_spawn(char *name)
 {
 	int phone_id, rc;
@@ -58,5 +59,6 @@
 	 * Ask kernel to spawn a new loader task.
 	 */
-	rc = __SYSCALL1(SYS_PROGRAM_SPAWN_LOADER, (sysarg_t) &phone_id);
+	rc = __SYSCALL3(SYS_PROGRAM_SPAWN_LOADER, (sysarg_t) &phone_id,
+		(sysarg_t) name, strlen(name));
 	if (rc != 0)
 		return NULL;
Index: uspace/lib/libc/generic/task.c
===================================================================
--- uspace/lib/libc/generic/task.c	(revision 7faabb7f6879c7279c1423c847dfaedf930cff0f)
+++ uspace/lib/libc/generic/task.c	(revision 24345a57fd6f125f17c733469f41fb22765b51c8)
@@ -65,5 +65,5 @@
 
 	/* Spawn a program loader. */	
-	ldr = loader_spawn();
+	ldr = loader_spawn(path);
 	if (ldr == NULL)
 		return 0;
Index: uspace/lib/libc/include/loader/loader.h
===================================================================
--- uspace/lib/libc/include/loader/loader.h	(revision 7faabb7f6879c7279c1423c847dfaedf930cff0f)
+++ uspace/lib/libc/include/loader/loader.h	(revision 24345a57fd6f125f17c733469f41fb22765b51c8)
@@ -45,5 +45,5 @@
 } loader_t;
 
-extern loader_t *loader_spawn(void);
+extern loader_t *loader_spawn(char *name);
 extern int loader_get_task_id(loader_t *, task_id_t *);
 extern int loader_set_pathname(loader_t *, const char *);
