diff extra/README @ 396:d0c0fede5021

Update to gcc6809lw patch which may help compilation of some sources Due to persistent random compiler crashes and errors related to "M_REGS", this patch update (4.6.4-2) essentially removes the varius constraints allowing the "soft registers" in most operations. It was causing more problems than it solved and it is not clear that the logic behind those soft registers even makes sense any more. This patch also fixes a bogus comparison related to selecting the right size for a constant. Instead of the excessively clever comparison scheme that was previously in use, the comparisons have been replaced with straight forward comparisions for the top and bottom of the relevant 2's complement ranges.
author William Astle <lost@l-w.ca>
date Mon, 20 Jul 2015 22:32:41 -0600
parents b0fb675d1ed4
children c8ae69cdb5a9
line wrap: on
line diff
--- a/extra/README	Mon Jul 20 17:48:51 2015 -0600
+++ b/extra/README	Mon Jul 20 22:32:41 2015 -0600
@@ -16,8 +16,7 @@
 
 Similar to the "as" script above except for lwar.
 
-gcc6809lw-4.6.1-1.patch
-gcc6809lw-4.6.4-1.patch
+gcc6809lw-*.patch
 
 These are patches to the main gcc source distribution for specific releases. 
 The last number after the dash is a patch level for the specific patch. It
@@ -93,3 +92,19 @@
 for "root" set up correctly if your install prefix requires root privileges.
 
 The above is WOMM certified. YMMV.
+
+NOTES ABOUT SPECIFIC PATCHES
+============================
+
+gcc6809lw-4.6.4-2.patch
+
+This patch essentially disables the "soft registers". These were causing
+problems leading to compiler crashes. Removing the "t" constraint from
+the instruction patterns allowed various issues to go away. It is not clear
+if the original reasoning behind these soft registers is even valid any
+more.
+
+Also fixes a clearly incorrect comparision when determining if a constant
+fits in 16 bits. For clarity, both the 8 bit and 16 bit comparisons are
+replaced with straight forward range comparisons rather than the excessively
+clever scheme that was present before.