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