Browse Source

morphos/lineinfo: updated the address adjustment comment added in r40857, no functional change

git-svn-id: trunk@40860 -
Károly Balogh 6 years ago
parent
commit
fd1a09a254
1 changed files with 6 additions and 5 deletions
  1. 6 5
      rtl/morphos/lineinfo.pp

+ 6 - 5
rtl/morphos/lineinfo.pp

@@ -434,11 +434,12 @@ begin
   Store:=BackTraceStrFunc;
   Store:=BackTraceStrFunc;
   BackTraceStrFunc:=@SysBackTraceStr;
   BackTraceStrFunc:=@SysBackTraceStr;
 
 
-  { for valid stacktraces at least you have to substract sizeof(pointer)
-    from the trace address otherwise the lineinfo might be off-by-one,
-    because of course the backtrace addresses don't point to the jump
-    instructions, but the following address, which might belong to a
-    different source line entirely (KB) }
+  { on most architectures, (but not everywhere, Sparc is a notable exception)
+    for valid stacktraces you have to substract sizeof(pointer), or similar
+    instruction length from the trace address otherwise the lineinfo might
+    be off-by-one, because of course the backtrace addresses don't point to
+    the jump instructions, but the following address, which might belong to
+    a different source line entirely (KB) }
   Success:=GetLineInfo(ptruint(addr-sizeof(pointer)),func,source,line);
   Success:=GetLineInfo(ptruint(addr-sizeof(pointer)),func,source,line);
 
 
 { create string }
 { create string }