This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
0xffffffff when BFD64
- To: ian at zembu dot com
- Subject: 0xffffffff when BFD64
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Fri, 7 Apr 2000 14:17:41 +1000 (EST)
- cc: binutils at sourceware dot cygnus dot com
On Fri, 7 Apr 2000, I wrote:
> Alexandre, to get this result your sun compiler apparently is sign
> extending 0xffffffff.
A quick grep over the binutils sources shows many instances of 0xffffffff
being stored in a bfd_vma or bfd_signed_vma. Some of them even have a
FIXME regarding the high bits. How about I move the N_ONES macro from
reloc.c to bfd-in.h, and replace 0xffffffff with N_ONES(32) in all these
cases? N_ONES(32) should give the right result for BFD64 even with
compilers that sign extend 0xffffffff.
I guess we should check all hex constants in the range 0x80000000 to
0xffffffff, replacing them with const & N_ONES(32). Blechh.
Has anyone a better idea?
--
Linuxcare. Support for the Revolution.