On Mon, 05 Jun 2017 09:18:31 -0600, "Todd C. Miller" wrote:
> If you assign 0x to a long on i386 the compiler should warn
> about it since it is too big to fit unless the value is unsigned.
> That is why ULONG_MAX is defined as defined as 0xUL on
> 32-bit platforms.
I suppose it
On Mon, 05 Jun 2017 16:32:01 +0200, Christian Weisgerber wrote:
> Todd C. Miller:
>
> > I think you want 0xU, not 0xL. Otherwise you will
> > have the same issue on i386.
>
> ???
>
> We need a constant that comes out as the "long" value
> 0x on 64-bit
Todd C. Miller:
> I think you want 0xU, not 0xL. Otherwise you will
> have the same issue on i386.
???
We need a constant that comes out as the "long" value
0x on 64-bit platforms
0x on 32-bit platforms (degenerate case)
--
Christian
I think you want 0xU, not 0xL. Otherwise you will
have the same issue on i386.
- todd
On i386, binutils-2.17/gas fails to build with clang:
/usr/src/gnu/usr.bin/binutils-2.17/gas/config/tc-i386.c:2107:53: error: signed
shift result (0x1) requires 34 bits to represent, but 'offsetT'
(aka 'long') only has 32 bits [-Werror,-Wshift-overflow]
&&