dl_iterate_phdr(_patch_bin, feature);
}
-static void _process_features(void)
+void process_features(void)
{
unsigned int i;
inited = true;
}
_process_target_bins(data, size);
- _process_features();
+ process_features();
}
void process_got_patching(char *data, size_t size);
void restore_got_patching(void);
void init_features(void);
+void process_features(void);
#endif /* __GOT_PATCHING_H__ */
gTraceInfo.features.feature_0, gTraceInfo.features.feature_1);
}
+static void _receive_target_bins(char *data_buf, size_t size)
+{
+ process_got_patching(data_buf, size);
+}
+
static void _process_target_bins(char *data_buf, size_t size)
{
process_got_patching(data_buf, size);
+ process_features();
}
void application_exit()
recved |= MSG_CONFIG_RECV;
} else if (log.type == APP_MSG_TARGET_BINS) {
PRINTMSG("APP_MSG_TARGET_BINS");
- _process_target_bins((char *)data_buf, data_size);
+ _receive_target_bins((char *)data_buf, data_size);
recved |= MSG_TARGET_BINS_RECV;
} else {
// unexpected case