The address is identical to the context_.ip. This is a good fallback
if the user forgets to add the context.
Change-Id: I93829cea195e4a3da8c91ba50d6f5e5bfa939ecd
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/96484
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
/** Singleton instance */
public static final UstDebugInfoBinaryAspect INSTANCE = new UstDebugInfoBinaryAspect();
/** Singleton instance */
public static final UstDebugInfoBinaryAspect INSTANCE = new UstDebugInfoBinaryAspect();
- private UstDebugInfoBinaryAspect() {}
+ private UstDebugInfoBinaryAspect() {
+ }
@Override
public String getName() {
@Override
public String getName() {
/* We need both the vpid and ip contexts */
ITmfEventField vpidField = event.getContent().getField(layout.contextVpid());
ITmfEventField ipField = event.getContent().getField(layout.contextIp());
/* We need both the vpid and ip contexts */
ITmfEventField vpidField = event.getContent().getField(layout.contextVpid());
ITmfEventField ipField = event.getContent().getField(layout.contextIp());
+ if (ipField == null) {
+ ipField = event.getContent().getField(layout.fieldAddr());
+ }
if (vpidField == null || ipField == null) {
return null;
}
if (vpidField == null || ipField == null) {
return null;
}
* First match the IP to the correct binary or library, by using the
* UstDebugInfoAnalysis.
*/
* First match the IP to the correct binary or library, by using the
* UstDebugInfoAnalysis.
*/
- UstDebugInfoAnalysisModule module =
- TmfTraceUtils.getAnalysisModuleOfClass(trace,
- UstDebugInfoAnalysisModule.class, UstDebugInfoAnalysisModule.ID);
+ UstDebugInfoAnalysisModule module = TmfTraceUtils.getAnalysisModuleOfClass(trace,
+ UstDebugInfoAnalysisModule.class, UstDebugInfoAnalysisModule.ID);
- * The analysis is not available for this trace, we won't be
- * able to find the information.
+ * The analysis is not available for this trace, we won't be able to
+ * find the information.
offset = ip - file.getBaseAddress();
} else {
/*
offset = ip - file.getBaseAddress();
} else {
/*
- * In the case of the object being non-position-independent, we
- * must pass the actual 'ip' address directly to addr2line.
+ * In the case of the object being non-position-independent, we must
+ * pass the actual 'ip' address directly to addr2line.