From 411c8e2948436526174af755064aa5041069a838 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Sun, 5 Feb 2012 13:23:51 -0500 Subject: [PATCH 1/4] Switch to 3.8milestones for platform build dependency. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0758822d336..d7c09b09c0e 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ 0.13.0 - 4.2milestones + 3.8milestones http://download.eclipse.org/eclipse/updates/${platform-version} R20110523182458 http://download.eclipse.org/tools/orbit/downloads/drops/${orbit-version}/repository From a4538dbc3aac30229cf02ac93f413c5e714f4a23 Mon Sep 17 00:00:00 2001 From: Marc-Andre Laperle Date: Sun, 5 Feb 2012 15:35:26 -0500 Subject: [PATCH 2/4] Increment versions so that they are >= Indigo SR2 --- codan/org.eclipse.cdt.codan.ui/META-INF/MANIFEST.MF | 2 +- codan/org.eclipse.cdt.codan.ui/pom.xml | 2 +- core/org.eclipse.cdt.core.aix/META-INF/MANIFEST.MF | 2 +- core/org.eclipse.cdt.core.aix/pom.xml | 2 +- cross/org.eclipse.cdt.build.crossgcc-feature/feature.xml | 2 +- cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml | 2 +- debug/org.eclipse.cdt.debug.mi.ui/META-INF/MANIFEST.MF | 2 +- debug/org.eclipse.cdt.debug.mi.ui/pom.xml | 2 +- debug/org.eclipse.cdt.gnu.debug-feature/feature.xml | 2 +- debug/org.eclipse.cdt.gnu.debug-feature/pom.xml | 2 +- debug/org.eclipse.cdt.gnu.debug.source-feature/feature.xml | 2 +- debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml | 2 +- dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/feature.xml | 2 +- dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml | 2 +- dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/feature.xml | 2 +- dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml | 2 +- memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml | 2 +- memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml | 2 +- .../org.eclipse.cdt.debug.ui.memory.source-feature/feature.xml | 2 +- memory/org.eclipse.cdt.debug.ui.memory.source-feature/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- memory/org.eclipse.cdt.debug.ui.memory.traditional/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- xlc/org.eclipse.cdt.managedbuilder.xlc.core/pom.xml | 2 +- xlc/org.eclipse.cdt.xlc.feature/feature.xml | 2 +- xlc/org.eclipse.cdt.xlc.feature/pom.xml | 2 +- xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml | 2 +- xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml | 2 +- xlc/org.eclipse.cdt.xlc.source.feature/feature.xml | 2 +- xlc/org.eclipse.cdt.xlc.source.feature/pom.xml | 2 +- 30 files changed, 30 insertions(+), 30 deletions(-) diff --git a/codan/org.eclipse.cdt.codan.ui/META-INF/MANIFEST.MF b/codan/org.eclipse.cdt.codan.ui/META-INF/MANIFEST.MF index a294b632d94..af09ae68a77 100644 --- a/codan/org.eclipse.cdt.codan.ui/META-INF/MANIFEST.MF +++ b/codan/org.eclipse.cdt.codan.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: org.eclipse.cdt.codan.ui; singleton:=true -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.1.qualifier Bundle-Activator: org.eclipse.cdt.codan.internal.ui.CodanUIActivator Bundle-Vendor: %Bundle-Vendor Require-Bundle: org.eclipse.ui, diff --git a/codan/org.eclipse.cdt.codan.ui/pom.xml b/codan/org.eclipse.cdt.codan.ui/pom.xml index 492cdd64b84..67ef87b42ee 100644 --- a/codan/org.eclipse.cdt.codan.ui/pom.xml +++ b/codan/org.eclipse.cdt.codan.ui/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - 2.0.0-SNAPSHOT + 2.0.1-SNAPSHOT org.eclipse.cdt.codan.ui eclipse-plugin diff --git a/core/org.eclipse.cdt.core.aix/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.aix/META-INF/MANIFEST.MF index 2e5dbfaa8d8..a238bc8a7ca 100644 --- a/core/org.eclipse.cdt.core.aix/META-INF/MANIFEST.MF +++ b/core/org.eclipse.cdt.core.aix/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %fragmentName.aix Bundle-SymbolicName: org.eclipse.cdt.core.aix; singleton:=true -Bundle-Version: 5.1.0.qualifier +Bundle-Version: 5.1.1.qualifier Bundle-ClassPath: cdtaix.jar Bundle-Vendor: %providerName Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.0.0,6.0.0)" diff --git a/core/org.eclipse.cdt.core.aix/pom.xml b/core/org.eclipse.cdt.core.aix/pom.xml index e7ef93c92fd..dd809af8573 100644 --- a/core/org.eclipse.cdt.core.aix/pom.xml +++ b/core/org.eclipse.cdt.core.aix/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - 5.1.0-SNAPSHOT + 5.1.1-SNAPSHOT org.eclipse.cdt.core.aix eclipse-plugin diff --git a/cross/org.eclipse.cdt.build.crossgcc-feature/feature.xml b/cross/org.eclipse.cdt.build.crossgcc-feature/feature.xml index 643055903ab..cc479d50941 100644 --- a/cross/org.eclipse.cdt.build.crossgcc-feature/feature.xml +++ b/cross/org.eclipse.cdt.build.crossgcc-feature/feature.xml @@ -2,7 +2,7 @@ org.eclipse.cdt.features - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT org.eclipse.cdt.build.crossgcc eclipse-feature diff --git a/debug/org.eclipse.cdt.debug.mi.ui/META-INF/MANIFEST.MF b/debug/org.eclipse.cdt.debug.mi.ui/META-INF/MANIFEST.MF index 07a48c66a9d..e737841022f 100644 --- a/debug/org.eclipse.cdt.debug.mi.ui/META-INF/MANIFEST.MF +++ b/debug/org.eclipse.cdt.debug.mi.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.debug.mi.ui; singleton:=true -Bundle-Version: 6.1.0.qualifier +Bundle-Version: 6.1.1.qualifier Bundle-Activator: org.eclipse.cdt.debug.mi.internal.ui.MIUIPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/debug/org.eclipse.cdt.debug.mi.ui/pom.xml b/debug/org.eclipse.cdt.debug.mi.ui/pom.xml index 2039d3348f0..51f6db5106e 100644 --- a/debug/org.eclipse.cdt.debug.mi.ui/pom.xml +++ b/debug/org.eclipse.cdt.debug.mi.ui/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - 6.1.0-SNAPSHOT + 6.1.1-SNAPSHOT org.eclipse.cdt.debug.mi.ui eclipse-plugin diff --git a/debug/org.eclipse.cdt.gnu.debug-feature/feature.xml b/debug/org.eclipse.cdt.gnu.debug-feature/feature.xml index 1a2841b1b19..af8f4bdf15a 100644 --- a/debug/org.eclipse.cdt.gnu.debug-feature/feature.xml +++ b/debug/org.eclipse.cdt.gnu.debug-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml b/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml index 370a8637d70..27e92ff2aa0 100644 --- a/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml +++ b/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml @@ -14,5 +14,5 @@ org.eclipse.cdt.feature org.eclipse.cdt.gnu.debug eclipse-feature - 7.1.0-SNAPSHOT + 7.1.1-SNAPSHOT diff --git a/debug/org.eclipse.cdt.gnu.debug.source-feature/feature.xml b/debug/org.eclipse.cdt.gnu.debug.source-feature/feature.xml index 6eee9c72db4..1b2cfdc0ab0 100644 --- a/debug/org.eclipse.cdt.gnu.debug.source-feature/feature.xml +++ b/debug/org.eclipse.cdt.gnu.debug.source-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml b/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml index 74eb61f018a..cc98cac4dcf 100644 --- a/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml +++ b/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml @@ -14,5 +14,5 @@ org.eclipse.cdt.features org.eclipse.cdt.gnu.debug.source eclipse-feature - 7.1.0-SNAPSHOT + 7.1.1-SNAPSHOT diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/feature.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/feature.xml index 3c39adf99ff..fb2c6155304 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/feature.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml index c57bf72ecfa..985b3a33fd2 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml @@ -12,7 +12,7 @@ org.eclipse.cdt.feature - 4.0.0-SNAPSHOT + 4.0.1-SNAPSHOT org.eclipse.cdt.gnu.dsf eclipse-feature diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/feature.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/feature.xml index be696382061..6025dc765f7 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/feature.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml index ed03623de65..207446dbf8d 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml @@ -12,7 +12,7 @@ org.eclipse.cdt.features - 4.0.0-SNAPSHOT + 4.0.1-SNAPSHOT org.eclipse.cdt.gnu.dsf.source eclipse-feature diff --git a/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml b/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml index b975381d8a3..17b45e4fe36 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml +++ b/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml b/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml index e40322353b2..b63befd1487 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml +++ b/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml @@ -12,7 +12,7 @@ org.eclipse.cdt.features - 2.1.100-SNAPSHOT + 2.2.0-SNAPSHOT org.eclipse.cdt.debug.ui.memory eclipse-feature diff --git a/memory/org.eclipse.cdt.debug.ui.memory.source-feature/feature.xml b/memory/org.eclipse.cdt.debug.ui.memory.source-feature/feature.xml index ba5af59d3e3..12e6c7c2262 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.source-feature/feature.xml +++ b/memory/org.eclipse.cdt.debug.ui.memory.source-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/memory/org.eclipse.cdt.debug.ui.memory.source-feature/pom.xml b/memory/org.eclipse.cdt.debug.ui.memory.source-feature/pom.xml index 9504ab205f6..626fbc477e5 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.source-feature/pom.xml +++ b/memory/org.eclipse.cdt.debug.ui.memory.source-feature/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - 2.1.100-SNAPSHOT + 2.2.0-SNAPSHOT org.eclipse.cdt.debug.ui.memory.source eclipse-feature diff --git a/memory/org.eclipse.cdt.debug.ui.memory.traditional/META-INF/MANIFEST.MF b/memory/org.eclipse.cdt.debug.ui.memory.traditional/META-INF/MANIFEST.MF index 9de58377e45..e229a44e8a7 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.traditional/META-INF/MANIFEST.MF +++ b/memory/org.eclipse.cdt.debug.ui.memory.traditional/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.debug.ui.memory.traditional;singleton:=true -Bundle-Version: 1.2.0.qualifier +Bundle-Version: 1.2.1.qualifier Bundle-Localization: plugin Require-Bundle: org.eclipse.debug.core, org.eclipse.debug.ui, diff --git a/memory/org.eclipse.cdt.debug.ui.memory.traditional/pom.xml b/memory/org.eclipse.cdt.debug.ui.memory.traditional/pom.xml index 8da98e117b2..e3a5f156986 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.traditional/pom.xml +++ b/memory/org.eclipse.cdt.debug.ui.memory.traditional/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - 1.2.0-SNAPSHOT + 1.2.1-SNAPSHOT org.eclipse.cdt.debug.ui.memory.traditional eclipse-plugin diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/META-INF/MANIFEST.MF index 487da8f2249..7f3f0e29f2c 100644 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/META-INF/MANIFEST.MF +++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.xlc.core;singleton:=true -Bundle-Version: 5.0.0.qualifier +Bundle-Version: 5.0.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.cdt.managedbuilder.core, diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/pom.xml b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/pom.xml index c568edaa113..3d4cc9be7cf 100644 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/pom.xml +++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - 5.0.0-SNAPSHOT + 5.0.1-SNAPSHOT org.eclipse.cdt.managedbuilder.xlc.core eclipse-plugin diff --git a/xlc/org.eclipse.cdt.xlc.feature/feature.xml b/xlc/org.eclipse.cdt.xlc.feature/feature.xml index d3d0a78394a..1372c7fce7f 100644 --- a/xlc/org.eclipse.cdt.xlc.feature/feature.xml +++ b/xlc/org.eclipse.cdt.xlc.feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/xlc/org.eclipse.cdt.xlc.feature/pom.xml b/xlc/org.eclipse.cdt.xlc.feature/pom.xml index a74c80c3d7d..2f1ce80a8c2 100644 --- a/xlc/org.eclipse.cdt.xlc.feature/pom.xml +++ b/xlc/org.eclipse.cdt.xlc.feature/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - 6.3.0-SNAPSHOT + 6.3.1-SNAPSHOT org.eclipse.cdt.xlc.feature eclipse-feature diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml b/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml index d4b7173df3f..1f8e72d92db 100644 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml +++ b/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml b/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml index e8b94c93b4c..0f100330f96 100644 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml +++ b/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml @@ -12,7 +12,7 @@ org.eclipse.cdt.features - 6.1.0-SNAPSHOT + 6.1.1-SNAPSHOT org.eclipse.cdt.xlc.sdk eclipse-feature diff --git a/xlc/org.eclipse.cdt.xlc.source.feature/feature.xml b/xlc/org.eclipse.cdt.xlc.source.feature/feature.xml index b839bcda267..da30f7fa553 100644 --- a/xlc/org.eclipse.cdt.xlc.source.feature/feature.xml +++ b/xlc/org.eclipse.cdt.xlc.source.feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml b/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml index 6ed0635c7c8..036bae30441 100644 --- a/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml +++ b/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml @@ -12,7 +12,7 @@ org.eclipse.cdt.features - 6.1.0-SNAPSHOT + 6.1.1-SNAPSHOT org.eclipse.cdt.xlc.source eclipse-feature From ddb64447b2d7ae1c5e51b9d957781640d91f0ad7 Mon Sep 17 00:00:00 2001 From: Anton Gorenkov Date: Mon, 6 Feb 2012 09:44:13 -0500 Subject: [PATCH 3/4] Bug 210366: Use a process factory so as to allow others to override. --- dsf-gdb/org.eclipse.cdt.dsf.gdb/plugin.xml | 7 ++++ .../gdb/IGDBLaunchConfigurationConstants.java | 10 ++++- .../cdt/dsf/gdb/IGdbDebugConstants.java | 17 ++++++++- .../dsf/gdb/launching/GdbLaunchDelegate.java | 27 ++++++++++++- .../dsf/gdb/launching/GdbProcessFactory.java | 38 +++++++++++++++++++ .../cdt/dsf/gdb/service/GDBProcesses.java | 14 +++++-- .../StartOrRestartProcessSequence_7_0.java | 14 +++++-- 7 files changed, 118 insertions(+), 9 deletions(-) create mode 100644 dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/plugin.xml b/dsf-gdb/org.eclipse.cdt.dsf.gdb/plugin.xml index 305e3d583c7..267c285199b 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/plugin.xml +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/plugin.xml @@ -67,4 +67,11 @@ class="org.eclipse.cdt.dsf.gdb.internal.GdbPreferenceInitializer"> + + + + diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGDBLaunchConfigurationConstants.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGDBLaunchConfigurationConstants.java index ebea21e6d59..9807ec2f5ec 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGDBLaunchConfigurationConstants.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGDBLaunchConfigurationConstants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2010 Ericsson and others. + * Copyright (c) 2008, 2012 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Ericsson - initial API and implementation * Marc Khouzam (Ericsson) - Support for fast tracepoints (Bug 346320) + * Anton Gorenkov - Need to use a process factory (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb; @@ -210,4 +211,11 @@ public class IGDBLaunchConfigurationConstants { */ public static final String DEBUGGER_TRACEPOINT_MODE_DEFAULT = DEBUGGER_TRACEPOINT_SLOW_ONLY; + /** + * The default value of DebugPlugin.ATTR_PROCESS_FACTORY_ID. + * @since 4.1 + */ + // Bug 210366 + public static final String DEBUGGER_ATTR_PROCESS_FACTORY_ID_DEFAULT = "org.eclipse.cdt.dsf.gdb.GdbProcessFactory"; //$NON-NLS-1$ + } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java index c1ecd5ee0a9..d3eb825e129 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Ericsson and others. + * Copyright (c) 2011, 2012 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Ericsson - initial implementation + * Anton Gorenkov - Need to use a process factory (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb; @@ -29,6 +30,20 @@ public interface IGdbDebugConstants { */ public static final String INFERIOR_GROUPID_ATTR = PREFIX + "inferiorGroupId"; //$NON-NLS-1$ + /** + * Attribute key to be passed to DebugPlugin.newProcess to specify the type of process + * that should be created by our IProcessFactory. + * @since 4.1 + */ + public static final String PROCESS_TYPE_CREATION_ATTR = PREFIX + "createProcessType"; //$NON-NLS-1$ + + /** + * Attribute value of PROCESS_TYPE_CREATION_ATTR to be passed to DebugPlugin.newProcess to + * require the creation of an InferiorRuntimeProcess instead of a RuntimeProcess + * (which is used by default). + * @since 4.1 + */ + public static final String INFERIOR_CREATION_VALUE = PREFIX + "inferiorProcess"; //$NON-NLS-1$ } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunchDelegate.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunchDelegate.java index 4cf94210bb0..18daedca30a 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunchDelegate.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunchDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 QNX Software Systems and others. + * Copyright (c) 2008, 2012 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ * Ericsson - Added support for Mac OS * Ericsson - Added support for post-mortem trace files * Abeer Bagul (Tensilica) - Allow to better override GdbLaunch (bug 339550) + * Anton Gorenkov - Need to use a process factory (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.launching; @@ -44,6 +45,7 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; @@ -274,6 +276,10 @@ public class GdbLaunchDelegate extends AbstractCLaunchDelegate2 @Override public boolean preLaunchCheck(ILaunchConfiguration config, String mode, IProgressMonitor monitor) throws CoreException { + // Setup default GDB Process Factory + // Bug 210366 + setDefaultProcessFactory(config); + // Forcibly turn off non-stop for post-mortem sessions. // Non-stop does not apply to post-mortem sessions. // Now that we can have non-stop defaulting to enabled, it will prevent @@ -293,6 +299,25 @@ public class GdbLaunchDelegate extends AbstractCLaunchDelegate2 return super.preLaunchCheck(config, mode, monitor); } + + /** + * Modify the ILaunchConfiguration to set the DebugPlugin.ATTR_PROCESS_FACTORY_ID attribute, + * so as to specify the process factory to use. + * + * This attribute should only be set if it is not part of the configuration already, to allow + * other code to set it to something else. + * @since 4.1 + */ + protected void setDefaultProcessFactory(ILaunchConfiguration config) throws CoreException { + // Bug 210366 + if (!config.hasAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID)) { + ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy(); + wc.setAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID, + IGDBLaunchConfigurationConstants.DEBUGGER_ATTR_PROCESS_FACTORY_ID_DEFAULT); + wc.doSave(); + } + } + @Override public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException { // Need to configure the source locator before creating the launch diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java new file mode 100644 index 00000000000..68c39e08ecd --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2011 Anton Gorenkov + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Anton Gorenkov - initial API and implementation (Bug 210366) + *******************************************************************************/ +package org.eclipse.cdt.dsf.gdb.launching; + +import java.util.Map; + +import org.eclipse.cdt.dsf.gdb.IGdbDebugConstants; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.IProcessFactory; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.RuntimeProcess; + +/** + * Default GDB Process Factory creation of launch processes + * using DebugPlugin.newProcess() + * @since 4.1 + */ +public class GdbProcessFactory implements IProcessFactory { + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Override + public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { + if (attributes != null) { + if (IGdbDebugConstants.INFERIOR_CREATION_VALUE.equals(attributes.get(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR))) { + return new InferiorRuntimeProcess(launch, process, label, attributes); + } + } + return new RuntimeProcess(launch, process, label, attributes); + } +} diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java index d6b40ea618b..165659d1e58 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Ericsson and others. + * Copyright (c) 2008, 2012 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Ericsson - initial API and implementation + * Anton Gorenkov - Need to use a process factory (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.service; @@ -545,9 +546,16 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses { } // Add the inferior - InferiorRuntimeProcess runtimeInferior = new InferiorRuntimeProcess(launch, inferior, label, null); + // Need to go through DebugPlugin.newProcess so that we can use + // the overrideable process factory to allow others to override. + // First set attribute to specify we want to create an inferior process. + // Bug 210366 + Map attributes = new HashMap(); + attributes.put(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR, + IGdbDebugConstants.INFERIOR_CREATION_VALUE); + IProcess runtimeInferior = DebugPlugin.newProcess(launch, inferior, label, attributes); + // Now set the inferior groupId runtimeInferior.setAttribute(IGdbDebugConstants.INFERIOR_GROUPID_ATTR, MIProcesses.UNIQUE_GROUP_ID); - launch.addProcess(runtimeInferior); rm.done(); } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java index 43634a226f9..989d5939d24 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Ericsson and others. + * Copyright (c) 2011, 2012 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Ericsson - initial API and implementation * Sergey Prigogin (Google) + * Anton Gorenkov - Need to use a process factory (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.service; @@ -363,9 +364,16 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence { } // Add the inferior - InferiorRuntimeProcess runtimeInferior = new InferiorRuntimeProcess(launch, inferior, label, null); + // Need to go through DebugPlugin.newProcess so that we can use + // the overrideable process factory to allow others to override. + // First set attribute to specify we want to create an inferior process. + // Bug 210366 + Map attributes = new HashMap(); + attributes.put(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR, + IGdbDebugConstants.INFERIOR_CREATION_VALUE); + IProcess runtimeInferior = DebugPlugin.newProcess(launch, inferior, label, attributes); + // Now set the inferior groupId runtimeInferior.setAttribute(IGdbDebugConstants.INFERIOR_GROUPID_ATTR, groupId); - launch.addProcess(runtimeInferior); rm.done(); } From 4fc4a8bc3badd4c58a9e15b60cf6fc64e3e1bd36 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Mon, 6 Feb 2012 10:22:14 -0500 Subject: [PATCH 4/4] Bug 210366: Use the process factory so also create the gdb process. --- .../eclipse/cdt/dsf/gdb/IGdbDebugConstants.java | 12 +++++++++++- .../eclipse/cdt/dsf/gdb/launching/GdbLaunch.java | 14 ++++++++++++-- .../cdt/dsf/gdb/launching/GdbProcessFactory.java | 10 ++++++++-- .../eclipse/cdt/dsf/gdb/service/GDBProcesses.java | 2 +- .../service/StartOrRestartProcessSequence_7_0.java | 2 +- 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java index d3eb825e129..f50d84f1021 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/IGdbDebugConstants.java @@ -8,6 +8,7 @@ * Contributors: * Ericsson - initial implementation * Anton Gorenkov - Need to use a process factory (Bug 210366) + * Marc Khouzam (Ericsson) - Support for factory to create the gdb process (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb; @@ -43,7 +44,16 @@ public interface IGdbDebugConstants { * (which is used by default). * @since 4.1 */ - public static final String INFERIOR_CREATION_VALUE = PREFIX + "inferiorProcess"; //$NON-NLS-1$ + public static final String INFERIOR_PROCESS_CREATION_VALUE = PREFIX + "inferiorProcess"; //$NON-NLS-1$ + + /** + * Attribute value of PROCESS_TYPE_CREATION_ATTR to be passed to DebugPlugin.newProcess to + * require the creation of an GdbProcess instead of a RuntimeProcess + * (which is used by default). + * @since 4.1 + */ + public static final String GDB_PROCESS_CREATION_VALUE = PREFIX + "gdbProcess"; //$NON-NLS-1$ + } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunch.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunch.java index 11db047ca37..70d33d94110 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunch.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbLaunch.java @@ -8,9 +8,12 @@ * Contributors: * Wind River Systems - initial API and implementation * Marc Khouzam (Ericsson) - Fix NPE for partial launches (Bug 368597) + * Marc Khouzam (Ericsson) - Create the gdb process through the process factory (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.launching; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.RejectedExecutionException; @@ -33,6 +36,7 @@ import org.eclipse.cdt.dsf.debug.service.IMemory.IMemoryDMContext; import org.eclipse.cdt.dsf.debug.service.IProcesses.IProcessDMContext; import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService; import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlShutdownDMEvent; +import org.eclipse.cdt.dsf.gdb.IGdbDebugConstants; import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin; import org.eclipse.cdt.dsf.gdb.internal.memory.GdbMemoryBlockRetrieval; import org.eclipse.cdt.dsf.gdb.service.command.IGDBControl; @@ -173,8 +177,14 @@ public class GdbLaunch extends DsfLaunch } }).get(); - GDBProcess gdbProcess = new GDBProcess(this, cliProc, label, null); - addProcess(gdbProcess); + // Need to go through DebugPlugin.newProcess so that we can use + // the overrideable process factory to allow others to override. + // First set attribute to specify we want to create the gdb process. + // Bug 210366 + Map attributes = new HashMap(); + attributes.put(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR, + IGdbDebugConstants.GDB_PROCESS_CREATION_VALUE); + DebugPlugin.newProcess(this, cliProc, label, attributes); } catch (InterruptedException e) { throw new CoreException(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, 0, "Interrupted while waiting for get process callable.", e)); //$NON-NLS-1$ } catch (ExecutionException e) { diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java index 68c39e08ecd..befcfed461f 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/GdbProcessFactory.java @@ -7,6 +7,7 @@ * * Contributors: * Anton Gorenkov - initial API and implementation (Bug 210366) + * Marc Khouzam (Ericsson) - Add support to create the gdb process as well (Bug 210366) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.launching; @@ -29,10 +30,15 @@ public class GdbProcessFactory implements IProcessFactory { @Override public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { if (attributes != null) { - if (IGdbDebugConstants.INFERIOR_CREATION_VALUE.equals(attributes.get(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR))) { + if (IGdbDebugConstants.GDB_PROCESS_CREATION_VALUE.equals(attributes.get(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR))) { + return new GDBProcess(launch, process, label, attributes); + } + + if (IGdbDebugConstants.INFERIOR_PROCESS_CREATION_VALUE.equals(attributes.get(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR))) { return new InferiorRuntimeProcess(launch, process, label, attributes); } - } + } + return new RuntimeProcess(launch, process, label, attributes); } } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java index 165659d1e58..923a7af4b7c 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java @@ -552,7 +552,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses { // Bug 210366 Map attributes = new HashMap(); attributes.put(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR, - IGdbDebugConstants.INFERIOR_CREATION_VALUE); + IGdbDebugConstants.INFERIOR_PROCESS_CREATION_VALUE); IProcess runtimeInferior = DebugPlugin.newProcess(launch, inferior, label, attributes); // Now set the inferior groupId runtimeInferior.setAttribute(IGdbDebugConstants.INFERIOR_GROUPID_ATTR, MIProcesses.UNIQUE_GROUP_ID); diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java index 989d5939d24..6f8a2fd69fd 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java @@ -370,7 +370,7 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence { // Bug 210366 Map attributes = new HashMap(); attributes.put(IGdbDebugConstants.PROCESS_TYPE_CREATION_ATTR, - IGdbDebugConstants.INFERIOR_CREATION_VALUE); + IGdbDebugConstants.INFERIOR_PROCESS_CREATION_VALUE); IProcess runtimeInferior = DebugPlugin.newProcess(launch, inferior, label, attributes); // Now set the inferior groupId runtimeInferior.setAttribute(IGdbDebugConstants.INFERIOR_GROUPID_ATTR, groupId);