size of bfd_vma
Ian Lance Taylor
ian@airs.com
Fri Jul 15 17:30:00 GMT 2005
Nick Clifton <nickc@redhat.com> writes:
> Hi Mohamed,
>
> > I have already dad a look to bfd/bfd-in.h and what I understood that
> > the bfd_vma type is defined as an "unsigned long" on 32 bits machine
> > and as an "unsigned long long" on 64 ones;
> > Am I correct?
>
> Not quite. A bfd_vma is defined as a BFD_HOST_U_64_BIT type which is
> computed by the configure script as whatever C type can hold an
> unsigned 64-bit value. Thus on a 32-bit host it will be a "unsigned
> long long" and on a 64-bit host it will be an "unsigned long". Either
> way a bfd_vma is a 64-bit unsigned value.
Not always. bfd_vma will be a 32-bit unsigned value if:
1) unsigned long on the host is 32 bits;
2) none of the targets require 64 bits, as set by either:
a) want64=true in config.bfd;
b) target_size=64 in configure.in
3) the user did not configure with --enable-64-bit-bfd
Ian
More information about the Binutils
mailing list