OK, I placed some rudimentary files at http://git.adiscon.com/?p=rsyslog.git;a=tree;f=dlopen;h=cb58031408718339c86a6 6608aa053591eeb949f;hb=dlopen-test
As far as I know, they should be sufficient to prove the point. Obviously, the makefile is far from clean, but I guess you can handle that ;) It's plain C, no autotools, no libtool, so we can not prove if libtool would solve a problem. So let's first see if it exists (and if so, let's talk if it is worth fixing ;)). Rainer > -----Original Message----- > From: [email protected] [mailto:rsyslog- > [email protected]] On Behalf Of [email protected] > Sent: Tuesday, July 19, 2011 9:39 AM > To: rsyslog-users > Subject: Re: [rsyslog] linking from dlloaded modules to global symbols > > getting autotools setup properly is what has stalled me on doing the > rsyslog AIX compile. > > David Lang > > On Tue, 19 Jul 2011, Rainer Gerhards wrote: > > > Date: Tue, 19 Jul 2011 09:09:41 +0200 > > From: Rainer Gerhards <[email protected]> > > Reply-To: rsyslog-users <[email protected]> > > To: rsyslog-users <[email protected]> > > Subject: Re: [rsyslog] linking from dlloaded modules to global > symbols > > > >> -----Original Message----- > >> From: [email protected] [mailto:rsyslog- > >> [email protected]] On Behalf Of [email protected] > >> Sent: Tuesday, July 19, 2011 9:07 AM > >> To: rsyslog-users > >> Subject: Re: [rsyslog] linking from dlloaded modules to global > symbols > >> > >> I have access to SIX (and one of these day's I'll get a chance to > try > >> to > >> get rsyslog to compile there again) > >> > >> can you make a short test program for me to compile there? I know I > >> have > >> AIX 5.3 and 6.1 available, and I think I have 5.2 available. > > > > Thanks - I'll try ASAP, but it may take me few days as I think it is > not > > totally trivial (need to fiddle with autotools, create new project > etc -- not > > just a simple program). > > > > Rainer > > > >> > >> David Lang > >> > >> On Tue, 19 Jul 2011, Rainer Gerhards wrote: > >> > >>> Date: Tue, 19 Jul 2011 08:58:30 +0200 > >>> From: Rainer Gerhards <[email protected]> > >>> Reply-To: rsyslog-users <[email protected]> > >>> To: rsyslog-users <[email protected]> > >>> Subject: [rsyslog] linking from dlloaded modules to global symbols > >>> > >>> Hi all, > >>> > >>> I have a question to which some of you may have at least an > opinion. > >>> > >>> A couple of years ago, I read in several guides and textbooks that > >> there > >>> potentially is a problem in this situation: > >>> > >>> Let a, b be dlloaded modules. Let a.a and b.b be public symbols in > >> these > >>> modules, and g.g a public symbol inside rsyslog core (which loads a > >> and b). > >>> Now assume code in b wants to access a.a and g.g (so the dlloaded > >> module > >>> needs to resolve public symbols inside the core and other dlloaded > >> modules > >>> during its load time). Linux handles this without problems, and as > it > >> looks > >>> Solaris and BSD do as well. However, I was told that there are some > >> platforms > >>> which do not support this (AIX? HP-UX?). > >>> > >>> In order to keep portable, I created a scheme where b (the dlloaded > >> module) > >>> queries pointers to all other methods in core and dlloaded modules > it > >> needs. > >>> This works well, but there is some overhead associated with that. > >> Obviously, > >>> there is a (mild) runtime overhead. But it also causes development > >> overhead, > >>> as quite some code needs to be written to support that. > >>> > >>> Looking backward, I have never seen any platform that actually > >> requires that > >>> scheme. Even "better", I have not followed it in all cases (some > >> legacy > >>> calls) and I never got into any troubles. May be that's just > because > >> I don't > >>> have AIX and HP-UX and ... > >>> > >>> The big question is if it really makes sense to continue that way. > If > >> we can > >>> conclude that the problem this code intends to solve is actually no > >> problem, > >>> I could clean up a lot of code and also get some better development > >>> productivity in the future. Also, as far as I know, libtool permits > >> static > >>> module linking for such cases if a very exotic platform would > >> actually not > >>> support the dynaload functionality. > >>> > >>> So I am pretty tempted to drop that approach and use the Linux > >> dynalinker's > >>> capability. Does anyone have concerns about this? Does it sound > >> reasonable? > >>> > >>> Feedback would deeply be appreciated. > >>> > >>> Thanks, > >>> Rainer > >>> _______________________________________________ > >>> rsyslog mailing list > >>> http://lists.adiscon.net/mailman/listinfo/rsyslog > >>> http://www.rsyslog.com > >>> > >> _______________________________________________ > >> rsyslog mailing list > >> http://lists.adiscon.net/mailman/listinfo/rsyslog > >> http://www.rsyslog.com > > _______________________________________________ > > rsyslog mailing list > > http://lists.adiscon.net/mailman/listinfo/rsyslog > > http://www.rsyslog.com > > > _______________________________________________ > rsyslog mailing list > http://lists.adiscon.net/mailman/listinfo/rsyslog > http://www.rsyslog.com _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com

