zsh-workers
 help / color / mirror / code / Atom feed
From: Zoltan Hidvegi <hzoli@ny.frontiercomm.net>
To: wjf103@york.ac.uk (Wez Furlong)
Cc: zsh-workers@math.gatech.edu
Subject: Re: modules!??
Date: Thu, 5 Jun 1997 01:45:23 -0400 (EDT)	[thread overview]
Message-ID: <199706050545.BAA06291@hzoli.home> (raw)
In-Reply-To: <199706050135.CAA03602@sgi16.york.ac.uk> from Wez Furlong at "Jun 5, 97 02:35:46 am"

> On IRIX zsh 'goes away' when it loads the comp1 module on startup. If it
> can't find the comp1 module, it carries on without zle or compctl.
> 
> As a result I am using the non-dynamic version for IRIX.
> 
> Under SunOS, the modules work fine, except:
> 
> When you explicitly zmodload comp1:
> 
> 	ld.so: Undefined symbol: _fallback_compctlread
> 
> The shell then exits.
> 
> also,
> 
> 	% zmodload deltochar
> 	ld.so: Undefined symbol: _zmod

Perhaps I should have mentioned this in the readme.  On some systems
modules cannot export symbols to other modules, so the comp1 module has to
be compiled into the main binary.  configure autodetects these systems, and
if you do not create modules-bltin manually, make will create it with comp1
which forces comp1 into the main binary.

But really you should never load comp1 manually.  Zsh knows that zle needs
comp1 and if you try to load zle it will load comp1 first if it doesn't
already have it.  Perhaps the output of zmodload should include the
statically linked modules as well (with some indication that this module is
static).  This would give the user a more clear picture.  The IRIX crash is
probably caused by the duplication of the comp1 module.

Deltochar have a similar problem, it wants to use the zmod symbol exported
by the zle module.  The symbols defined by a module can be discovered using
dlsym even on these systems, so we may find some way to overcome this
limitation.  I think it is possible to do that with some script-generated C
code.  For that we also need a list of exported and imported function for
each module and for the main binary, which is also needed for dynamic
loading on AIX.  The imported function list is hard to portably generate
automatically, so these lists will probably have to be maintained by hand
(with the help of a script, which can generate this list automatically
using nm, ld or some other tool on an OS I have access to).

Zoltan


  reply	other threads:[~1997-06-05  6:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-06-05  1:35 modules!?? Wez Furlong
1997-06-05  5:45 ` Zoltan Hidvegi [this message]
1997-06-05 17:33   ` modules!?? Zefram
1997-06-05 18:24     ` modules!?? Zoltan T. Hidvegi
1997-06-05 19:11       ` modules!?? Zefram
1997-06-05 19:22         ` modules!?? Zoltan T. Hidvegi
1997-06-05 19:46         ` modules!?? Zoltan T. Hidvegi
1997-06-07 19:48         ` modules!?? Stefan Monnier
1997-06-08 11:49           ` modules!?? Zefram
1997-06-05 12:33 modules!?? Wez Furlong
1997-06-05 14:17 ` modules!?? Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=199706050545.BAA06291@hzoli.home \
    --to=hzoli@ny.frontiercomm.net \
    --cc=wjf103@york.ac.uk \
    --cc=zsh-workers@math.gatech.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).