Предположим, что существует простой двоичный файл, который зависит от трех библиотек: libA.so
, libB.so
и libC.so
. В обычном случае эти три зависимости будут отображаться в readelf
по мере необходимости. Однако мне любопытно, можно ли создать общую библиотеку libABC.so
, которая абсолютно ничего не делает, кроме как выполняет функцию интерфейса с тремя актуальными библиотеками, «перенаправляя» символы. Таким образом, возможно, можно иметь несколько версий libABC.so
, которые в свою очередь указывают на разные версии трех зависимостей, и двоичный файл может «зависеть» только от libABC.so
. Возможно ли это с помощью ELF?
Другим возможным вариантом использования является обратный вариант, когда двоичный файл уже зависит от существующей библиотеки libABC.so
, которая, как оказалось, оказалась разделенной на три отдельные библиотеки.
Остерегайтесь, что у меня не обязательно есть практическое использование или фактический случай использования для этого. Независимо от того, являются ли приведенные выше примеры практическими, мне просто любопытно, есть ли такая возможность.
Повторный экспорт символов совместно используемой библиотеки из другой библиотеки (OS X / POSIX) имеет многообещающее название, но ответы кажутся либо заданными Дарвином c, либо не вполне отвечают на этот вопрос.