с memcpy:
https://godbolt.org/z/KrrnGds75
Однако, наблюдаю следующий вывод при попытке скомпилировать пример с -static -Wl,—wrap=memcpy:
```
in function `__wrap_memcpy':
<source>:6: undefined reference to `memcpy@GLIBC_2.2.5'
collect2: error: ld returned 1 exit status
```
Подскажите, пожалуйста, каких флагов не хватает gcc, чтобы оно собралось статически?
очевидно вершн скрипт не будет работать со статической линковкой
Мне кажется его для таких целей и придумали 🧐
нет, его придумали для другого сценария: - ты собираешь приложение под старый линукс на современном линуксе - выбираешь конкретный symver от старой glibc - при запуске на старом линуксе у тебя символы разрешаются в символы старой версии glibc
Ага! А как статик билд дружить с этим?
очень просто. При статик сборке у тебя библиотека становится частью бинарника. Линковать надо не к версионированным символам а к дефолтным
Обсуждают сегодня