summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoit Perrin2013-01-04 05:51:39 (EST)
committerEugene Tarassov2013-01-08 12:05:42 (EST)
commitea62ab78aa067894672488f8de96365b2000bea9 (patch)
treefa3d4ab5432f43cdabbed1874d7b07f0348dd5c1
parente7a44ded1ffe81fad9b8d7f88c2641be138613ed (diff)
downloadorg.eclipse.tcf.agent-ea62ab78aa067894672488f8de96365b2000bea9.zip
org.eclipse.tcf.agent-ea62ab78aa067894672488f8de96365b2000bea9.tar.gz
org.eclipse.tcf.agent-ea62ab78aa067894672488f8de96365b2000bea9.tar.bz2
Bug 397434: Configure in or out the internal stackcrawling.
The TCF code comes with an internal minimal stack-crawling support for x86 architectures. A new configuration preprocessor macro 'ENABLE_ExternalStackcrawl' is introduced to exclude the internal code in order an external stackcrawl code can be used.
-rw-r--r--agent/machine/x86_64/tcf/cpudefs-mdep.c4
-rw-r--r--agent/tcf/config.h4
-rw-r--r--server/tcf/config.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/agent/machine/x86_64/tcf/cpudefs-mdep.c b/agent/machine/x86_64/tcf/cpudefs-mdep.c
index 47c1dd0..052c694 100644
--- a/agent/machine/x86_64/tcf/cpudefs-mdep.c
+++ b/agent/machine/x86_64/tcf/cpudefs-mdep.c
@@ -432,6 +432,8 @@ int mdep_set_other_regs(pid_t pid, REG_SET * data,
#endif
+#if !ENABLE_ExternalStackcrawl
+
#ifndef _WRS_KERNEL
#define JMPD08 0xeb
#define JMPD32 0xe9
@@ -720,6 +722,8 @@ int crawl_stack_frame(StackFrame * frame, StackFrame * down) {
return 0;
}
+#endif /* !ENABLE_ExternalStackcrawl */
+
RegisterDefinition * get_PC_definition(Context * ctx) {
static RegisterDefinition * reg_def = NULL;
if (!context_has_state(ctx)) return NULL;
diff --git a/agent/tcf/config.h b/agent/tcf/config.h
index e1aef7d..ef6d8e1 100644
--- a/agent/tcf/config.h
+++ b/agent/tcf/config.h
@@ -262,4 +262,8 @@
# define ENABLE_ExtendedMemoryErrorReports 1
#endif
+#if !defined(ENABLE_ExternalStackcrawl)
+# define ENABLE_ExternalStackcrawl 0
+#endif
+
#endif /* D_config */
diff --git a/server/tcf/config.h b/server/tcf/config.h
index 28110bf..1299eed 100644
--- a/server/tcf/config.h
+++ b/server/tcf/config.h
@@ -135,5 +135,6 @@
#define ENABLE_ExtendedMemoryErrorReports 0
#define ENABLE_ContextBreakpointCapabilities 0
#define ENABLE_ExtendedBreakpointStatus 0
+#define ENABLE_ExternalStackcrawl 0
#endif /* D_config */