Clang-14.0.6 compilation of application with "Hidden" visibility of symbol

Hi,

i compiled .c file using clang compiler and it’s uses one of defined function named objpool_put() which is declared as given below.
{{
int objpool_put(void *ptr)
}}
objpool_put() is clang compiled with below visibility i.e 'LOCAL + HIDDEN"
{{
readelf -s build/bin/ | grep objpool_put
5506: 0000000000980970 266 FUNC LOCAL HIDDEN 15 objpool_put
}}
Due to above ‘HIDDEN’ visibility, during libs packaging , below error is noticed,
{{
LookupError: No library provides non-weak symbol: objpool_put
}}
Where as same code, compilation using ‘gcc’ is successful as objpool_put symbol visibility permission are 'GLOBAL + DEFAULT"
{{
5559: 0000000000671906 242 FUNC GLOBAL DEFAULT 14 objpool_put
}}
How to ensure ‘clang’ too compile code with above visibility for respective symbol?

Regards
Koti

Hi,

Please ignore the query. issue resolved

Care to post the solution (in case others stumble across this thread having the same issue in the future)?

Hi,
Just adopted below format solution updated in below link.

{{

extern int SayHello() __attribute__((weak));

}}