Fix an issue with local BLX branches not being turned into BL branches.

git-svn-id: branches/laksen/armiw@29355 -
This commit is contained in:
Jeppe Johansen 2014-12-28 23:27:30 +00:00
parent 9a482d5281
commit cbd75428c0

View File

@ -3377,6 +3377,11 @@ implementation
else
begin
offset:=((currsym.offset-insoffset-8) and $3fffffe);
{ Turn BLX into BL if the destination isn't odd, could happen with recursion }
if not odd(offset shr 1) then
bytes:=(bytes and $EB000000) or $EB000000;
bytes:=bytes or ((offset shr 2) and $ffffff);
bytes:=bytes or ((offset shr 1) and $1) shl 24;
end;