Author: tooch Date: Wed Sep 21 19:16:42 2011 New Revision: 2524 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2524
Log: ARM - >resolve broken; should be mask-op-and-or-offset, not simple add. Test: code foo b `0 F:` sub tos,tos,tos 0 L: add tos,tos,tos c;
Modified: cpu/arm/assem.fth
Modified: cpu/arm/assem.fth ============================================================================== --- cpu/arm/assem.fth Tue Sep 20 08:00:08 2011 (r2523) +++ cpu/arm/assem.fth Wed Sep 21 19:16:42 2011 (r2524) @@ -1438,7 +1438,10 @@ \ These implementation factors are used by the local labels package : <mark ( -- <mark ) here ; : >mark ( -- >mark ) here ; -: >resolve ( >mark -- ) here over >br-offset over asm@ + swap asm! ; +: >resolve ( >mark -- ) + \ Can't use put-branch because this may be a conditional branch. + here over >br-offset over asm@ h# ff000000 land or swap asm! +; : <resolve ( <mark -- <mark ) ;
headers