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

RE: Symbols in executable available to dynamic stuff



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@xxxxxxxxx]
> 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   <gcw@xxxxxxxxx>            Mobile : 0412 162 441
> Work URL: http://www.primenet.com.au/   Ego URL: http://pobox.com/~gcw/
>
>



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