Stupid question: linking with a symbol under a different name

Sasha Unknown
Sat Oct 8 11:05:00 GMT 2016


1. This is possible only with function. If it's a variable, I can't 
create "wrapper variable" for it. (E.g. if symbol2 is "int" variable, I 
of course can create foo.c with "int * const symbol1 = &symbol2", but 
this won't match symbol1 convention from main.o, which expects symbol1 
to be "int", not "int *".)

2. Even with function this gives some overhead (one additional call; 
AFAIK, wrapper function won't be inlined in this case).


[Sorry for duplicate, first reply was accidentally sent to wrong address.]

On 06.10.16 15:58, Nick Clifton wrote:
> Hi Sasha,
>> Suppose I have:
>> - compiled object file "main.o" with unresolved symbol "symbol1";
>> - build shared library "" with exported symbol "symbol2".
>> Is there way to somehow link program "main" from "main.o", telling it 
>> to use "symbol2" from "" as "symbol1"?
> Why not create a foo.c file that defines symbol1 and then passes any 
> reference on to symbol2 ?
> Cheers
>    Nick

More information about the Binutils mailing list