PATCH: gcc4 alias fixes

Dan Kegel dank at kegel.com
Tue Apr 26 00:43:09 CDT 2005


Dimitrie O. Paun wrote:
>> This is the patch I use for gcc4.0 here.
>> 
>> I am not really sure why this aliasing was introduced,
>> but it will not work this way anymore.
> 
> I still don't understand why it doesn't work.
> 
> It was introduced because using macros it not always acceptable.
> Some source uses these functions in ways that break if they are
> defined as macros.
> 
> Defining them as inline functions work, but we can't do so for
> varargs, in which case we used aliases.
> 
> What was the reason to break them, and why they don't work?
> They are aliasing to things that _are_ defined, so I'm not
> sure what is going on there.

http://www.gnu.org/software/gcc/gcc-4.0/changes.html
says (not that I really understand it totally):

--- snip ---
Given __attribute__((alias("target"))) it is now an
error if target is not a symbol, defined in the same
translation unit. This also applies to aliases created
by #pragma weak alias=target.
This is because it's meaningless to define an alias to
an undefined symbol. On Solaris, the native assembler
would have caught this error, but GNU as does not.
--- snip ---


- Dan

-- 
Trying to get a job as a c++ developer?  See http://kegel.com/academy/getting-hired.html



More information about the wine-devel mailing list