From 04f4e5cdcfa53ed254278e0924a41a19f29a4080 Mon Sep 17 00:00:00 2001
From: Jeffrey Lee <jlee@gitlab.riscosopen.org>
Date: Thu, 22 Oct 2009 00:40:01 +0000
Subject: [PATCH] Fix error handling for sparse dynamic area resize operations,
 increase Cortex kernel version number to 5.15

Detail:
  s/ChangeDyn - Swap CMP with TEQ to avoid accidental clobbering of V flag before its state is checked on return from a SWI. Errors encountered during sparse dynamic area resize operations (OS_DynamicArea 9 & 10) should now be reported properly.
  Version - Update kernel version/date to 5.15, to match current HAL version. This change is to allow modules to properly detect whether the kernel has the sparse dynamic area fix - it does not (yet) mean that the Cortex kernel contains all the features of the current development HAL kernel!
Admin:
  Tested on rev C2 beagleboard


Version 5.35, 4.79.2.98.2.14. Tagged as 'Kernel-5_35-4_79_2_98_2_14'
---
 Version     |  6 +++---
 VersionASM  | 10 +++++-----
 VersionNum  | 14 +++++++-------
 s/ChangeDyn |  2 +-
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/Version b/Version
index 79a8bd9..5a12cd6 100644
--- a/Version
+++ b/Version
@@ -14,9 +14,9 @@ Version SETA    Module_Version
 VString SETS    Module_MajorVersion
 Date    SETS    Module_Date      ; version for STB/NC OS
         |
-Version SETA    514
-VString SETS    "5.14"
-Date    SETS    "03 Dec 2008"    ; version for RISC OS on desktop computers
+Version SETA    515
+VString SETS    "5.15"
+Date    SETS    "24 Apr 2009"    ; version for RISC OS on desktop computers
 
                                  ; you may also wish to update the welcome
                                  ; and OS information dialogue box templates
diff --git a/VersionASM b/VersionASM
index c7b986a..df8506b 100644
--- a/VersionASM
+++ b/VersionASM
@@ -13,11 +13,11 @@
                         GBLS    Module_ComponentPath
 Module_MajorVersion     SETS    "5.35"
 Module_Version          SETA    535
-Module_MinorVersion     SETS    "4.79.2.98.2.13"
-Module_Date             SETS    "30 Sep 2009"
-Module_ApplicationDate  SETS    "30-Sep-09"
+Module_MinorVersion     SETS    "4.79.2.98.2.14"
+Module_Date             SETS    "22 Oct 2009"
+Module_ApplicationDate  SETS    "22-Oct-09"
 Module_ComponentName    SETS    "Kernel"
 Module_ComponentPath    SETS    "castle/RiscOS/Sources/Kernel"
-Module_FullVersion      SETS    "5.35 (4.79.2.98.2.13)"
-Module_HelpVersion      SETS    "5.35 (30 Sep 2009) 4.79.2.98.2.13"
+Module_FullVersion      SETS    "5.35 (4.79.2.98.2.14)"
+Module_HelpVersion      SETS    "5.35 (22 Oct 2009) 4.79.2.98.2.14"
                         END
diff --git a/VersionNum b/VersionNum
index 3adf83b..aba0f48 100644
--- a/VersionNum
+++ b/VersionNum
@@ -5,19 +5,19 @@
  *
  */
 #define Module_MajorVersion_CMHG        5.35
-#define Module_MinorVersion_CMHG        4.79.2.98.2.13
-#define Module_Date_CMHG                30 Sep 2009
+#define Module_MinorVersion_CMHG        4.79.2.98.2.14
+#define Module_Date_CMHG                22 Oct 2009
 
 #define Module_MajorVersion             "5.35"
 #define Module_Version                  535
-#define Module_MinorVersion             "4.79.2.98.2.13"
-#define Module_Date                     "30 Sep 2009"
+#define Module_MinorVersion             "4.79.2.98.2.14"
+#define Module_Date                     "22 Oct 2009"
 
-#define Module_ApplicationDate          "30-Sep-09"
+#define Module_ApplicationDate          "22-Oct-09"
 
 #define Module_ComponentName            "Kernel"
 #define Module_ComponentPath            "castle/RiscOS/Sources/Kernel"
 
-#define Module_FullVersion              "5.35 (4.79.2.98.2.13)"
-#define Module_HelpVersion              "5.35 (30 Sep 2009) 4.79.2.98.2.13"
+#define Module_FullVersion              "5.35 (4.79.2.98.2.14)"
+#define Module_HelpVersion              "5.35 (22 Oct 2009) 4.79.2.98.2.14"
 #define Module_LibraryVersionInfo       "5:35"
diff --git a/s/ChangeDyn b/s/ChangeDyn
index 70639be..05cb911 100644
--- a/s/ChangeDyn
+++ b/s/ChangeDyn
@@ -1731,7 +1731,7 @@ DynArea_SparseChange                    ; common entry point for claim and relea
         CMP     r4,#0
         RSBEQ   r1,r1,#0               ;batshrink for release, batgrow for claim
         SWI     XOS_ChangeDynamicArea
-        CMP     r4,#0
+        TEQ     r4,#0
         RSBEQ   r1,r1,#0
         LDR     r9,[r10,#DANode_Size]
         ADD     r9,r9,r1
-- 
GitLab