* [PATCH] tools/build: tweak unused value workaround
@ 2020-04-14 19:56 George Burgess IV
2020-04-15 0:00 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: George Burgess IV @ 2020-04-14 19:56 UTC (permalink / raw)
To: akpm; +Cc: ndesaulniers, linux-kernel, George Burgess IV
Clang has -Wself-assign enabled by default under -Wall, which always
gets -Werror'ed on this file, causing sync-compare-and-swap to be
disabled by default. The generally-accepted way to spell "this value is
intentionally unused," is casting it to `void`. This is accepted by both
GCC and Clang with -Wall enabled: https://godbolt.org/z/qqZ9r3
Signed-off-by: George Burgess IV <gbiv@google.com>
---
tools/build/feature/test-sync-compare-and-swap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/build/feature/test-sync-compare-and-swap.c b/tools/build/feature/test-sync-compare-and-swap.c
index 1e38d1930a97..3bc6b0768a53 100644
--- a/tools/build/feature/test-sync-compare-and-swap.c
+++ b/tools/build/feature/test-sync-compare-and-swap.c
@@ -7,7 +7,7 @@ int main(int argc, char *argv[])
{
uint64_t old, new = argc;
- argv = argv;
+ (void)argv;
do {
old = __sync_val_compare_and_swap(&x, 0, 0);
} while (!__sync_bool_compare_and_swap(&x, old, new));
--
2.26.0.110.g2183baf09c-goog
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] tools/build: tweak unused value workaround
2020-04-14 19:56 [PATCH] tools/build: tweak unused value workaround George Burgess IV
@ 2020-04-15 0:00 ` Andrew Morton
2020-04-15 1:19 ` George Burgess
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2020-04-15 0:00 UTC (permalink / raw)
To: George Burgess IV; +Cc: ndesaulniers, linux-kernel
On Tue, 14 Apr 2020 12:56:38 -0700 George Burgess IV <gbiv@google.com> wrote:
> Clang has -Wself-assign enabled by default under -Wall, which always
> gets -Werror'ed on this file, causing sync-compare-and-swap to be
> disabled by default. The generally-accepted way to spell "this value is
> intentionally unused," is casting it to `void`. This is accepted by both
> GCC and Clang with -Wall enabled: https://godbolt.org/z/qqZ9r3
>
What does "disabled by default" mean? Presumably it should now be
enabled, but I don't think this disabling happens in the mainline
kernel tree?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] tools/build: tweak unused value workaround
2020-04-15 0:00 ` Andrew Morton
@ 2020-04-15 1:19 ` George Burgess
0 siblings, 0 replies; 3+ messages in thread
From: George Burgess @ 2020-04-15 1:19 UTC (permalink / raw)
To: Andrew Morton; +Cc: Nick Desaulniers, linux-kernel
On Tue, Apr 14, 2020 at 5:00 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> What does "disabled by default" mean? Presumably it should now be
> enabled, but I don't think this disabling happens in the mainline
> kernel tree?
Disabled when `perf` does its configure-ish checks. Concretely,
```
~/linux/tools/perf $ make V=1 VF=1 CC=$clang -f Makefile.perf notarget \
|& grep 'Auto-detecting\|sync-compare-and-swap'
Auto-detecting system features:
... sync-compare-and-swap: [ OFF ]
```
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-04-15 1:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-14 19:56 [PATCH] tools/build: tweak unused value workaround George Burgess IV
2020-04-15 0:00 ` Andrew Morton
2020-04-15 1:19 ` George Burgess
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®