winegcc: Add support for -Ttext-segment linker flag to set image base of a dll. (try 2)
Tijl Coosemans
tijl at coosemans.org
Sun Mar 3 12:46:42 CST 2013
On 03-03-2013 17:44, André Hentschel wrote:
> Am 03.03.2013 16:58, schrieb Tijl Coosemans:
>> ---
>> README | 3 +++
>> tools/winegcc/utils.h | 3 ++-
>> tools/winegcc/winegcc.c | 11 ++++++++++-
>> 3 files changed, 15 insertions(+), 2 deletions(-)
>>
>> diff --git a/README b/README
>> index 783e798..75aff5a 100644
>> --- a/README
>> +++ b/README
>> @@ -40,6 +40,9 @@ support kernel threads may be supported in the future.
>>
>> FreeBSD info:
>> Wine will generally not work properly on versions before FreeBSD 7.0.
>> + You need GCC with GNU Binutils 2.20 or higher and run configure with
>> + environment variables like CC, CFLAGS, CXX, CXXFLAGS, CPP, CPPFLAGS,
>> + LD and LDFLAGS set correctly to use this compiler and linker.
>> See http://wiki.freebsd.org/Wine for more information.
>
> Do you really need that? is there no script on freebsd to set the
> compiler toolchain or something?
This is only if you run configure directly. If you build Wine using
the ports system everything is set up for you.
>> enum target_platform
>> {
>> - PLATFORM_UNSPECIFIED, PLATFORM_APPLE, PLATFORM_SOLARIS, PLATFORM_WINDOWS, PLATFORM_CYGWIN
>> + PLATFORM_UNSPECIFIED, PLATFORM_APPLE, PLATFORM_SOLARIS, PLATFORM_ELF,
>> + PLATFORM_WINDOWS, PLATFORM_CYGWIN
>> };
>
> You would rather call it PLATFORM_FREEBSD
Well, the flag isn't FreeBSD specific. It works on all ELF targets
(including Linux which then wouldn't need prelink).
>> + if (opts->image_base && !opts->target && opts->target_platform == PLATFORM_UNSPECIFIED)
>
> I'm in doubt here
It's to make sure prelink isn't run when image base has already
been handled.
More information about the wine-devel
mailing list