Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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.