mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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®