More fixes to get sdm_test working again.
diff --git a/core/org.eclipse.ptp.proxy/.cproject b/core/org.eclipse.ptp.proxy/.cproject
index c4cfd8f..803af44 100644
--- a/core/org.eclipse.ptp.proxy/.cproject
+++ b/core/org.eclipse.ptp.proxy/.cproject
@@ -1,89 +1,89 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?fileVersion 4.0.0?>
 
 <cproject>
-<storageModule moduleId="org.eclipse.cdt.core.settings">
-<cconfiguration id="converted.config.887763833">
-<storageModule moduleId="scannerConfiguration">
-<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="true" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="true"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="makefileGenerator">
-<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-</storageModule>
-<storageModule moduleId="org.eclipse.cdt.core.pathentry">
-<pathentry kind="src" path=""/>
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
-</storageModule>
-<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.887763833" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig">
-<externalSettings/>
-<extensions>
-<extension id="org.eclipse.cdt.core.domsourceindexer" point="org.eclipse.cdt.core.CIndexer"/>
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="c++filt" value="c++filt"/>
-</extension>
-</extensions>
-</storageModule>
-<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
-<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
-<buildTargets>
-<target name="all" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments/>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-<runAllBuilders>true</runAllBuilders>
-</target>
-<target name="clean" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments/>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-<runAllBuilders>true</runAllBuilders>
-</target>
-</buildTargets>
-</storageModule>
-</cconfiguration>
-</storageModule>
+	<storageModule moduleId="org.eclipse.cdt.core.settings">
+		<cconfiguration id="converted.config.887763833">
+			<storageModule moduleId="scannerConfiguration">
+				<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+				<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+					<buildOutputProvider>
+						<openAction enabled="true" filePath=""/>
+						<parser enabled="true"/>
+					</buildOutputProvider>
+					<scannerInfoProvider id="specsFile">
+						<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+						<parser enabled="true"/>
+					</scannerInfoProvider>
+				</profile>
+				<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+					<buildOutputProvider>
+						<openAction enabled="false" filePath=""/>
+						<parser enabled="true"/>
+					</buildOutputProvider>
+					<scannerInfoProvider id="makefileGenerator">
+						<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+						<parser enabled="false"/>
+					</scannerInfoProvider>
+				</profile>
+				<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+					<buildOutputProvider>
+						<openAction enabled="false" filePath=""/>
+						<parser enabled="true"/>
+					</buildOutputProvider>
+					<scannerInfoProvider id="specsFile">
+						<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+						<parser enabled="false"/>
+					</scannerInfoProvider>
+				</profile>
+				<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+					<buildOutputProvider>
+						<openAction enabled="false" filePath=""/>
+						<parser enabled="true"/>
+					</buildOutputProvider>
+					<scannerInfoProvider id="specsFile">
+						<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+						<parser enabled="false"/>
+					</scannerInfoProvider>
+				</profile>
+			</storageModule>
+			<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.887763833" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig">
+				<externalSettings/>
+				<extensions>
+					<extension id="org.eclipse.cdt.core.domsourceindexer" point="org.eclipse.cdt.core.CIndexer"/>
+					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+					<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+			<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+			<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
+				<buildTargets>
+					<target name="all" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
+						<buildCommand>make</buildCommand>
+						<buildArguments/>
+						<buildTarget>all</buildTarget>
+						<stopOnError>false</stopOnError>
+						<useDefaultCommand>true</useDefaultCommand>
+						<runAllBuilders>true</runAllBuilders>
+					</target>
+					<target name="clean" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
+						<buildCommand>make</buildCommand>
+						<buildArguments/>
+						<buildTarget>clean</buildTarget>
+						<stopOnError>false</stopOnError>
+						<useDefaultCommand>true</useDefaultCommand>
+						<runAllBuilders>true</runAllBuilders>
+					</target>
+				</buildTargets>
+			</storageModule>
+		</cconfiguration>
+	</storageModule>
+	<storageModule moduleId="refreshScope"/>
+	<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+	<storageModule moduleId="org.eclipse.cdt.core.pathentry">
+		<pathentry kind="src" path=""/>
+		<pathentry kind="out" path=""/>
+		<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
+	</storageModule>
 </cproject>
