Я использую относительно современный компилятор, который связывается с более новыми версиями определенных библиотек, поскольку вы, возможно, уже знаете, что это происходит.
Из-за этого мне нужно связать некоторые старые функции в GLIB C, один из которых - fcntl. В настоящее время приложение и его зависимости связываются с fcntl@GLIBC_2.28
, я требую, чтобы все они были связаны с fcntl@GLIBC_2.4
.
Конечно, в моих собственных исходных файлах я могу добавить __asm__(".symver fcntl,fcntl@GLIBC_2.4");
, но это есть ли способ полностью перезаписать эти функции более старой версией? Если бы я мог перезаписывать каждый вызов функции через мой CMakeLists.txt или что-то подобное, мне не нужно было бы добавлять исходный код во внешние библиотеки, такие как git репозитории.
Есть ли способ добиться это?
Tl; Dr: Я ищу способ глобально перезаписывать каждый вызов fcntl
на fcntl@GLIBC_2.4
.