This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: size of bfd_vma
- From: Ian Lance Taylor <ian at airs dot com>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: korbosli at webmails dot com, binutils at sources dot redhat dot com
- Date: 15 Jul 2005 10:29:57 -0700
- Subject: Re: size of bfd_vma
- References: <200507150938.j6F9c2np022810@mx2.redhat.com><42D7BCF7.8080409@redhat.com>
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