diff --git a/debug/org.eclipse.ptp.debug.sdm/.cproject b/debug/org.eclipse.ptp.debug.sdm/.cproject
index d1b23ef..79f0af2 100644
--- a/debug/org.eclipse.ptp.debug.sdm/.cproject
+++ b/debug/org.eclipse.ptp.debug.sdm/.cproject
@@ -29,11 +29,17 @@
 							</tool>
 							<tool id="cdt.managedbuild.tool.macosx.cpp.linker.macosx.base.2087452132" name="MacOS X C++ Linker" superClass="cdt.managedbuild.tool.macosx.cpp.linker.macosx.base"/>
 							<tool id="cdt.managedbuild.tool.gnu.assembler.macosx.base.16549172" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.macosx.base">
+								<option id="gnu.both.asm.option.include.paths.695417966" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.ptp.proxy}&quot;"/>
+								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.2024977582" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
 							</tool>
 							<tool id="cdt.managedbuild.tool.gnu.archiver.macosx.base.939910910" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.macosx.base"/>
 							<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.base.2048437974" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.base"/>
 							<tool id="cdt.managedbuild.tool.gnu.c.compiler.macosx.base.134435837" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.macosx.base">
+								<option id="gnu.c.compiler.option.include.paths.2038149362" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.ptp.proxy}&quot;"/>
+								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.841477569" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
 							</tool>
 						</toolChain>
