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 via email to