From 50dcf3dbfaa26e709704ba261321464cd9dcb56f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torbj=C3=B6rn=20Svensson?= Date: Fri, 28 May 2021 16:34:48 +0200 Subject: [PATCH] Bug 573688: Compare flags for the same address MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contributed by STMicroelectronics Change-Id: I4a7ea55b341653bbf01b9e69b3129023278104f9 Signed-off-by: Torbjörn Svensson --- .../org/eclipse/cdt/dsf/debug/model/DsfMemoryBlock.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/model/DsfMemoryBlock.java b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/model/DsfMemoryBlock.java index 804bf513903..3e22d90af1b 100644 --- a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/model/DsfMemoryBlock.java +++ b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/model/DsfMemoryBlock.java @@ -399,7 +399,7 @@ public class DsfMemoryBlock extends PlatformObject implements IMemoryBlockExtens if (i < newLength) { newBlock[i].setHistoryKnown(true); if (newBlock[i].getValue() != fBlock[distance + i].getValue() - || newBlock[distance + i].getFlags() != fBlock[i].getFlags()) { + || isReadableFlagSet(newBlock[i]) != isReadableFlagSet(fBlock[distance + i])) { newBlock[i].setChanged(true); } } @@ -484,7 +484,7 @@ public class DsfMemoryBlock extends PlatformObject implements IMemoryBlockExtens if ((distance + i) < newLength) { newBlock[distance + i].setHistoryKnown(true); if (newBlock[distance + i].getValue() != fBlock[i].getValue() - || newBlock[distance + i].getFlags() != fBlock[i].getFlags()) { + || isReadableFlagSet(newBlock[distance + i]) != isReadableFlagSet(fBlock[i])) { newBlock[distance + i].setChanged(true); } } @@ -509,6 +509,10 @@ public class DsfMemoryBlock extends PlatformObject implements IMemoryBlockExtens return fBlock; } + private boolean isReadableFlagSet(MemoryByte mb) { + return (mb.getFlags() & MemoryByte.READABLE) != 0; + } + /* (non-Javadoc) * @see org.eclipse.debug.core.model.IMemoryBlockExtension#setValue(java.math.BigInteger, byte[]) */