/*OUT*/SizeT* n_dimage )
{
HChar* debugpath = NULL;
+ HChar* extrapath = VG_(clo_extra_debuginfo_path);
Addr addr = 0;
UWord size = 0;
debugpath = ML_(dinfo_zalloc)(
"di.fdf.3",
- VG_(strlen)(objdir) + VG_(strlen)(debugname) + 32);
+ VG_(strlen)(objdir) + VG_(strlen)(debugname) + 32 +
+ (extrapath ? VG_(strlen)(extrapath) : 0));
VG_(sprintf)(debugpath, "%s/%s", objdir, debugname);
if ((addr = open_debug_file(debugpath, NULL, crc, rel_ok, &size)) == 0) {
VG_(sprintf)(debugpath, "/usr/lib/debug%s/%s", objdir, debugname);
addr = open_debug_file(debugpath, NULL, crc, rel_ok, &size);
+ if ((addr = open_debug_file(debugpath, NULL, crc, rel_ok, &size)) == 0) {
+ if (extrapath) {
+ VG_(sprintf)(debugpath, "%s%s/%s", extrapath,
+ objdir, debugname);
+ addr = open_debug_file(debugpath, NULL, crc, rel_ok, &size);
+ }
+ }
}
}
" part of the path after 'string'. Allows removal\n"
" of path prefixes. Use this flag multiple times\n"
" to specify a set of prefixes to remove.\n"
+" --extra-debuginfo-path=path absolute path to search for additional\n"
+" debug symbols, in addition to existing default\n"
+" well known search paths.\n"
" --smc-check=none|stack|all|all-non-file [stack]\n"
" checks for self-modifying code: none, only for\n"
" code found in stacks, for all code, or for all\n"
VG_(clo_n_fullpath_after)++;
}
+ else if VG_STR_CLO (arg, "--extra-debuginfo-path",
+ VG_(clo_extra_debuginfo_path)) {}
+
else if VG_STR_CLO(arg, "--require-text-symbol", tmp_str) {
if (VG_(clo_n_req_tsyms) >= VG_CLO_MAX_REQ_TSYMS) {
VG_(fmsg_bad_option)(arg,
const HChar* VG_(clo_suppressions)[VG_CLO_MAX_SFILES];
Int VG_(clo_n_fullpath_after) = 0;
const HChar* VG_(clo_fullpath_after)[VG_CLO_MAX_FULLPATH_AFTER];
+HChar* VG_(clo_extra_debuginfo_path) = NULL;
UChar VG_(clo_trace_flags) = 0; // 00000000b
UChar VG_(clo_profile_flags) = 0; // 00000000b
Int VG_(clo_trace_notbelow) = -1; // unspecified
extern Int VG_(clo_n_fullpath_after);
extern const HChar* VG_(clo_fullpath_after)[VG_CLO_MAX_FULLPATH_AFTER];
+/* Full path to additional path to search for debug symbols */
+extern HChar* VG_(clo_extra_debuginfo_path);
+
/* DEBUG: print generated code? default: 00000000 ( == NO ) */
extern UChar VG_(clo_trace_flags);
/* DEBUG: do bb profiling? default: 00000000 ( == NO ) */
part of the path after 'string'. Allows removal
of path prefixes. Use this flag multiple times
to specify a set of prefixes to remove.
+ --extra-debuginfo-path=path absolute path to search for additional
+ debug symbols, in addition to existing default
+ well known search paths.
--smc-check=none|stack|all|all-non-file [stack]
checks for self-modifying code: none, only for
code found in stacks, for all code, or for all
part of the path after 'string'. Allows removal
of path prefixes. Use this flag multiple times
to specify a set of prefixes to remove.
+ --extra-debuginfo-path=path absolute path to search for additional
+ debug symbols, in addition to existing default
+ well known search paths.
--smc-check=none|stack|all|all-non-file [stack]
checks for self-modifying code: none, only for
code found in stacks, for all code, or for all