История изменений
Исправление alysnix, (текущая версия) :
это не глубинная функция, а глубинная переменная. вот пример макроса
https://codebrowser.dev/glibc/glibc/include/errno.h.html
# undef errno
# if IS_IN (libc)
# define errno __libc_errno
# else
# define errno errno /* For #ifndef errno tests. */
# endif
то есть errno есть переименованная __libc_errno
так это и есть сылка на внешнее обьявление переменной __libc_errno, которое вы обыскались, думая что оно функция. а вот самого обьявление вы потеряли где-то. его надо найти и влинковать. или ручками обьявить как int __libc_errno где-нибудь.
__thread int errno;
extern __thread int __libc_errno __attribute__ ((alias ("errno")))
attribute_hidden;
короче там где-то закопано реальное обьявление int __libc_errno, которое потом перименовывают в errno. вот ищите где
Исправление alysnix, :
это не глубинная функция, а глубинная переменная. вот пример макроса
https://codebrowser.dev/glibc/glibc/include/errno.h.html
# undef errno
# if IS_IN (libc)
# define errno __libc_errno
# else
# define errno errno /* For #ifndef errno tests. */
# endif
то есть errno есть переименованная __libc_errno
так это и есть сылка на внешнее обьявление переменной __libc_errno, которое вы обыскались, думая что оно функция. а вот самого обьявление вы потеряли где-то. его надо найти и влинковать. или ручками обьявить как int __libc_errno где-нибудь.
__thread int errno;
extern __thread int __libc_errno __attribute__ ((alias ("errno")))
attribute_hidden;
Исправление alysnix, :
это не глубинная функция, а глубинная переменная. вот пример макроса
https://codebrowser.dev/glibc/glibc/include/errno.h.html
# undef errno
# if IS_IN (libc)
# define errno __libc_errno
# else
# define errno errno /* For #ifndef errno tests. */
# endif
то есть errno есть переименованная __libc_errno
так это и есть сылка на внешнее обьявление переменной __libc_errno, которое вы обыскались, думая что оно функция. а вот самого обьявление вы потеряли где-то. его надо найти и влинковать. или ручками обьявить как int __libc_errno где-нибудь.
''' __thread int errno; extern __thread int __libc_errno attribute ((alias («errno»))) attribute_hidden; '''
Исходная версия alysnix, :
это не глубинная функция, а глубинная переменная. вот пример макроса
https://codebrowser.dev/glibc/glibc/include/errno.h.html
# undef errno
# if IS_IN (libc)
# define errno __libc_errno
# else
# define errno errno /* For #ifndef errno tests. */
# endif
то есть errno есть переименованная __libc_errno