Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

URGENT: Please, backout change (Re: zsh-3.1.4 released)



Because I am responsible for this change, I request to backout it:

Mon May 25 21:13:41 1998  Andrew Main  <zefram@xxxxxxx>

 * Src/mkmakemod.sh, configure.in, aczsh.m4: Link modules against
   $(LIBS), and include -lc in $(LIBS), in case a module requires
   a function that only exists in static libraries.


It breaks environment in ZSH. It happens as following:

as said, our systems have two libc - dynamic libc.so.1 and static libc.so
(yes, it *is* ar lib, but called so :) Unfortunately, _environ is located in
static libc. If I try to link shared libray, which is using _environ, with
libc, the following happens:

  the code in libzsh gets its own static copy of _environ
  startup code in zsh is linked with it's own static copy of _environ
  which results in every copy of ZSH starting with blank (at the best)
environment pointer.

This problem is not specific to ZSH - every now and then it comes up e.g.
with Perl, or any software, which is using shared libs.

Unfortunately, there is no clean way to autoconf it. Dynamic loading runs on
MIPS line (Reliant UNIX) without this change; it is possible to make it
running on Intel line (SINIX-L/SINIX-M) but with many eforts (actually, only
one module has to be linked with -lc) ... I personally would simply disallow
dynamic loading on i386-sni-sysv4 - or at least to put it in NEWS or FAQ.

Thank you

A. Borsenkow



Messages sorted by: Reverse Date, Date, Thread, Author