[oe] [meta-oe][PATCH] rsyslog: use atomic builtins to avoid race issue

ChenQi Qi.Chen at windriver.com
Thu Dec 29 06:51:56 UTC 2016


On 12/29/2016 07:20 AM, Khem Raj wrote:
> On Tue, Dec 27, 2016 at 11:46 PM, Chen Qi <Qi.Chen at windriver.com> wrote:
>> rsyslog uses a small program to check if compiler has atomic builtins
>> or not. This does not work when cross compiling, resulting in potential
>> race issue. In fact, when running ptest on intel-x86-64 board, we have
>> met the race problem.
>>
>> As our compiler gcc, has atomic builtins, we force ap_cv_atomic_builtins
>> to be 'yes' so that rsyslog could make use of the atomic builtins and avoid
>> the race issue.
>>
>> Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
>> ---
>>   meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
>> index 4e2c122..27162e1 100644
>> --- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
>> +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
>> @@ -31,7 +31,7 @@ SRC_URI[sha256sum] = "06e2884181333dccecceaca82827ae24ca7a258b4fbf7b1e07a80d4caa
>>
>>   inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest
>>
>> -EXTRA_OECONF += "--disable-generate-man-pages"
>> +EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
> Does this also cover 64bit builtins ? secondly, a note for
> architectures not supporting atomics to disable this would be good.

No. When looking at the source, I think it's not critical.
When I made this patch, my criteria is:
1) ptest of rsyslog does not hang because of race issue on intel-x86-64 
board
2) rsyslog works well on qemux86, qemux86-64, qemuarm, qemumips, 
qemumips64, qemuppc

I searched the doc and the internet, I could not find related 
information on which arch gcc does not support atomic builtins.

Best Regards,
Chen Qi

>>   # first line is default yes in configure
>>   PACKAGECONFIG ??= " \
>> --
>> 2.8.3
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel





More information about the Openembedded-devel mailing list