[rsyslog] omfile does not compile on 32-bit platforms in 5.3.5

Rainer Gerhards rgerhards at hq.adiscon.com
Wed Dec 2 15:45:24 CET 2009


Well, we could use a single 32 bit value without much problem, but the gcc doc claims gcc will replace the call with a helper function (Using a mutex, it can be implemented on any platform).

rainer

----- Ursprüngliche Nachricht -----
Von: "Kenneth Marshall" <ktm at rice.edu>
An: "rsyslog at lists.adiscon.com" <rsyslog at lists.adiscon.com>
Gesendet: 02.12.09 15:22
Betreff: [rsyslog] omfile does not compile on 32-bit platforms in 5.3.5

Hi Rainier,

The version of omfile.c does not compile/run on 32-bit
systems anymore. Here is the problem function:

static uint64 clockFileAccess = 0;
/* and the "tick" function */
static inline uint64
getClockFileAccess(void)
{
        return ATOMIC_INC_AND_FETCH(clockFileAccess);
}

You cannot perform an atomic operation on an 8 byte value
on a 32-bit system. Would it be possible to use the atomic
operations on two 4 byte values to allow this code to work
on 32-bit systems as well?

Regards,
Ken
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com



More information about the rsyslog mailing list