Casper.Dik at Sun.COM wrote:
> >On 10/30/06, Roland Mainz <roland.mainz at nrubsig.org> wrote:
> >> Attached is a small patch ("ksh93_libcmd_killglobalvars001.diff.txt")
> >> for ast-ksh.2006-09-12 which significantly reduces the size of the
> >> global variables in libcmd
> >Why do you think the global variable size needs to be reduced? Is
> >there anything especially bad when a program uses global variables?
>
> It's a Solaris rule: no variable or function in a library should be
> visible unless defined as an interface.
>
> But there's a bigger issue: any variable in a program
> will be mapped to the libcmd variable of the same name, so
> in essence libcmd steals a large chunk of user namespace and may
> cause application breakage as a result.
Uhm... why ? These global variables are |static| and therefore visible
only in the source file where they're defined it. And in the case of our
Solaris integration we use "mapfile-vers" which limites the exported
symbols to exactly those listed in this file.
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)