[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: luaU_dump() and #define LUAI_FUNC __attribute__((visibility("hidden"))) extern
- From: Дилян Палаузов <dilyan.palauzov@...>
- Date: Thu, 04 Apr 2013 00:56:08 +0200
Hello,
I noticed, that as of lua522 in src/luaconf.h LUAI_FUNC and LUAI_DDEC
expand to __attribute__((visibility("hidden")) .
In lundump.h the function luaU_dump is annotated with LUAI_FUNC aka as
visibility("hidden").
In lopcodes.h the functions luaP_opnames and luaP_opmodes are annotated
with visibility("hidden"), too.
So if liblua was a shared library, the luaU_dumo, luaP_opmodes and
luaP_opcodes would be strictly hidden symbols, that cannot be access out
of liblua .
However, when linking luac.c with (a shared) liblua there is a problem:
luac.c needs the symbols luaU_dump, and via the macros getBMode/getCMode
also the symbols luaP_opcoded and luaP_opmodes. This does not work, as
the latter symbols are not exported from liblua.so .
As luaU_dump(), luaP_opcodes and luaP_opmodes are used out of liblua,
these shall not be marked with visibility("hidden") in the respective .h
files. I kindly ask you to fix that.
Със здраве
Дилян