comparison 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
comparison
equal deleted inserted replaced
395:26d2791672b1 396:d0c0fede5021
14 14
15 ar 15 ar
16 16
17 Similar to the "as" script above except for lwar. 17 Similar to the "as" script above except for lwar.
18 18
19 gcc6809lw-4.6.1-1.patch 19 gcc6809lw-*.patch
20 gcc6809lw-4.6.4-1.patch
21 20
22 These are patches to the main gcc source distribution for specific releases. 21 These are patches to the main gcc source distribution for specific releases.
23 The last number after the dash is a patch level for the specific patch. It 22 The last number after the dash is a patch level for the specific patch. It
24 is worth noting that a patch for a particular minor version of GCC may work 23 is worth noting that a patch for a particular minor version of GCC may work
25 with later minor versions in the same release sequence. That is, a patch 24 with later minor versions in the same release sequence. That is, a patch
91 90
92 8. Run "make install". Note that you will have to have your PATH variable 91 8. Run "make install". Note that you will have to have your PATH variable
93 for "root" set up correctly if your install prefix requires root privileges. 92 for "root" set up correctly if your install prefix requires root privileges.
94 93
95 The above is WOMM certified. YMMV. 94 The above is WOMM certified. YMMV.
95
96 NOTES ABOUT SPECIFIC PATCHES
97 ============================
98
99 gcc6809lw-4.6.4-2.patch
100
101 This patch essentially disables the "soft registers". These were causing
102 problems leading to compiler crashes. Removing the "t" constraint from
103 the instruction patterns allowed various issues to go away. It is not clear
104 if the original reasoning behind these soft registers is even valid any
105 more.
106
107 Also fixes a clearly incorrect comparision when determining if a constant
108 fits in 16 bits. For clarity, both the 8 bit and 16 bit comparisons are
109 replaced with straight forward range comparisons rather than the excessively
110 clever scheme that was present before.