diff --git a/debug/org.eclipse.ptp.debug.sdm/libmi/CLIOutput.c b/debug/org.eclipse.ptp.debug.sdm/libmi/CLIOutput.c
index 82778c1..e31aa88 100644
--- a/debug/org.eclipse.ptp.debug.sdm/libmi/CLIOutput.c
+++ b/debug/org.eclipse.ptp.debug.sdm/libmi/CLIOutput.c
@@ -140,9 +140,10 @@
 		}
 
 		/*
-		 * linux self: GUN gdb 6.5.0
-		 * fedore: GNU gdb Red Hat Linux (6.5-8.fc6rh)
+		 * Linux: GUN gdb 6.5.0
+		 * Fedora: GNU gdb Red Hat Linux (6.5-8.fc6rh)
 		 * Mac OS X: GNU gdb 6.1-20040303 (Apple version gdb-384) (Mon Mar 21 00:05:26 GMT 2005)
+		 * Ubuntu: GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
 		 */
 		if (strncmp(text, "GNU gdb", 7) == 0) {
 			/*
diff --git a/debug/org.eclipse.ptp.debug.sdm/src/client/client_interface.c b/debug/org.eclipse.ptp.debug.sdm/src/client/client_interface.c
index be78fff..7d252ed 100644
--- a/debug/org.eclipse.ptp.debug.sdm/src/client/client_interface.c
+++ b/debug/org.eclipse.ptp.debug.sdm/src/client/client_interface.c
@@ -95,6 +95,8 @@
  	 	return -1;
 	}
 
+	ev->procs = idset_to_bitset(sdm_message_get_source(msg));
+
 	if (s->sess_event_handler != NULL) {
  		s->sess_event_handler(ev, s->sess_event_data);
 	}
@@ -136,11 +138,11 @@
 		return -1;
 	}
 
+	s->sess_procs = sdm_route_get_size() - 1;
+
 	tmp_idset = sdm_set_new();
 	tmp_bitset = bitset_new(s->sess_procs);
 
-	s->sess_procs = sdm_route_get_size() - 1;
-
 	sdm_aggregate_set_completion_callback(session_event_handler, (void *)s);
 
 	return 0;
@@ -159,7 +161,7 @@
 }
 
 int
-DbgStartSession(session *s, char *dir, char *prog, char *args)
+DbgStartSession(session *s, char *exe, char *path, char *args)
 {
 	int				res;
 	int				len;
@@ -168,8 +170,8 @@
 	proxy_msg *		msg = new_proxy_msg(DBG_STARTSESSION_CMD, 0);
 
 	proxy_msg_add_int(msg, SERVER_TIMEOUT);
-	proxy_msg_add_string(msg, dir);
-	proxy_msg_add_string(msg, prog);
+	proxy_msg_add_string(msg, exe);
+	proxy_msg_add_string(msg, path);
 	proxy_msg_add_string(msg, args);
 	proxy_serialize_msg(msg, &buf, &len);
 
diff --git a/debug/org.eclipse.ptp.debug.sdm/src/test/sdm_test.c b/debug/org.eclipse.ptp.debug.sdm/src/test/sdm_test.c
index aa783c8..1800cea 100644
--- a/debug/org.eclipse.ptp.debug.sdm/src/test/sdm_test.c
+++ b/debug/org.eclipse.ptp.debug.sdm/src/test/sdm_test.c
@@ -59,6 +59,7 @@
 		printf("error: %s\n", e->dbg_event_u.error_event.error_msg);
 		switch (e->dbg_event_u.error_event.error_code) {
 		case DBGERR_NOBACKEND:
+		case DBGERR_NOFILEDIR:
 			fatal++;
 			break;
 		default:
@@ -99,6 +100,7 @@
 			printf("exited with signal %s\n", e->dbg_event_u.exit_event.ev_u.sig->name);
 			break;
 		}
+		break;
 	case DBGEV_DATA:
 		printf("data is "); AIFPrint(stdout, 0, e->dbg_event_u.data_event.data); printf("\n");
 		break;
@@ -173,7 +175,7 @@
 	t = itimer_new("debug");
 	itimer_start(t);
 	
-	if (DbgStartSession(s, dir, exe, NULL) < 0) {
+	if (DbgStartSession(s, exe, dir, NULL) < 0) {
 		fprintf(stderr, "error: %s\n", DbgGetErrorStr());
 		return 1;
 	}
@@ -262,12 +264,19 @@
 	char *		exe;
 
 	if (argc < 2) {
-		fprintf(stderr, "usage: test_proxy_clnt exe [host]\n");
+		fprintf(stderr, "usage: sdm_test [dir] exe\n");
 		return 1;
 	}
 
-	dir = getcwd(NULL, 0);
-	exe = argv[1];
+	if (argc == 2) {
+		dir = getcwd(NULL, 0);
+		exe = argv[1];
+	} else {
+		dir = argv[1];
+		exe = argv[2];
+	}
+
+	debug_level = 3;
 
 	if (DbgInit(&s, argc, argv) < 0) {
 		fprintf(stderr, "DbgInit failed\n");
diff --git a/debug/org.eclipse.ptp.debug.sdm/src/utils/event.c b/debug/org.eclipse.ptp.debug.sdm/src/utils/event.c
index 9a5c49e..ac61ff5 100644
--- a/debug/org.eclipse.ptp.debug.sdm/src/utils/event.c
+++ b/debug/org.eclipse.ptp.debug.sdm/src/utils/event.c
@@ -617,7 +617,6 @@
 DbgDeserializeEvent(int id, int nargs, char **args, dbg_event **ev)
 {
 	dbg_event *	e = NULL;
-	bitset *	procs = NULL;
 
 	e = NewDbgEvent(id);
 
@@ -739,16 +738,12 @@
 		goto error_out;
 	}
 
-	e->procs = procs;
 	*ev = e;
 
 	return 0;
 
 error_out:
 
-	if (procs != NULL)
-		bitset_free(procs);
-
 	if (e != NULL)
 		FreeDbgEvent(e);