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

Reply via email to