diff mbox series

[3/3] selftests/futex: pass _GNU_SOURCE without a value to the compiler

Message ID 20240503041843.99136-4-jhubbard@nvidia.com (mailing list archive)
State Accepted
Commit cb708ab9f584f159798b60853edcf0c8b67ce295
Headers show
Series selftests/futex: clang-inspired fixes | expand

Commit Message

John Hubbard May 3, 2024, 4:18 a.m. UTC
It's slightly better to set _GNU_SOURCE in the source code, but if one
must do it via the compiler invocation, then the best way to do so is
this:

    $(CC) -D_GNU_SOURCE=

...because otherwise, if this form is used:

    $(CC) -D_GNU_SOURCE

...then that leads the compiler to set a value, as if you had passed in:

    $(CC) -D_GNU_SOURCE=1

That, in turn, leads to warnings under both gcc and clang, like this:

    futex_requeue_pi.c:20: warning: "_GNU_SOURCE" redefined

Fix this by using the "-D_GNU_SOURCE=" form.

Signed-off-by: John Hubbard <jhubbard@nvidia.com>
---
 tools/testing/selftests/futex/functional/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

John Hubbard May 8, 2024, 9:05 p.m. UTC | #1
On 5/2/24 9:18 PM, John Hubbard wrote:
> It's slightly better to set _GNU_SOURCE in the source code, but if one
> must do it via the compiler invocation, then the best way to do so is
> this:

Hi Shuah, Edward and all,

This patch now seems to be obsolete, due to Edward Liaw's comprehensive
fix, "[PATCH v2 0/5] Define _GNU_SOURCE for sources using" [1].

[1] https://lore.kernel.org/20240507214254.2787305-1-edliaw@google.com

A process question for Shuah: shall I gather up the selftest patches
that have reviews and acks, and post them with the versions incremented?

I'm new to this list, and I'm not sure of your exact workflow. And there
are admittedly a flurry of patches involved.

[1] https://lore.kernel.org/20240507214254.2787305-1-edliaw@google.com

thanks,
Edward Liaw May 28, 2024, 10:24 p.m. UTC | #2
On Wed, May 8, 2024 at 2:05 PM John Hubbard <jhubbard@nvidia.com> wrote:
>
> On 5/2/24 9:18 PM, John Hubbard wrote:
> > It's slightly better to set _GNU_SOURCE in the source code, but if one
> > must do it via the compiler invocation, then the best way to do so is
> > this:
>
> Hi Shuah, Edward and all,
>
> This patch now seems to be obsolete, due to Edward Liaw's comprehensive
> fix, "[PATCH v2 0/5] Define _GNU_SOURCE for sources using" [1].
>
> [1] https://lore.kernel.org/20240507214254.2787305-1-edliaw@google.com

Since we're dropping that patch, would we be able to merge this one?
This should resolve the futex_requeue_pi compiler warnings with Clang.

Reviewed-by: Edward Liaw <edliaw@google.com>
John Hubbard May 28, 2024, 10:43 p.m. UTC | #3
On 5/28/24 3:24 PM, Edward Liaw wrote:
> On Wed, May 8, 2024 at 2:05 PM John Hubbard <jhubbard@nvidia.com> wrote:
>>
>> On 5/2/24 9:18 PM, John Hubbard wrote:
>>> It's slightly better to set _GNU_SOURCE in the source code, but if one
>>> must do it via the compiler invocation, then the best way to do so is
>>> this:
>>
>> Hi Shuah, Edward and all,
>>
>> This patch now seems to be obsolete, due to Edward Liaw's comprehensive
>> fix, "[PATCH v2 0/5] Define _GNU_SOURCE for sources using" [1].
>>
>> [1] https://lore.kernel.org/20240507214254.2787305-1-edliaw@google.com
> 
> Since we're dropping that patch, would we be able to merge this one?
> This should resolve the futex_requeue_pi compiler warnings with Clang.
> 
> Reviewed-by: Edward Liaw <edliaw@google.com>

Thanks for the review! I can post a v2 of this tiny series that has only
patches 1 and 3, rebased on -rc1, so that it's clear what to merge.


thanks,
diff mbox series

Patch

diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile
index a392d0917b4e..994fa3468f17 100644
--- a/tools/testing/selftests/futex/functional/Makefile
+++ b/tools/testing/selftests/futex/functional/Makefile
@@ -1,6 +1,6 @@ 
 # SPDX-License-Identifier: GPL-2.0
 INCLUDES := -I../include -I../../ $(KHDR_INCLUDES)
-CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE -pthread $(INCLUDES) $(KHDR_INCLUDES)
+CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE= -pthread $(INCLUDES) $(KHDR_INCLUDES)
 LDLIBS := -lpthread -lrt
 
 LOCAL_HDRS := \