Stupid question: linking with a symbol under a different name
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 "libused.so" with exported symbol "symbol2".
>> Is there way to somehow link program "main" from "main.o", telling it
>> to use "symbol2" from "libused.so" as "symbol1"?
> Why not create a foo.c file that defines symbol1 and then passes any
> reference on to symbol2 ?
More information about the Binutils