Много предупреждений при компиляции Lua на Solaris SPARC? - PullRequest
1 голос
/ 27 ноября 2011

Когда я компилирую Lua (5.1.4) в Solaris SPARC, я получаю следующие предупреждения ... и МНОГО из них ...

Ниже приведен фрагмент:

# /usr/ccs/bin/make solaris
cd src && /usr/ccs/bin/make solaris
/usr/ccs/bin/make all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl"
/usr/sfw/bin/gcc -O2 -Wall -DLUA_USE_POSIX -DLUA_USE_DLOPEN  -c  lapi.c
lapi.c: In function `luaA_pushobject':
lapi.c:92: warning: visibility attribute not supported in this configuration; ignored
/usr/sfw/bin/gcc -O2 -Wall -DLUA_USE_POSIX -DLUA_USE_DLOPEN  -c  lcode.c
lcode.c: In function `luaK_getlabel':
lcode.c:97: warning: visibility attribute not supported in this configuration; ignored
lcode.c: In function `luaK_concat':
lcode.c:196: warning: visibility attribute not supported in this configuration; ignored
lcode.c: In function `luaK_patchtohere':
lcode.c:182: warning: visibility attribute not supported in this configuration; ignored
lcode.c: In function `luaK_patchlist':
lcode.c:176: warning: visibility attribute not supported in this configuration; ignored
lcode.c: In function `luaK_checkstack':
lcode.c:206: warning: visibility attribute not supported in this configuration; ignored
lcode.c: In function `luaK_reserveregs':
lcode.c:212: warning: visibility attribute not supported in this configuration; ignored
lcode.c: In function `luaK_stringK':

Есть идеи, что это может значить?Повлияет ли это на Lua в Solaris?Любые изменения, которые я должен внести в Makefile в папке / src?

Спасибо за помощь; -)

Lynton

1 Ответ

5 голосов
/ 27 ноября 2011

Lua предполагает, что атрибут visibility("hidden") GCC поддерживается на любом достаточно недавнем GCC на любой платформе ELF.

Но если ассемблер, используемый GCC, не поддерживает директивы для настройки видимости символов, GCC выдаст это предупреждение. Я думаю, что это то, что здесь происходит.

Установка внутренних символов как «скрытых» позволяет более оптимизировать их при построении в качестве разделяемой библиотеки, но на самом деле в этом нет необходимости, поэтому это должно быть безвредно.

Если они вас беспокоят, измените строку на src/luaconf.h, которая гласит

#define LUAI_FUNC       __attribute__((visibility("hidden"))) extern

до

#define LUAI_FUNC       extern
...