Заменить / переопределить статически связанную библиотеку

У меня есть объектный файл - foo.so - предоставлено продавцом. Этот объектный файл был статически связан с общедоступной библиотекой - bar_1.0.a, Появилась новая версия библиотеки bar_1.1.a это исправляет критическую ошибку, но поставщик не предоставляет новую версию foo.so, поэтому я не могу воспользоваться исправлением ошибки.

Потому что у меня нет доступа к исходному коду foo.soНе могу перекомпилировать против новой версии bar, У меня есть доступ к исходному коду для barтак что я могу построить это по желанию. Символы в bar не изменились между 1.0 и 1.1, только некоторые реализации.

Хотелось бы узнать, есть ли способ заменить / переопределить статически связанный bar_1.0.a библиотека в foo.so с bar_1.1.a не имея доступа к исходному коду foo.so, Или, если это невозможно, могу ли я как-то заставить foo.so динамически связываться с bar_1.1.so хотя это статически связано с bar_1.0.a?

Я знаю что есть разные LD_* Переменные окружения, которые влияют на динамическое связывание, но я не верю, что это поможет в этом случае.

0 ответов

Другие вопросы по тегам