What is the proper way to ask the configure script not to use 'prelink' on the generated shared libraries? I don't want to remove the prelink from my development platform but just tell the configurator to ignore it. Thanks Roger R. Cruz
Hey Roger,
On 11/27/2011 10:29 PM, Roger Cruz wrote:
What is the proper way to ask the configure script not to use 'prelink' on the generated shared libraries? I don't want to remove the prelink from my development platform but just tell the configurator to ignore it.
Prelink is only used to force dlls to certain addresses, not for anything else. Without prelink this would not work..
Hi Marteen, Could you expand what exactly would not work? Does Wine place the DLLs at a particular address and if not specified with the prelink tool, then they will fail to work? It is my understanding that if the libraries are not prelinked, then the loading linker will pick its own address to load them at. That is the behavior I want to test. My target platform is refusing to map ntdll.dll.so and gives me the following error: "Cannot load library: load_segments[928]: 290 failed to map segment from 'ntdll.dll.so' @ 0xfbe00000 (0x0007b07c). p_vaddr=0x7bc00000 p_offset=0x00000000" I'm looking for a way around this and not p;roviding a base address may do it. Roger
________________________________ From: Maarten Lankhorst m.b.lankhorst@gmail.com To: Roger Cruz roger_r_cruz@yahoo.com Cc: "wine-devel@winehq.org" wine-devel@winehq.org Sent: Sunday, November 27, 2011 4:45 PM Subject: Re: Compiling Wine without prelink
Hey Roger,
On 11/27/2011 10:29 PM, Roger Cruz wrote:
What is the proper way to ask the configure script not to use 'prelink' on the generated shared libraries? I don't want to remove the prelink from my development platform but just tell the configurator to ignore it.
Prelink is only used to force dlls to certain addresses, not for anything else. Without prelink this would not work..
My apologies on mispelling your name Maarten
________________________________ From: Roger Cruz roger_r_cruz@yahoo.com To: Maarten Lankhorst m.b.lankhorst@gmail.com Cc: "wine-devel@winehq.org" wine-devel@winehq.org Sent: Sunday, November 27, 2011 5:24 PM Subject: Re: Compiling Wine without prelink
Hi Marteen, Could you expand what exactly would not work? Does Wine place the DLLs at a particular address and if not specified with the prelink tool, then they will fail to work? It is my understanding that if the libraries are not prelinked, then the loading linker will pick its own address to load them at. That is the behavior I want to test. My target platform is refusing to map ntdll.dll.so and gives me the following error: "Cannot load library: load_segments[928]: 290 failed to map segment from 'ntdll.dll.so' @ 0xfbe00000 (0x0007b07c). p_vaddr=0x7bc00000 p_offset=0x00000000" I'm looking for a way around this and not p;roviding a base address may do it.
Roger
________________________________ From: Maarten Lankhorst m.b.lankhorst@gmail.com To: Roger Cruz roger_r_cruz@yahoo.com Cc: "wine-devel@winehq.org" wine-devel@winehq.org Sent: Sunday, November 27, 2011 4:45 PM Subject: Re: Compiling Wine without prelink
Hey Roger,
On 11/27/2011 10:29 PM, Roger Cruz wrote:
What is the proper way to ask the configure script not to use 'prelink' on the generated shared libraries? I don't want to remove the prelink from my development platform but just tell the configurator to ignore it.
Prelink is only used to force dlls to certain addresses, not for anything else. Without prelink this would not work..
On 11/27/2011 03:24 PM, Roger Cruz wrote:
Could you expand what exactly would not work?
Some copy-protection systems, and any other programs that do dlls patching using IPC. They assume that some system dlls (namely ntdll, kernel32, and user32) are always loaded to the same address for every system process.
It was initially added to support SafeDisk copy protection. Now it's hard to tell what other programs might depend on this.
If you do not have prelink, Wine will not be able to load these DLLs at the same address and some programs will fail in mysterious ways.
-Vitaliy
Great. Thanks for the explanation
On Nov 27, 2011, at 6:32 PM, Vitaliy Margolen wine-devel@kievinfo.com wrote:
On 11/27/2011 03:24 PM, Roger Cruz wrote:
Could you expand what exactly would not work?
Some copy-protection systems, and any other programs that do dlls patching using IPC. They assume that some system dlls (namely ntdll, kernel32, and user32) are always loaded to the same address for every system process.
It was initially added to support SafeDisk copy protection. Now it's hard to tell what other programs might depend on this.
If you do not have prelink, Wine will not be able to load these DLLs at the same address and some programs will fail in mysterious ways.
-Vitaliy