1819696 Members
3572 Online
109605 Solutions
New Discussion юеВ

ILP64 and LP64

 
RANNI
Occasional Contributor

ILP64 and LP64

Dear gentlemen, i need your help !
here are my questions :
i know the difference between the both model ( one is integer 32 bits long and the other 64 bits) but
1- the implementation is hardware independent? i mean if you can install a linux LP64 model you could install for sure ILP64 model for the same hardware.
2- What kind of linux use ILP64 model (redhat,suse,mandriva, ...)
3- (newbie and sutpid question) is it possible to have core starting the LP model and an other one in ILP then you may only have to choose at boot time what kind of systme you need ?

Thank you.
Laurent
2 REPLIES 2
Mike Stroyan
Honored Contributor

Re: ILP64 and LP64

The choice of ILP64 or LP64 or P64 is a matter of the software environment.
Hardware with support of 64 bit addresses and integers could be used with
32 or 64 bit integers. Microsoft windows even uses 32 bit longs in combination
with 64 bit pointers.

I don't know of any linux that uses an ILP64 model. There is no reason
to make integers 64 bits wide when longs can take on that role. It would be
less efficient to have 64 bit integers as they would require more memory.

It is possible to provide one kernel that handles different widths
of integer and long and pointers. The mode can vary from one process
to another even shareing a single CPU core. But it is uncommon.
Providing a different model requires kernel call support, library support,
and compiler and header file support. That requires a lot of effort to
create and maintain. The only common mixing of different models in
one kernel is x86_64 LP64 and i386 mode with 32 bit pointers.
There is also simultaneous support for ia64 and i386 on ia64 kernels.
Dennis Handly
Acclaimed Contributor

Re: ILP64 and LP64

HP-UX kernels support both ILP32 and LP64 at the same time.

Of course HP-UX needs to have two copies of every runtime lib. The convention is /usr/lib/hpux32 and /usr/lib/hpux64.

>Mike: Providing a different model requires kernel call support, library support, and compiler and header file support. That requires a lot of effort to create and maintain.

Exactly but our HP-UX customers have demanded this.