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=""${workspace_loc:/org.eclipse.ptp.proxy}""/>
+ </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=""${workspace_loc:/org.eclipse.ptp.proxy}""/>
+ </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);