Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2018-03-02 19:04:30 +0000
committerEugene Tarassov2018-03-02 19:04:30 +0000
commitc21ca53fc2dba3e6939f89f03d0443067c469b65 (patch)
tree2d25e4002d16003dfe21c30d58fecb351129fe75 /agent/tcf/services/symbols_proxy.c
parent7802f84dfae9b827ce5e73b3cc7a297002b5beb1 (diff)
downloadorg.eclipse.tcf.agent-c21ca53fc2dba3e6939f89f03d0443067c469b65.tar.gz
org.eclipse.tcf.agent-c21ca53fc2dba3e6939f89f03d0443067c469b65.tar.xz
org.eclipse.tcf.agent-c21ca53fc2dba3e6939f89f03d0443067c469b65.zip
TCF Agent: Symbols service: new symbol property: "LinkageName"
Diffstat (limited to 'agent/tcf/services/symbols_proxy.c')
-rw-r--r--agent/tcf/services/symbols_proxy.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/agent/tcf/services/symbols_proxy.c b/agent/tcf/services/symbols_proxy.c
index 4d1a003d..e163ad04 100644
--- a/agent/tcf/services/symbols_proxy.c
+++ b/agent/tcf/services/symbols_proxy.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2017 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2018 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.
@@ -409,6 +409,7 @@ static void free_sym_info_cache(SymInfoCache * c) {
loc_free(c->container_id);
loc_free(c->name);
loc_free(c->children_ids);
+ loc_free(c->props.linkage_name);
if (c->update_owner != NULL) context_unlock(c->update_owner);
release_error_report(c->error_get_context);
release_error_report(c->error_get_children);
@@ -663,6 +664,7 @@ static void read_context_data(InputStream * inp, const char * name, void * args)
else if (strcmp(name, "DecimalScale") == 0) s->props.decimal_scale = (int)json_read_long(inp);
else if (strcmp(name, "BitStride") == 0) s->props.bit_stride = (unsigned)json_read_ulong(inp);
else if (strcmp(name, "LocalEntryOffset") == 0) s->props.local_entry_offset = (unsigned)json_read_ulong(inp);
+ else if (strcmp(name, "LinkageName") == 0) s->props.linkage_name = json_read_alloc_string(inp);
else if (strcmp(name, "Flags") == 0) s->flags = json_read_ulong(inp);
else if (strcmp(name, "Frame") == 0) s->frame = (int)json_read_long(inp);
else json_skip_object(inp);
@@ -738,17 +740,19 @@ static SymInfoCache * get_sym_info_cache(const Symbol * sym, int acc_mode) {
s->has_length = 0;
s->has_lower_bound = 0;
context_unlock(s->update_owner);
+ loc_free(s->name);
loc_free(s->type_id);
loc_free(s->base_type_id);
loc_free(s->index_type_id);
loc_free(s->container_id);
- loc_free(s->name);
+ loc_free(s->props.linkage_name);
s->update_owner = NULL;
+ s->name = NULL;
s->type_id = NULL;
s->base_type_id = NULL;
s->index_type_id = NULL;
s->container_id = NULL;
- s->name = NULL;
+ s->props.linkage_name = NULL;
}
}
if (!s->done_context) {

Back to the top