Does prelink still provide any benefits in wine?
The package is being retired in Fedora so starting with 1.7.48 the wine package will no longer be compiled with it. A few applications I have run under 1.7.48 still function, but I am curious to know the possible failure cases.
Thanks, Michael
Am 07.08.2015 um 19:17 schrieb Michael Cronenworth:
Does prelink still provide any benefits in wine?
The package is being retired in Fedora so starting with 1.7.48 the wine package will no longer be compiled with it. A few applications I have run under 1.7.48 still function, but I am curious to know the possible failure cases.
We use it to enforce a constant load address of our libraries in all processes. This is needed for things like the Steam overlay to work. If you build Wine without prelinking kernel32.dll, all Steam games will fail to start.
On 08/07/2015 08:17 PM, Stefan Dösinger wrote:
Am 07.08.2015 um 19:17 schrieb Michael Cronenworth:
Does prelink still provide any benefits in wine?
The package is being retired in Fedora so starting with 1.7.48 the wine package will no longer be compiled with it. A few applications I have run under 1.7.48 still function, but I am curious to know the possible failure cases.
We use it to enforce a constant load address of our libraries in all processes. This is needed for things like the Steam overlay to work. If you build Wine without prelinking kernel32.dll, all Steam games will fail to start.
If I understood Alexandre correctly we could do it without prelink. Somebody that understands that stuff would need to just code it.
bye michael
Michael,
On 08/07/2015 11:24 PM, Michael Stefaniuc wrote:
On 08/07/2015 08:17 PM, Stefan Dösinger wrote:
Am 07.08.2015 um 19:17 schrieb Michael Cronenworth:
Does prelink still provide any benefits in wine?
The package is being retired in Fedora so starting with 1.7.48 the wine package will no longer be compiled with it. A few applications I have run under 1.7.48 still function, but I am curious to know the possible failure cases.
We use it to enforce a constant load address of our libraries in all processes. This is needed for things like the Steam overlay to work. If you build Wine without prelinking kernel32.dll, all Steam games will fail to start.
If I understood Alexandre correctly we could do it without prelink. Somebody that understands that stuff would need to just code it.
as some fellow Wine developers misunderstood (on purpose ;) what I wrote above here it is restated for more clarity:
Current Wine *needs* prelink for some applications. The functionality that Wine needs from prelink can be achieved differently. But somebody needs to code that first before the dependency on prelink can be removed. Patches are welcome </hint>
bye michael
On 08/07/2015 04:38 PM, Michael Stefaniuc wrote:
as some fellow Wine developers misunderstood (on purpose;) what I wrote above here it is restated for more clarity:
Current Wine*needs* prelink for some applications. The functionality that Wine needs from prelink can be achieved differently. But somebody needs to code that first before the dependency on prelink can be removed. Patches are welcome </hint>
Thanks, Michael. I did take a look at the functionality that winegcc uses and it uses prelink's "--reloc-only" option. This option could be replicated in winegcc. If I can spare a few cycles I will generate some patches.
If you read the 2 "Add support for -Ttext-segment linker flag to set image base of a dll" threads on wine-patches/wine-devel from March 2013, you'll see prelink's functionality is fully achievable without the use of prelink, just by using newer versions of ld and its -Ttext-segment option. Read those threads carefully though, as Alexandre found issues and wanted it implemented a certain way.
On Mon, Aug 10, 2015 at 5:30 PM, Michael Cronenworth mike@cchtml.com wrote:
On 08/07/2015 04:38 PM, Michael Stefaniuc wrote:
as some fellow Wine developers misunderstood (on purpose;) what I wrote above here it is restated for more clarity:
Current Wine*needs* prelink for some applications. The functionality that Wine needs from prelink can be achieved differently. But somebody needs to code that first before the dependency on prelink can be removed. Patches are welcome </hint>
Thanks, Michael. I did take a look at the functionality that winegcc uses and it uses prelink's "--reloc-only" option. This option could be replicated in winegcc. If I can spare a few cycles I will generate some patches.
On 08/11/2015 02:42 AM, Damjan Jovanovic wrote:
If you read the 2 "Add support for -Ttext-segment linker flag to set image base of a dll" threads on wine-patches/wine-devel from March 2013, you'll see prelink's functionality is fully achievable without the use of prelink, just by using newer versions of ld and its -Ttext-segment option. Read those threads carefully though, as Alexandre found issues and wanted it implemented a certain way.
Thanks for the pointer. Using the linker makes it very simple.
You referenced the second patch, which does not look very clean. The first patch[1] looks better (IMHO) and just needs to be adjusted to hide the warning about missing prelink in configure.ac if linker support is present. Alexandre, did you have any concerns over the first patch?
[1] https://www.winehq.org/pipermail/wine-patches/2013-February/122534.html