From 29897f142e601b8d2877e73e0bcc931be9e219cf Mon Sep 17 00:00:00 2001 From: Alexander Aksenov Date: Tue, 17 Mar 2015 17:15:22 +0300 Subject: [PATCH] [REFACTOR] Preload probe type Change-Id: I56c63029703208eeab9f8182b902df52b2b1dd94 Signed-off-by: Alexander Aksenov --- daemon/da_inst.c | 8 +------- daemon/da_protocol_inst.c | 14 ++++++-------- daemon/da_protocol_inst.h | 2 +- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/daemon/da_inst.c b/daemon/da_inst.c index 9756e79..b98c5ef 100644 --- a/daemon/da_inst.c +++ b/daemon/da_inst.c @@ -1001,19 +1001,13 @@ int ld_add_probes_by_feature(uint64_t to_enable_features_0, if ((f.feature_value & to_enable_features_0) | (f.feature_value & to_enable_features_1) == f.feature_value) { - int preload_probe_type = 0; - - if (is_always_probing_feature(f.feature_value)) - preload_probe_type = 1; - buf[0] = '\0'; feature_code_str(f.feature_value, f.feature_value, &buf[0], sizeof(buf)); LOGI("Set LD probes for %016LX <%s>\n", f.feature_value, &buf[0]); - feature_add_lib_inst_list(f.feature_ld, &us_inst->ld_lib_inst_list, - preload_probe_type); + feature_add_lib_inst_list(f.feature_ld, &us_inst->ld_lib_inst_list); } } diff --git a/daemon/da_protocol_inst.c b/daemon/da_protocol_inst.c index 4381575..e9b7d11 100644 --- a/daemon/da_protocol_inst.c +++ b/daemon/da_protocol_inst.c @@ -385,7 +385,7 @@ struct ld_preload_probe_t { } __attribute__ ((packed)); static int feature_add_func_inst_list(struct ld_lib_list_el_t ld_lib, - struct data_list_t *dest, int preload_probe_type) + struct data_list_t *dest) { uint32_t i = 0, num = 0; struct probe_list_t *probe_el; @@ -408,7 +408,7 @@ static int feature_add_func_inst_list(struct ld_lib_list_el_t ld_lib, func->orig_addr = ld_lib.probes[i].orig_addr; func->probe_type = SWAP_LD_PROBE; func->handler_addr = ld_lib.probes[i].handler_addr; - func->preload_type = (ld_lib.probes[i].block_type << 1) | preload_probe_type; + func->preload_type = ld_lib.probes[i].probe_type; probe_el->size = sizeof(struct ld_preload_probe_t); probe_el->func = (struct us_func_inst_plane_t *)func; @@ -421,7 +421,7 @@ static int feature_add_func_inst_list(struct ld_lib_list_el_t ld_lib, } static int feature_add_inst_lib(struct ld_lib_list_el_t ld_lib, - struct lib_list_t **dest, int preload_probe_type) + struct lib_list_t **dest) { *dest = new_lib(); if (*dest == NULL) { @@ -436,8 +436,7 @@ static int feature_add_inst_lib(struct ld_lib_list_el_t ld_lib, (*dest)->lib->bin_path = strdup(ld_lib.lib_name); - if (!feature_add_func_inst_list(ld_lib, (struct data_list_t *)*dest, - preload_probe_type)) { + if (!feature_add_func_inst_list(ld_lib, (struct data_list_t *)*dest)) { LOGE("funcs parsing error\n"); return 0; } @@ -449,7 +448,7 @@ static int feature_add_inst_lib(struct ld_lib_list_el_t ld_lib, } int feature_add_lib_inst_list(struct ld_feature_list_el_t *ld_lib_list, - struct lib_list_t **lib_list, int preload_probe_type) + struct lib_list_t **lib_list) { uint32_t i = 0, num; @@ -463,8 +462,7 @@ int feature_add_lib_inst_list(struct ld_feature_list_el_t *ld_lib_list, for (i = 0; i < num; i++) { LOGI(">add lib #%d <%s> probes_count=%lu\n", i, ld_lib_list->libs[i].lib_name, ld_lib_list->libs[i].probe_count); - if (!feature_add_inst_lib(ld_lib_list->libs[i], &lib, - preload_probe_type)) { + if (!feature_add_inst_lib(ld_lib_list->libs[i], &lib)) { // TODO maybe need free allocated memory up there LOGE("add LD lib #%d failed\n", i + 1); return 0; diff --git a/daemon/da_protocol_inst.h b/daemon/da_protocol_inst.h index d793719..31b8622 100644 --- a/daemon/da_protocol_inst.h +++ b/daemon/da_protocol_inst.h @@ -38,7 +38,7 @@ int parse_app_inst_list(struct msg_buf_t *msg, struct app_list_t **app_list); int feature_add_lib_inst_list(struct ld_feature_list_el_t *ld_lib_list, - struct lib_list_t **lib_list, int preload_probe_type); + struct lib_list_t **lib_list); int add_preload_probes(struct lib_list_t **lib_list); #endif /* __DA_PROTOCOL_INST__ */ -- 2.7.4