From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9873 invoked from network); 28 Jul 2000 16:17:56 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 28 Jul 2000 16:17:56 -0000 Received: (qmail 5415 invoked by alias); 28 Jul 2000 16:17:45 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12425 Received: (qmail 5407 invoked from network); 28 Jul 2000 16:17:42 -0000 X-Envelope-Sender-Is: Andrej.Borsenkow@mow.siemens.ru (at relayer david.siemens.de) From: "Andrej Borsenkow" To: "ZSH workers mailing list" Subject: RE: Dynamic loading on Cygwin - status Date: Fri, 28 Jul 2000 20:17:40 +0400 Message-ID: <000201bff8af$59daf3f0$21c9ca95@mow.siemens.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) Importance: Normal In-Reply-To: <000101bff8a3$60aad7b0$21c9ca95@mow.siemens.ru> X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 > > - for dlsym() to find a symbol, it has to explcitly exported. It means, that > module's setup() etc functions are not found. They has to be defined with > __attribute__((__dllexport__)). All exported symbols (that have mod_export) > currently get this automatically. > dllwrap --export-all-symbols Do you understand now, why Win32 programs have such a size? :-) (This is quick fix. As we actually need just four functions in addition to mod_export'ed, it is better to define additional token that is defined on Cygwin to __attr...) > - external function or variable imported from another module is not > considered > a constant on Cygwin (actually, on Windows). Hence, any static initializer > fails, e.g That is really bad. Alternatives are - compile such module into main DLL. We may somehow automate it by putting hint into .mdd file - pretend itself run-time linker and resolve address itself. - rewrite zsh in C++ ... Now I *really* have working Zsh will dynamic loading. Unfortunately, completion is not really useable without parameters module ... just tried zmodload zsh/mapfile vared 'mapfile[init.syms]' it works! -andrej