X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=converter%2Fbabeltrace.c;h=d80b1198fafe2cb58dacca8bc185f75bcf2b0f97;hp=2718a46176f9ad6c3340cd73fbd4bcbd53284851;hb=a9049b491173a73f8544a16a95ab4e5375f28466;hpb=3be1e3c98864ad12cab2e53c42db5252193367f5 diff --git a/converter/babeltrace.c b/converter/babeltrace.c index 2718a461..d80b1198 100644 --- a/converter/babeltrace.c +++ b/converter/babeltrace.c @@ -106,6 +106,8 @@ enum { OPT_CLOCK_FORCE_CORRELATE, OPT_STREAM_INTERSECTION, OPT_DEBUG_INFO_DIR, + OPT_DEBUG_INFO_FULL_PATH, + OPT_DEBUG_INFO_TARGET_PREFIX, }; /* @@ -138,6 +140,8 @@ static struct poptOption long_options[] = { { "stream-intersection", 0, POPT_ARG_NONE, NULL, OPT_STREAM_INTERSECTION, NULL, NULL }, #ifdef ENABLE_DEBUGINFO { "debug-info-dir", 0, POPT_ARG_STRING, NULL, OPT_DEBUG_INFO_DIR, NULL, NULL }, + { "debug-info-full-path", 0, POPT_ARG_NONE, NULL, OPT_DEBUG_INFO_FULL_PATH, NULL, NULL }, + { "debug-info-target-prefix", 0, POPT_ARG_STRING, NULL, OPT_DEBUG_INFO_TARGET_PREFIX, NULL, NULL }, #endif { NULL, 0, 0, NULL, 0, NULL, NULL }, }; @@ -188,6 +192,8 @@ static void usage(FILE *fp) #ifdef ENABLE_DEBUGINFO fprintf(fp, " --debug-info-dir Directory in which to look for debugging information\n"); fprintf(fp, " files. (default: /usr/lib/debug/)\n"); + fprintf(fp, " --debug-info-target-prefix Directory to use as a prefix for executable lookup\n"); + fprintf(fp, " --debug-info-full-path Show full debug info source and binary paths (if available)\n"); #endif list_formats(fp); fprintf(fp, "\n"); @@ -418,6 +424,16 @@ static int parse_options(int argc, char **argv) goto end; } break; + case OPT_DEBUG_INFO_FULL_PATH: + opt_debug_info_full_path = 1; + break; + case OPT_DEBUG_INFO_TARGET_PREFIX: + opt_debug_info_target_prefix = (char *) poptGetOptArg(pc); + if (!opt_debug_info_target_prefix) { + ret = -EINVAL; + goto end; + } + break; default: ret = -EINVAL; goto end; @@ -838,6 +854,7 @@ end: free(opt_output_format); free(opt_output_path); free(opt_debug_info_dir); + free(opt_debug_info_target_prefix); g_ptr_array_free(opt_input_paths, TRUE); if (partial_error) exit(EXIT_FAILURE);