Browse Source

Move {$checkpointer off} before interface and relax windows data bss check to also accept sections in between like .rdata

git-svn-id: trunk@34262 -
pierre 9 years ago
parent
commit
5884fbc8b0
1 changed files with 5 additions and 7 deletions
  1. 5 7
      rtl/inc/heaptrc.pp

+ 5 - 7
rtl/inc/heaptrc.pp

@@ -12,6 +12,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
  **********************************************************************}
  **********************************************************************}
+
+{$checkpointer off}
+
 unit heaptrc;
 unit heaptrc;
 interface
 interface
 
 
@@ -22,7 +25,6 @@ interface
   {$inline off}
   {$inline off}
 {$endif FPC_HEAPTRC_EXTRA}
 {$endif FPC_HEAPTRC_EXTRA}
 
 
-{$checkpointer off}
 {$TYPEDADDRESS on}
 {$TYPEDADDRESS on}
 
 
 {$if defined(win32) or defined(wince)}
 {$if defined(win32) or defined(wince)}
@@ -988,12 +990,8 @@ begin
   if (ptruint(p)>ptruint(get_frame)) and
   if (ptruint(p)>ptruint(get_frame)) and
      (p<StackTop) then
      (p<StackTop) then
     exit;
     exit;
-  { inside data ? }
-  if (ptruint(p)>=ptruint(@sdata)) and (ptruint(p)<ptruint(@edata)) then
-    exit;
-
-  { inside bss ? }
-  if (ptruint(p)>=ptruint(@sbss)) and (ptruint(p)<ptruint(@ebss)) then
+  { inside data, rdata ... bss }
+  if (ptruint(p)>=ptruint(@sdata)) and (ptruint(p)<ptruint(@ebss)) then
     exit;
     exit;
   { is program multi-threaded and p inside Threadvar range? }
   { is program multi-threaded and p inside Threadvar range? }
   if TlsKey^<>-1 then
   if TlsKey^<>-1 then