bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/22335] Gas expression solver can cause wrong code for 32-bit BF


From: amodra at gmail dot com
Subject: [Bug gas/22335] Gas expression solver can cause wrong code for 32-bit BFD builds.
Date: Mon, 30 Oct 2017 03:29:43 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22335

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at gmail dot com

--- Comment #3 from Alan Modra <amodra at gmail dot com> ---
> .dc.l ((0x17<<23)+((0xfede4194/8192)<<4)+8)
>
> That's because gas is doing a signed divide, and 0xfede4194 is negative
> as a 32-bit number.

Yes, exactly.  It might be possible to make a gas expression behave a little
more like the equivalent C expression by making sure the X_unsigned flag is
properly set, propagated, and affects arithmetic and comparison operators. 
There is a lot more than just division to fix.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]