|
Message-ID: <1360587084.9132.83.camel@eris.loria.fr>
Date: Mon, 11 Feb 2013 13:51:24 +0100
From: Jens Gustedt <jens.gustedt@...ia.fr>
To: musl@...ts.openwall.com
Subject: Re: [PATCH 2/3] Have different definitions of
__pthread_tsd_main agree in size
Am Montag, den 11.02.2013, 13:08 +0100 schrieb Szabolcs Nagy:
> * Szabolcs Nagy <nsz@...t70.net> [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 ::
Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.