From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11544 invoked from network); 17 Nov 1998 08:55:04 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 17 Nov 1998 08:55:04 -0000 Received: (from list@localhost) by math.gatech.edu (8.9.1/8.9.1) id DAA10967; Tue, 17 Nov 1998 03:53:25 -0500 (EST) Resent-Date: Tue, 17 Nov 1998 03:53:25 -0500 (EST) From: "Andrej Borsenkow" To: "Geoff Wing" , "Zsh Hackers" Subject: RE: Symbols in executable available to dynamic stuff Date: Tue, 17 Nov 1998 11:51:55 +0300 Message-ID: <001201be1207$8736d020$21c9ca95@mowp.siemens.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2377.0 Importance: Normal In-Reply-To: <19981114181808.A6571@primenet.com.au> X-MimeOLE: Produced By Microsoft MimeOLE V5.00.0810.800 Resent-Message-ID: <"YNcH13.0.Fh2.5cJKs"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/4658 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu The problem is, that loadable modules needs access to symbols from "main" zsh. Hash tables, parameter functions etc On some systems (notably SVR4), symbols from a.out are *not* accessible to outside world. In this case, ZSH is built as dynamic sjared library with stub a.out, which is just linked against libzsh.so and calls ZSH entry point there. /andrej > -----Original Message----- > From: Geoff Wing [mailto:gcw@pobox.com] > Sent: Saturday, November 14, 1998 10:18 AM > To: Zsh Hackers > Subject: Symbols in executable available to dynamic stuff > > > Heyla, > can I cause some more trouble yet? :-) > > Way, way back in Zefram's patch 3038 came aczsh.m4 and this gem: > zsh_SYS_DYNAMIC_EXECSYMS: > Check whether symbols in the executable are available to dynamically > loaded libraries. > (And BTW, the description's wrong: it checks dynamically loaded objects, > which are not necessarily libraries) > > If yes, then we don't build a dynamic zsh. What's the danger here? If > you control your executable, library and $MODULEPATH then why does it > matter if objects you load can run subroutines from outside their object > space? Or is it more specific than that? Obviously, routines in > dynamically loaded modules (eg. genprompts() in zle module) need > to be able > to run routines in other modules or libraries (eg. countprompt() in zsh > library) so there is some big thing here I'm missing perhaps? > > Anyone care to enlighten me, please? > -- > Geoff Wing Mobile : 0412 162 441 > Work URL: http://www.primenet.com.au/ Ego URL: http://pobox.com/~gcw/ > >