From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29642 invoked from network); 5 Jun 1997 17:39:51 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 5 Jun 1997 17:39:51 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id NAA24885; Thu, 5 Jun 1997 13:30:20 -0400 (EDT) Resent-Date: Thu, 5 Jun 1997 13:30:20 -0400 (EDT) From: Zefram Message-Id: <10020.199706051733@jelly.dcs.warwick.ac.uk> Subject: Re: modules!?? To: hzoli@ny.frontiercomm.net (Zoltan Hidvegi) Date: Thu, 5 Jun 1997 18:33:10 +0100 (BST) Cc: wjf103@york.ac.uk, zsh-workers@math.gatech.edu In-Reply-To: <199706050545.BAA06291@hzoli.home> from "Zoltan Hidvegi" at Jun 5, 97 01:45:23 am X-Loop: zefram@dcs.warwick.ac.uk X-Stardate: [-31]9438.65 X-Phase: The Moon is New X-US-Congress: Moronic fuckers X-Personality: INTJ X-This-is-not-HTML: Content-Type: text Resent-Message-ID: <"8sREA3.0.l46.hUlbp"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3210 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Zoltan Hidvegi wrote: > Perhaps the output of zmodload should include the >statically linked modules as well (with some indication that this module is >static). Probably a good idea. It should refuse to load the redundant dynamic module, and refuse to unload the static 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 How? Would this be a case of #defining all imported symbols to (*symbol_table[SYMBOL_NUM]) and having the module base manage home-made symbol tables? If so, what do we do about systems where there are several sizes of pointer? > The imported function list is hard to portably generate >automatically, What's wrong with `nm obj.o | grep " U "` and comparing against the lists of exported symbols? This could even be used to generate module dependencies automatically. -zefram