Re: Integer Division on 32 Bit Machines

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

 



Hi Dave,

On Thu, Sep 09, 2010 at 06:16:07PM -0700, Dave Hylands wrote:
> > I've understood so far your explanations. But one thing I am
> > missing: I claim that I do not do an 64-bit division, but an 32-bit
> > division.
> >
> > Why? I have run make tags to create an architecture dependent tags
> > file. When I go to s64 and jump to the definition I land in
> > include/asm-generic/int-l64.h . There is the typedef:
> >
> > typedef signed long s64;
> 
> I think you're looking in the wrong file.
> 
> include/linux/types.h includes asm/types.h
> arch/x86/include/asm/types.h includes asm-generic/types.h
> include/asm-generic/types.h includes asm-generic/int-ll64.h
> include/asm-generic/int-ll64.h has the following typedef for s64:
> 
> typedef signed long long s64;
> 
> which is in fact a 64-bit type.
> 
You're right. I've misused ctags within vim - it was configured to jump
to the first entry if there are several files found (for vim users: now
I use g] instead of CTRL-] so that I get a list of all hits).

So for example I get for g] on "s64" the following list (showing only the first
two hits):

   # pri verw. tag             Datei
  1 F   t    s64               include/asm-generic/int-l64.h
               typedef signed long s64;
  2 F   t    s64               include/asm-generic/int-ll64.h
               typedef signed long long s64;
...

Is there any way to know which one is the correct one, i.e. the one
which is really used in my context?

Am I correct that arch/x86/include/asm/types.h is for all 32-bit
machines and arch/ia64/include/asm/types.h is for all 64-bit machines
with an intel compatible architecture?

Thanks again!
Andreas

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux