lstat64 и stat64 не определены - PullRequest
0 голосов
/ 07 марта 2019

Когда я устанавливаю LD_BIND_NOW равным 1, а затем пытаюсь вызвать мое приложение для отладочной сборки, оно не запускается из-за неопределенных символов lstat64, когда я запускаю nm и grep для "stat64":

U  lstat64@@libkernel32.so
U  stat64@@libgdiuser32.so

Где "libkernel32.so" и "libgdiuser32.so" взяты из стороннего пакета и не содержат никакого определения для lstat64.

Однако сборка rls работает нормально. Когда я запускаю nm на нем и grep "stat64"

U ___lxstat64@@GLIBC_2.2
U ___xstat64@@GLIBC_2.2
T lstat64
T stat64

Я обнаружил, что отладочная версия kernel32.lib содержит:

D stat64
D lstat64
U __xstat64
U __lxstat64

Хотя в версии выпуска kernel32.lib нет ссылок на «lstat64» и «stat64»

В коде мы уже включаем "sys / stat.h", почему компоновщик не приносит их из погонщиков?

Или мы будем использовать «__lxstat64» вместо «lstat64»?

...