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

Reply via email to