amd64/linux/redhat lib memory map for 32 bit apps (task_unmapped_base etc.)
From: Eric Taylor (et_at_rocketship1.com)
Date: 02/27/04
- Previous message: Chen Bin: "About how keyboard input character route to the tty?"
- Next in thread: John Reiser: "Re: amd64/linux/redhat lib memory map for 32 bit apps (task_unmapped_base etc.)"
- Reply: John Reiser: "Re: amd64/linux/redhat lib memory map for 32 bit apps (task_unmapped_base etc.)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Fri, 27 Feb 2004 03:54:43 GMT
I finally got my hands on an amd64 bit system from redhat. I was hoping
that "out of the box" the memory mapping would permit a large contiguous
region of virtual memory. I was surprised (and disapointed) to find that
there is no more contiguous memory for 32 bit apps under this amd64
setup than on a regular system.
I find that the program loads at the bottom, like before, the dynamic loader,
ld-linux (the 32 bit one) loads at
0x4000_0000
While the libraries load at
0xA000_0000
Which means that the sbrk region is no bigger than on a 32 bit system.
And with the loader loading where it does, it creates 3 regions of memory.
So...
Anybody know how to move the ld-linux.so up to 0xA000_0000 as well?
Or, does anyone know how to build an app with this code linked static?
We have been struggling with this problem for years now, and hoped the
amd64 would make things better. If the ld-linux.so would only get out
of the middle of the sbrk region we would be happy campers. We cannot
yet build a true 64-bit app.
One thing that is puzzling is that one can load a program using the loader:
/lib/ld-linux.so [options] [user-program and args]
and then the ld-linux.so loads in a different place, but unfortunately, not
in a better place. It loads at 0x8000_0000 on 32 bit linux and at
0x5666_0000 (approx) on 64 bit linux. (Again, I'm only talking about
32 bit apps here). So, it is definately relocatable, but I can't figure out
what makes it load in different places depending on how you start up.
thanks
Eric
- Previous message: Chen Bin: "About how keyboard input character route to the tty?"
- Next in thread: John Reiser: "Re: amd64/linux/redhat lib memory map for 32 bit apps (task_unmapped_base etc.)"
- Reply: John Reiser: "Re: amd64/linux/redhat lib memory map for 32 bit apps (task_unmapped_base etc.)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|