[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ppc64el static function exposure of a library



Hi,

(I am not subscribed to the list, please reply to me explicitly.)

The ppc64el toolchain seems to be different from others in that it does
not respect "static" keyword of a function.  

In C, a static function has a limited scope within the file it is
declared[1].  Therefore a static function of a library should not be
exposed.  That seems not to be true on ppc64el(or mips64el), causing
symbol test of OpenRC to fail[2] with

> * Missing hidden defs:$\nrc_config_directory
> rc_config_set_value
>         [ !! ].

It means two static functions rc_config_directory, rc_config_set_value
compiled on a ppc64el machine finds itself in the recolation section of
an object[3], which seems to be wrong to me.

I would like to consult the toolchain experts on this list how to fix
it.  Is it a feature or a bug?

Yours,
Benda

1. http://www.geeksforgeeks.org/what-are-static-functions-in-c/
2. https://buildd.debian.org/status/fetch.php?pkg=openrc&arch=ppc64el&ver=0.20.4-1&stamp=1456247204
3. http://eli.thegreenplace.net/2011/08/25/load-time-relocation-of-shared-libraries


Reply to: