First of a two-part update of Hdr:CPU.Generic*
Detail: Changes split into two parts to make the diffs readable. In this part: * Simplified the inclusion of Hdr:Machine.<Machine> - all current builds require a new enough version of objasm that the bug with GET directives inside conditionals appears to no longer apply. * A number of macros used to have large switches of almost-identical code depending upon whether an optional register was defined or not - these are now simplified by using a local variable to hold the register. * RETURNS is no longer wrapped in :LNOT: No26bitCode, since it could still be useful for exception return, non-transient callback handlers etc. However, its presence is still a warning sign for non-32-bit-compatible code, so it emits a warning unless you add an extra argument to indicate that you've vetted that the code is 32-bit safe. * Operator precedence bug fixed in SCPSR from Generic32 copied across to Generic26 (applies if bits to set/clear were given as expressions). * Conflicting set and clear bits in SCPSR now produce an error in both Generic26 and Generic32 (previously was only a warning in Generic26). * Added the same flag bit check in WritePSRc in Generic26 as already existed in Generic32. * Some comments reformatted for consistency. * Uses of mymrs replaced with MRS, and unconditional or flag-only uses of mymsr macro replaced with MSR (other ones remain to deal with the StrongARM bug). * RETURNVC and RETURNVS no longer accept NV condition code. * Removed BKPT macro (now implemented natively in objasm). Admin: Update originally from Rob Sprowson, bugfixed and split into two parts by me. Version 2.25. Tagged as 'HdrSrc-2_25'
Showing with 142 additions and 145 deletions