ROFL... you got it! I have forgotten to #include "config.h"! I knew that
it must have been something simple. Thanks a lot, you saved me from
pulling out the rest of my hair ;)

Rainer
PS: and, yes, it looks like I need to reevaluate mode-specific structure
members now that we aim at a real runtime. Doesn't look so smart any
longer...

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:rsyslog-
> [EMAIL PROTECTED] On Behalf Of Scott Phuong
> Sent: Friday, July 04, 2008 12:38 PM
> To: rsyslog-users
> Subject: Re: [rsyslog] struct alignment problem - who can help? ;)
> 
> Hi Rainer,
> 
> But in release mode, NDEBUG is intentionally defined in the config.h.
> This is what I recalled from looking at 3.16.1 and 3.17.5. So from the
> perspective of rsyslog, NDEBUG is defined and the opposite for the
> test-parse.c (because config.h is not included).
> 
> Scott
> 
> On Fri, Jul 4, 2008 at 3:32 AM, Rainer Gerhards
> <[EMAIL PROTECTED]> wrote:
> > Hi Scott,
> >
> > thanks for the help, I'll further investigate. BUT: both the runtime
> AND
> > the tool are compiled in non-debug mode. So in this case, neither of
> > them should have the object cookie, thus the alignment should be the
> > same. But, as I said, I am grateful for any clue and will check if
> there
> > is some issue along these lines :) In any case, it seems to be
> > inconsistent and should be fixed :)
> >
> > Rainer
> >
> >> -----Original Message-----
> >> From: [EMAIL PROTECTED] [mailto:rsyslog-
> >> [EMAIL PROTECTED] On Behalf Of Scott Phuong
> >> Sent: Friday, July 04, 2008 12:29 PM
> >> To: rsyslog-users
> >> Subject: Re: [rsyslog] struct alignment problem - who can help? ;)
> >>
> >> Here is my analysis:
> >> In ctok_teken_t, there is a BEGINobjInstance. BEGINobjInstance is a
> >> #define and is defined to obj_t objData which is the same for both
> >> NDEBUG defined and not defined. But obj_t is a typedef of struct
> >> obj_s. In the structure definition for obj_s in obj-types.h are the
> >> following lines:
> >> #ifndef NDEBUG
> >> unsigned int iObjCooCKiE;
> >> #endif
> >>
> >> NDEBUG is defined in config.h which was included in the runtime for
> >> rsyslog but not for test-parse.c
> >>
> >> I didn't compile the code to test my theory. I just did a quick
> check.
> >>
> >> Hope that solved your problem.
> >>
> >> Scott
> >>
> >>
> >> I think this may be why the you are getting this structure
> >> misalignment?
> >>
> >>
> >> On Fri, Jul 4, 2008 at 2:24 AM, Rainer Gerhards
> >> <[EMAIL PROTECTED]> wrote:
> >> > Hi list,
> >> >
> >> > I am posting a question here in the hope that some of the
> > subscribers
> >> > may be able to lend me a helping hand.
> >> >
> >> > Recently, I have begun to add a testbench to rsyslog. The idea is
> >> that
> >> > over time the project should have canned tests which are easy to
> run
> >> on
> >> > each version (as part of make distcheck at latest), increasing
the
> >> > overall code quality.
> >> >
> >> > "All" (so far two ;)) tests are located in the tests
subdirectory.
> >> One
> >> > test fails if compiled in release mode, that is rscript-parse.c.
I
> >> have
> >> > tracked down the failure cause and it is different struct member
> >> > alignment in the ctok_token_t structure. The alignment is
> different
> >> in
> >> > the rsyslog runtime and this test tool (I have compared the
> offsets
> >> > computed for pToken->tok and they are different). So far, so
good.
> >> But I
> >> > do not find the cause of this misalignment. I checked the make
> >> output,
> >> > and as it looks both the runtime as well as the tool are compiled
> >> with
> >> > the same compiler options. Also, in debug mode it works OK, but
in
> >> > release mode (--disable-debug) it fails.
> >> >
> >> > I am sure the problem is something quite simple, but I have run
> out
> >> of
> >> > ideas of what it may be (or, more probable, I simply overlook
> >> > something).
> >> >
> >> > Any help would be deeply appreciated.
> >> >
> >> > Thanks,
> >> > Rainer
> >> > _______________________________________________
> >> > rsyslog mailing list
> >> > http://lists.adiscon.net/mailman/listinfo/rsyslog
> >> >
> >> _______________________________________________
> >> rsyslog mailing list
> >> http://lists.adiscon.net/mailman/listinfo/rsyslog
> > _______________________________________________
> > rsyslog mailing list
> > http://lists.adiscon.net/mailman/listinfo/rsyslog
> >
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog

Reply via email to