|
Message-ID: <20130211143944.GF6181@port70.net> Date: Mon, 11 Feb 2013 15:39:44 +0100 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: [PATCH 2/3] Have different definitions of __pthread_tsd_main agree in size * Jens Gustedt <jens.gustedt@...ia.fr> [2013-02-11 15:07:28 +0100]: > the current model there is even the danger that environ and __environ > split into two different objects. > > char **environ; > > int main(void) { > return (long)&environ; > } > > When compile-linking this with musl I get both symbols environ and > __environ linked in. > and that is precisely what posix requires > So it would at least be good that the internal use of it in musl would > be consistent and the C library would not see two distinct objects. > no "The ISO C standard and this volume of POSIX.1-2008 do not conflict on the use of environ, but some historical implementations of environ may cause a conflict. As long as environ is treated in the same way as an entry point (for example, fork()), it conforms to both standards. A library can contain fork(), but if there is a user-provided fork(), that fork() is given precedence and no problem ensues. The situation is similar for environ: the definition in this volume of POSIX.1-2008 is to be used if there is no user-provided environ to take precedence. At least three implementations are known to exist that solve this problem."
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.