* Symbols in executable available to dynamic stuff
@ 1998-11-14 7:18 Geoff Wing
1998-11-14 19:00 ` Bart Schaefer
1998-11-17 8:51 ` Andrej Borsenkow
0 siblings, 2 replies; 4+ messages in thread
From: Geoff Wing @ 1998-11-14 7:18 UTC (permalink / raw)
To: Zsh Hackers
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@pobox.com> Mobile : 0412 162 441
Work URL: http://www.primenet.com.au/ Ego URL: http://pobox.com/~gcw/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Symbols in executable available to dynamic stuff
1998-11-14 7:18 Symbols in executable available to dynamic stuff Geoff Wing
@ 1998-11-14 19:00 ` Bart Schaefer
1998-11-15 0:56 ` Geoff Wing
1998-11-17 8:51 ` Andrej Borsenkow
1 sibling, 1 reply; 4+ messages in thread
From: Bart Schaefer @ 1998-11-14 19:00 UTC (permalink / raw)
To: Geoff Wing, Zsh Hackers
On Nov 14, 6:18pm, Geoff Wing wrote:
} Subject: Symbols in executable available to dynamic stuff
}
} 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.
}
} If yes, then we don't build a dynamic zsh. What's the danger here?
Eh? I can't find the "if yes, don't build dynamic" code to which you
refer. The only thing this is used for as far as I can tell is as one
of two tests to find out whether it's safe/possible to strip the binary
after compiling it with dynamic linkage.
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Symbols in executable available to dynamic stuff
1998-11-14 19:00 ` Bart Schaefer
@ 1998-11-15 0:56 ` Geoff Wing
0 siblings, 0 replies; 4+ messages in thread
From: Geoff Wing @ 1998-11-15 0:56 UTC (permalink / raw)
To: Bart Schaefer, Zsh Hackers
Bart Schaefer wrote about Re: Symbols in executable available to dynamic stuff:
:On Nov 14, 6:18pm, Geoff Wing wrote:
:} Subject: Symbols in executable available to dynamic stuff
:} 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.
:} If yes, then we don't build a dynamic zsh. What's the danger here?
:Eh? I can't find the "if yes, don't build dynamic" code to which you
:refer. The only thing this is used for as far as I can tell is as one
:of two tests to find out whether it's safe/possible to strip the binary
:after compiling it with dynamic linkage.
>From memory, look in configure.in, just after the test it will test
the result via != yes and if so, set L=L, otherwise L=N (as in @L@IBZSH)
Now, in Src, we're either building LIBZSH (which builds libzsh.*) or NIBZSH
(which doesn't.)
--
Geoff Wing <gcw@pobox.com> Mobile : 0412 162 441
Work URL: http://www.primenet.com.au/ Ego URL: http://pobox.com/~gcw/
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Symbols in executable available to dynamic stuff
1998-11-14 7:18 Symbols in executable available to dynamic stuff Geoff Wing
1998-11-14 19:00 ` Bart Schaefer
@ 1998-11-17 8:51 ` Andrej Borsenkow
1 sibling, 0 replies; 4+ messages in thread
From: Andrej Borsenkow @ 1998-11-17 8:51 UTC (permalink / raw)
To: Geoff Wing, Zsh Hackers
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 <gcw@pobox.com> Mobile : 0412 162 441
> Work URL: http://www.primenet.com.au/ Ego URL: http://pobox.com/~gcw/
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~1998-11-17 8:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-11-14 7:18 Symbols in executable available to dynamic stuff Geoff Wing
1998-11-14 19:00 ` Bart Schaefer
1998-11-15 0:56 ` Geoff Wing
1998-11-17 8:51 ` Andrej Borsenkow
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).