diff options
Diffstat (limited to 'agent/system/GNU/Linux/tcf/context-linux.c')
-rw-r--r-- | agent/system/GNU/Linux/tcf/context-linux.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/agent/system/GNU/Linux/tcf/context-linux.c b/agent/system/GNU/Linux/tcf/context-linux.c index 1d5a9f1d..e9bc9b8f 100644 --- a/agent/system/GNU/Linux/tcf/context-linux.c +++ b/agent/system/GNU/Linux/tcf/context-linux.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v1.0 which accompany this distribution. @@ -41,6 +41,7 @@ #include <tcf/framework/myalloc.h> #include <tcf/framework/waitpid.h> #include <tcf/framework/signames.h> +#include <tcf/services/symbols.h> #include <tcf/services/contextquery.h> #include <tcf/services/breakpoints.h> #include <tcf/services/expressions.h> @@ -913,6 +914,23 @@ int context_get_memory_map(Context * ctx, MemoryMap * map) { return 0; } +#if ENABLE_ContextISA +int context_get_isa(Context * ctx, ContextAddress addr, ContextISA * isa) { + memset(isa, 0, sizeof(ContextISA)); +#if defined(__i386__) + isa->def = "386"; +#elif defined(__x86_64__) + isa->def = "X86_64"; +#else + isa->def = NULL; +#endif +#if SERVICE_Symbols + if (get_context_isa(ctx, addr, &isa->isa, &isa->addr, &isa->size) < 0) return -1; +#endif + return 0; +} +#endif + static Context * find_pending_attach(pid_t pid) { LINK * l = attach_list.next; while (l != &attach_list) { |