lttng-dev.lists.lttng.org archive mirror
 help / color / mirror / Atom feed
* [lttng-dev] TSAN build broken on master branch
@ 2023-09-21 18:34 Ondřej Surý via lttng-dev
  2023-09-21 20:21 ` Olivier Dion via lttng-dev
  0 siblings, 1 reply; 3+ messages in thread
From: Ondřej Surý via lttng-dev @ 2023-09-21 18:34 UTC (permalink / raw)
  To: lttng-dev

Hi,

I've updated to the latest HEAD and compilation with clang-16 and clang-17 and

./configure --enable-compiler-atomic-builtins --disable-legacy-mb

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, \
                       ^                 ~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.

It works with gcc-12, so it seems that clang has stricter rules here.

Ondřej
--
Ondřej Surý (He/Him)
ondrej@sury.org

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [lttng-dev] TSAN build broken on master branch
  2023-09-21 18:34 [lttng-dev] TSAN build broken on master branch Ondřej Surý via lttng-dev
@ 2023-09-21 20:21 ` Olivier Dion via lttng-dev
  2023-09-23  6:03   ` Mathieu Desnoyers via lttng-dev
  0 siblings, 1 reply; 3+ messages in thread
From: Olivier Dion via lttng-dev @ 2023-09-21 20:21 UTC (permalink / raw)
  To: Ondřej Surý, lttng-dev

On Thu, 21 Sep 2023, Ondřej Surý via lttng-dev <lttng-dev@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.
 
-- 
Olivier Dion
EfficiOS Inc.
https://www.efficios.com

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [lttng-dev] TSAN build broken on master branch
  2023-09-21 20:21 ` Olivier Dion via lttng-dev
@ 2023-09-23  6:03   ` Mathieu Desnoyers via lttng-dev
  0 siblings, 0 replies; 3+ messages in thread
From: Mathieu Desnoyers via lttng-dev @ 2023-09-23  6:03 UTC (permalink / raw)
  To: Olivier Dion, Ondřej Surý, lttng-dev

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@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

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-23  6:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-21 18:34 [lttng-dev] TSAN build broken on master branch Ondřej Surý via lttng-dev
2023-09-21 20:21 ` Olivier Dion via lttng-dev
2023-09-23  6:03   ` Mathieu Desnoyers via lttng-dev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).