X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lttng%2Forg.eclipse.tracecompass.lttng2.ust.core%2Fsrc%2Forg%2Feclipse%2Ftracecompass%2Flttng2%2Fust%2Fcore%2Fanalysis%2Fdebuginfo%2FUstDebugInfoAnalysisModule.java;fp=lttng%2Forg.eclipse.tracecompass.lttng2.ust.core%2Fsrc%2Forg%2Feclipse%2Ftracecompass%2Flttng2%2Fust%2Fcore%2Fanalysis%2Fdebuginfo%2FUstDebugInfoAnalysisModule.java;h=8f9cf5115134ab59ff51f1fe057553697c383e09;hb=d89151ba34c29c9667679d7c5b70ee8bd2796b61;hp=30cd99d975ac80c6ae0259c945c2ba72795fbb9d;hpb=9cd9a13cbdd7be319969d6c3811d1fed66a15d19;p=deliverable%2Ftracecompass.git diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/analysis/debuginfo/UstDebugInfoAnalysisModule.java b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/analysis/debuginfo/UstDebugInfoAnalysisModule.java index 30cd99d975..8f9cf51151 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/analysis/debuginfo/UstDebugInfoAnalysisModule.java +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/lttng2/ust/core/analysis/debuginfo/UstDebugInfoAnalysisModule.java @@ -151,7 +151,20 @@ public class UstDebugInfoAnalysisModule extends TmfStateSystemAnalysisModule { } String filePath = interval.getStateValue().unboxStr(); - files.add(new UstDebugInfoBinaryFile(filePath, buildId)); + /* Retrieve the value of "is_pic" at that time */ + try { + int isPicQuark = ss.getQuarkRelative(buildIdQuark, UstDebugInfoStateProvider.IS_PIC_ATTRIB); + int isPicVal = ss.querySingleState(interval.getStartTime(), isPicQuark).getStateValue().unboxInt(); + boolean isPic = (isPicVal != 0); + + files.add(new UstDebugInfoBinaryFile(filePath, buildId, isPic)); + + } catch (AttributeNotFoundException e) { + /* We should have built "is_pic" sub-attributes */ + throw new IllegalStateException("Missing expected \"is_pic\" attribute"); //$NON-NLS-1$ + } catch (StateSystemDisposedException e) { + /* We're closing down, ignore */ + } } } return files; @@ -229,7 +242,12 @@ public class UstDebugInfoAnalysisModule extends TmfStateSystemAnalysisModule { int buildIdQuark = potentialBuildIdQuark.get().intValue(); String buildId = ss.getAttributeName(buildIdQuark); String filePath = fullState.get(buildIdQuark).getStateValue().unboxStr(); - return new UstDebugInfoLoadedBinaryFile(baddr, filePath, buildId); + + int isPicQuark = ss.getQuarkRelative(buildIdQuark, UstDebugInfoStateProvider.IS_PIC_ATTRIB); + int isPicVal = fullState.get(isPicQuark).getStateValue().unboxInt(); + boolean isPic = (isPicVal != 0); + + return new UstDebugInfoLoadedBinaryFile(baddr, filePath, buildId, isPic); } catch (AttributeNotFoundException e) { /* We're only using quarks we've checked for. */