Am Montag, den 11.02.2013, 13:08 +0100 schrieb Szabolcs Nagy: > * Szabolcs Nagy [2013-02-11 12:22:37 +0100]: > > are you sure about the correctness of these? > > > > they seem to be broken to me: weak aliases are not respected > > and functions are dropped even if there are weak references to > > them which is bad.. > > > > eg if sccp is dropped then in any code that does not > > use pthread, the cancellable syscalls will be broken > > (if i understand these right) the weak alias for sccp is dropped in my link for .so since there is the real sccp symbol that is linked in. (for pad I didn't check, there are several places with "pad" as names :) > ah sorry, --gc-sections is for dynamic linking, > there the weak aliases dont matter Hm, I don't think that this is for dynamic linking, only. > and in case of static linking -fdata-sections > and -ffunction-sections just makes the elfheader > bigger and the linking slower (sum size of sections > may be a bit smaller or bigger because of alignment > things) Still I have good experience by using it on another library that defines a lot of weak symbols that aren't used. The only real problem I have for libmusl.so is "environ", as of my other patch. There is probably a good reason that this is made weak. But why must it be realized as an alias? Wouldn't it be sufficient to just have it as a weak symbol? something like // implementation header file extern char **__environ __attribute__((__weak )); //__environ.c char **environ __attribute__((__weak )) = 0; weak_alias(environ, ___environ); weak_alias(environ, __environ); weak_alias(environ, _environ); > so these flags may be useful for building .so As I said in my previous mail: > Also I observed that the .so when compiled with -O3 and -flto is > smaller than with the default build options. this is true even without the gc-section stuff. So this is perhaps a thing to consider. Jens -- :: INRIA Nancy Grand Est :: http://www.loria.fr/~gustedt/ :: :: AlGorille ::::::::::::::: office Nancy : +33 383593090 :: :: ICube :::::::::::::: office Strasbourg : +33 368854536 :: :: ::::::::::::::::::::::::::: gsm France : +33 651400183 :: :: :::::::::::::::::::: gsm international : +49 15737185122 ::