Mailinglist Archive: opensuse (5130 mails)

< Previous Next >
Re: [SLE] Totally OT: 64/32,... -- memory models are _everything_ to programs
  • From: "Orn E. Hansen" <orn_hansen@xxxxxxxxxxx>
  • Date: Wed, 17 May 2006 23:21:52 +0200
  • Message-id: <200605172321.52642.orn_hansen@xxxxxxxxxxx>
Mánudaginn 17 maí 2006 14:45 skrifaði Jerry Feldman:
> One thing that comes into play here when talking about memory models is
> virtual memory. A 32-bit program can only directly address 4GB of data
> (segmented into stack, text, initialized data, heap, and mmapped segments)
> where a 64-bit program can address 16 exabytes. (Certainly there are
> physical limitations of the chips - PAE-52 for instance), and the 2.6
> kernel permits addresses up to 64GB.
>
The issue at hand, basically speaking is that you've got a 64bit program
calling a 32bit library. This is basically the issue.

x = (address *)stub(address*);

As suggested by Brian, the Linux people have said the above "address" is
always 64bits on a true 64 bit system. Therefore when looking for "stub" as
a library.

(address32 *)stub(address32 *)

Will never apply. Passing an address, the translation address -> address32
is not that difficult, when you can segment within 64bit blocks. Of course
the size of available memory to the process is limited to 32bits, which again
isn't a problem, because if the above has a 64bit address location, the 32bit
address is merely a subset and therefore clearly within it. The same applies
with the translation from address32 -> address. It's not a problem.

The only problem, is when you want a 32bit program to access 64bit memory
models. This is never the issue, was never the issue ... never will be the
issue.

The above only requires work, definitions, making changes to linkers and
program loaders, and translations of addresses. Of course, not everything
can be translated. Example:

stub(address,int64)

Can't be translated. Nor is it the point, because you're not going to be
trying to "link" such accesses to their 32bit counterpart.

There is nothing impossible about it ... it's merely a question of a core
member of people, sticking to old, dynosaur technologies. We need a
revolution in the computer industry. We all thought Linux was it, and I
thought Corporations like Novel would be a good influence ... obviously I was
wrong in that issue, and the others that were crying wolf all the time, were
right.




< Previous Next >