Wine/Cedega and fedora 3

Jakub Jelinek jakub at redhat.com
Mon Dec 6 15:21:06 UTC 2004


On Mon, Dec 06, 2004 at 10:13:05AM -0500, Brian Gerst wrote:
> there is no address range conflict at startup.  There needs to be a way 
> to disable prelinked libraries for specific processes at execve time, so 
> the libraries load at the "legacy" address range for that process.

There is no separate set of prelinked and non-prelinked libraries.
You can tell the dynamic linker to not honor the chosen library addresses
by setting LD_USE_LOAD_BIAS=0 in the environment of the program where you
need that.
But this doesn't affect kernel's placement of the binary (unless it is
a PIE this is hardcoded no matter what) and ld.so.
To prevent ld.so from being placed at certain addresses you can
put an p_flags = 0 PT_LOAD segment covering the range you want to reserve
into the wine executable, or do what wine does for several months already,
i.e. have statically linked program that does kernel's job of mapping
the binary and the dynamic linker into the address space and giving control
to the dynamic linker.

	Jakub




More information about the fedora-devel-list mailing list