Можно ли взять статический объект и переименовать символы так, чтобы это не нарушало вызовы функций?
Например, если у нас есть статический объект, содержащий две функции:
void A()
{
//Do stuff
}
а также
void B()
{
A();
}
Предполагая, что это внешне объявленные функции C, тогда .so будет содержать два символа - A и B. Есть ли способ переименовать A -> funcA и B -> funcB?
(Вторая часть вопроса, касающаяся вызовов функций, основана на моей наивности в отношении связывания, если вы просто измените имя, вызовы функций прервутся или нет?)
P.S. Платформа - linux, вероятно, скомпилированная с помощью gcc, но если есть способ кросс-компилятора, я был бы рад этому!