[lttng-dev] TSAN build broken on master branch

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sat Sep 23 02:03:30 EDT 2023


On 9/21/23 21:21, Olivier Dion via lttng-dev wrote:
> On Thu, 21 Sep 2023, Ondřej Surý via lttng-dev <lttng-dev at lists.lttng.org> wrote:
> [...]
>> It fails with:
>>
>> rculfhash.c:1189:2: error: address argument to atomic operation must be a pointer to integer ('typeof (node_next)' (aka 'struct cds_lfht_node **') invalid)
>>          uatomic_or_mo(node_next, REMOVED_FLAG, CMM_RELEASE);
>>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ../include/urcu/uatomic/builtins-generic.h:123:10: note: expanded from macro 'uatomic_or_mo'
>>                  (void) __atomic_or_fetch(cmm_cast_volatile(addr), mask, \
>>                         ^                 ~~~~~~~~~~~~~~~~~~~~~~~
>> rculfhash.c:1440:3: error: address argument to atomic operation must be a pointer to integer ('typeof (fini_bucket_next)' (aka 'struct cds_lfht_node **') invalid)
>>                  uatomic_or(fini_bucket_next, REMOVED_FLAG);
>>                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ../include/urcu/uatomic/builtins-generic.h:130:2: note: expanded from macro 'uatomic_or'
>>          uatomic_or_mo(addr, mask, CMM_RELAXED)
>>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ../include/urcu/uatomic/builtins-generic.h:123:10: note: expanded from macro 'uatomic_or_mo'
>>                  (void) __atomic_or_fetch(cmm_cast_volatile(addr), mask, \
>>                         ^                 ~~~~~~~~~~~~~~~~~~~~~~~
> 
> Eh I thought we fixed that.  Clang is very strict about these things.
> 
> You can apply the following
> <https://review.lttng.org/c/userspace-rcu/+/10911/1>.  That ought to fix
> the issue until we merge the patch.

Fix merged into liburcu master, thanks!

Mathieu

>   

-- 
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com



More information about the lttng-dev mailing list