* [PATCH v7 0/1] Centralize _GNU_SOURCE definition into lib.mk @ 2024-06-25 22:34 Edward Liaw 2024-06-25 22:34 ` [PATCH v7 1/1] selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk Edward Liaw 0 siblings, 1 reply; 4+ messages in thread From: Edward Liaw @ 2024-06-25 22:34 UTC (permalink / raw) To: linux-kselftest, Eric Biederman, Kees Cook, Shuah Khan, Thomas Gleixner, Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso, André Almeida, Jason Gunthorpe, Kevin Tian, Paolo Bonzini, Andrew Morton, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Fenghua Yu, Reinette Chatre, Paul Walmsley, Palmer Dabbelt, Albert Ou, Jarkko Sakkinen, Dave Hansen Cc: linux-kernel, usama.anjum, seanjc, kernel-team, Edward Liaw, linux-mm, iommu, kvm, netdev, linux-fsdevel, linux-riscv, linux-sgx Centralizes the definition of _GNU_SOURCE into lib.mk and addresses all resulting macro redefinition warnings. The initial attempt at this patch was abandoned because it affected lines in many source files and caused a large amount of churn. However, from earlier discussions, centralizing _GNU_SOURCE is still desireable. This attempt limits the changes to 1 source file and 14 Makefiles. This is condensed into a single commit to avoid redefinition warnings from partial merges. v1: https://lore.kernel.org/linux-kselftest/20240430235057.1351993-1-edliaw@google.com/ v2: https://lore.kernel.org/linux-kselftest/20240507214254.2787305-1-edliaw@google.com/ - Add -D_GNU_SOURCE to KHDR_INCLUDES so that it is in a single location. - Remove #define _GNU_SOURCE from source code to resolve redefinition warnings. v3: https://lore.kernel.org/linux-kselftest/20240509200022.253089-1-edliaw@google.com/ - Rebase onto linux-next 20240508. - Split patches by directory. - Add -D_GNU_SOURCE directly to CFLAGS in lib.mk. - Delete additional _GNU_SOURCE definitions from source code in linux-next. - Delete additional -D_GNU_SOURCE flags from Makefiles. v4: https://lore.kernel.org/linux-kselftest/20240510000842.410729-1-edliaw@google.com/ - Rebase onto linux-next 20240509. - Remove Fixes tag from patches that drop _GNU_SOURCE definition. - Restore space between comment and includes for selftests/damon. v5: https://lore.kernel.org/linux-kselftest/20240522005913.3540131-1-edliaw@google.com/ - Rebase onto linux-next 20240521 - Drop initial patches that modify KHDR_INCLUDES. - Incorporate Mark Brown's patch to replace static_assert with warning. - Don't drop #define _GNU_SOURCE from nolibc and wireguard. - Change Makefiles for x86 and vDSO to append to CFLAGS. v6: https://lore.kernel.org/linux-kselftest/20240624232718.1154427-1-edliaw@google.com/ - Rewrite patch to use -D_GNU_SOURCE= form in lib.mk. - Reduce the amount of churn significantly by allowing definition to coexist with source code macro defines. v7: - Squash patch into a single commit. Edward Liaw (1): selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk tools/testing/selftests/exec/Makefile | 1 - tools/testing/selftests/futex/functional/Makefile | 2 +- tools/testing/selftests/intel_pstate/Makefile | 2 +- tools/testing/selftests/iommu/Makefile | 2 -- tools/testing/selftests/kvm/Makefile | 2 +- tools/testing/selftests/lib.mk | 3 +++ tools/testing/selftests/mm/thuge-gen.c | 2 +- tools/testing/selftests/net/Makefile | 2 +- tools/testing/selftests/net/tcp_ao/Makefile | 2 +- tools/testing/selftests/proc/Makefile | 1 - tools/testing/selftests/resctrl/Makefile | 2 +- tools/testing/selftests/ring-buffer/Makefile | 1 - tools/testing/selftests/riscv/mm/Makefile | 2 +- tools/testing/selftests/sgx/Makefile | 2 +- tools/testing/selftests/tmpfs/Makefile | 1 - 15 files changed, 12 insertions(+), 15 deletions(-) -- 2.45.2.803.g4e1b14247a-goog ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v7 1/1] selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-06-25 22:34 [PATCH v7 0/1] Centralize _GNU_SOURCE definition into lib.mk Edward Liaw @ 2024-06-25 22:34 ` Edward Liaw 2024-06-27 18:14 ` Shuah Khan 2024-07-01 6:14 ` Muhammad Usama Anjum 0 siblings, 2 replies; 4+ messages in thread From: Edward Liaw @ 2024-06-25 22:34 UTC (permalink / raw) To: linux-kselftest, Eric Biederman, Kees Cook, Shuah Khan, Thomas Gleixner, Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso, André Almeida, Jason Gunthorpe, Kevin Tian, Paolo Bonzini, Andrew Morton, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Fenghua Yu, Reinette Chatre, Paul Walmsley, Palmer Dabbelt, Albert Ou, Jarkko Sakkinen, Dave Hansen Cc: linux-kernel, usama.anjum, seanjc, kernel-team, Edward Liaw, linux-mm, iommu, kvm, netdev, linux-fsdevel, linux-riscv, linux-sgx, John Hubbard Centralize the _GNU_SOURCE definition to CFLAGS in lib.mk. Remove redundant defines from Makefiles that import lib.mk. Convert any usage of "#define _GNU_SOURCE 1" to "#define _GNU_SOURCE". This uses the form "-D_GNU_SOURCE=", which is equivalent to "#define _GNU_SOURCE". Otherwise using "-D_GNU_SOURCE" is equivalent to "-D_GNU_SOURCE=1" and "#define _GNU_SOURCE 1", which is less commonly seen in source code and would require many changes in selftests to avoid redefinition warnings. Suggested-by: John Hubbard <jhubbard@nvidia.com> Signed-off-by: Edward Liaw <edliaw@google.com> --- tools/testing/selftests/exec/Makefile | 1 - tools/testing/selftests/futex/functional/Makefile | 2 +- tools/testing/selftests/intel_pstate/Makefile | 2 +- tools/testing/selftests/iommu/Makefile | 2 -- tools/testing/selftests/kvm/Makefile | 2 +- tools/testing/selftests/lib.mk | 3 +++ tools/testing/selftests/mm/thuge-gen.c | 2 +- tools/testing/selftests/net/Makefile | 2 +- tools/testing/selftests/net/tcp_ao/Makefile | 2 +- tools/testing/selftests/proc/Makefile | 1 - tools/testing/selftests/resctrl/Makefile | 2 +- tools/testing/selftests/ring-buffer/Makefile | 1 - tools/testing/selftests/riscv/mm/Makefile | 2 +- tools/testing/selftests/sgx/Makefile | 2 +- tools/testing/selftests/tmpfs/Makefile | 1 - 15 files changed, 12 insertions(+), 15 deletions(-) diff --git a/tools/testing/selftests/exec/Makefile b/tools/testing/selftests/exec/Makefile index ab67d58cfab7..ba012bc5aab9 100644 --- a/tools/testing/selftests/exec/Makefile +++ b/tools/testing/selftests/exec/Makefile @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 CFLAGS = -Wall CFLAGS += -Wno-nonnull -CFLAGS += -D_GNU_SOURCE ALIGNS := 0x1000 0x200000 0x1000000 ALIGN_PIES := $(patsubst %,load_address.%,$(ALIGNS)) diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile index 994fa3468f17..f79f9bac7918 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 -pthread $(INCLUDES) $(KHDR_INCLUDES) LDLIBS := -lpthread -lrt LOCAL_HDRS := \ diff --git a/tools/testing/selftests/intel_pstate/Makefile b/tools/testing/selftests/intel_pstate/Makefile index 05d66ef50c97..f45372cb00fe 100644 --- a/tools/testing/selftests/intel_pstate/Makefile +++ b/tools/testing/selftests/intel_pstate/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 -CFLAGS := $(CFLAGS) -Wall -D_GNU_SOURCE +CFLAGS := $(CFLAGS) -Wall LDLIBS += -lm ARCH ?= $(shell uname -m 2>/dev/null || echo not) diff --git a/tools/testing/selftests/iommu/Makefile b/tools/testing/selftests/iommu/Makefile index 32c5fdfd0eef..fd6477911f24 100644 --- a/tools/testing/selftests/iommu/Makefile +++ b/tools/testing/selftests/iommu/Makefile @@ -2,8 +2,6 @@ CFLAGS += -Wall -O2 -Wno-unused-function CFLAGS += $(KHDR_INCLUDES) -CFLAGS += -D_GNU_SOURCE - TEST_GEN_PROGS := TEST_GEN_PROGS += iommufd TEST_GEN_PROGS += iommufd_fail_nth diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile index ac280dcba996..4ee37abf70ff 100644 --- a/tools/testing/selftests/kvm/Makefile +++ b/tools/testing/selftests/kvm/Makefile @@ -231,7 +231,7 @@ LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/$(ARCH)/include endif CFLAGS += -Wall -Wstrict-prototypes -Wuninitialized -O2 -g -std=gnu99 \ -Wno-gnu-variable-sized-type-not-at-end -MD -MP -DCONFIG_64BIT \ - -D_GNU_SOURCE -fno-builtin-memcmp -fno-builtin-memcpy \ + -fno-builtin-memcmp -fno-builtin-memcpy \ -fno-builtin-memset -fno-builtin-strnlen \ -fno-stack-protector -fno-PIE -I$(LINUX_TOOL_INCLUDE) \ -I$(LINUX_TOOL_ARCH_INCLUDE) -I$(LINUX_HDR_PATH) -Iinclude \ diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk index 7b299ed5ff45..d6edcfcb5be8 100644 --- a/tools/testing/selftests/lib.mk +++ b/tools/testing/selftests/lib.mk @@ -196,6 +196,9 @@ endef clean: $(if $(TEST_GEN_MODS_DIR),clean_mods_dir) $(CLEAN) +# Build with _GNU_SOURCE by default +CFLAGS += -D_GNU_SOURCE= + # Enables to extend CFLAGS and LDFLAGS from command line, e.g. # make USERCFLAGS=-Werror USERLDFLAGS=-static CFLAGS += $(USERCFLAGS) diff --git a/tools/testing/selftests/mm/thuge-gen.c b/tools/testing/selftests/mm/thuge-gen.c index d50dc71cac32..e4370b79b62f 100644 --- a/tools/testing/selftests/mm/thuge-gen.c +++ b/tools/testing/selftests/mm/thuge-gen.c @@ -13,7 +13,7 @@ sudo ipcs | awk '$1 == "0x00000000" {print $2}' | xargs -n1 sudo ipcrm -m (warning this will remove all if someone else uses them) */ -#define _GNU_SOURCE 1 +#define _GNU_SOURCE #include <sys/mman.h> #include <linux/mman.h> #include <stdlib.h> diff --git a/tools/testing/selftests/net/Makefile b/tools/testing/selftests/net/Makefile index bc3925200637..8eaffd7a641c 100644 --- a/tools/testing/selftests/net/Makefile +++ b/tools/testing/selftests/net/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 # Makefile for net selftests -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g +CFLAGS += -Wall -Wl,--no-as-needed -O2 -g CFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES) # Additional include paths needed by kselftest.h CFLAGS += -I../ diff --git a/tools/testing/selftests/net/tcp_ao/Makefile b/tools/testing/selftests/net/tcp_ao/Makefile index 522d991e310e..bd88b90b902b 100644 --- a/tools/testing/selftests/net/tcp_ao/Makefile +++ b/tools/testing/selftests/net/tcp_ao/Makefile @@ -26,7 +26,7 @@ LIB := $(LIBDIR)/libaotst.a LDLIBS += $(LIB) -pthread LIBDEPS := lib/aolib.h Makefile -CFLAGS := -Wall -O2 -g -D_GNU_SOURCE -fno-strict-aliasing +CFLAGS += -Wall -O2 -g -fno-strict-aliasing CFLAGS += $(KHDR_INCLUDES) CFLAGS += -iquote ./lib/ -I ../../../../include/ diff --git a/tools/testing/selftests/proc/Makefile b/tools/testing/selftests/proc/Makefile index 6066f607f758..ee424a9f075f 100644 --- a/tools/testing/selftests/proc/Makefile +++ b/tools/testing/selftests/proc/Makefile @@ -1,6 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only CFLAGS += -Wall -O2 -Wno-unused-function -CFLAGS += -D_GNU_SOURCE LDFLAGS += -pthread TEST_GEN_PROGS := diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile index 021863f86053..f408bd6bfc3d 100644 --- a/tools/testing/selftests/resctrl/Makefile +++ b/tools/testing/selftests/resctrl/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 -CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE +CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 CFLAGS += $(KHDR_INCLUDES) TEST_GEN_PROGS := resctrl_tests diff --git a/tools/testing/selftests/ring-buffer/Makefile b/tools/testing/selftests/ring-buffer/Makefile index 627c5fa6d1ab..23605782639e 100644 --- a/tools/testing/selftests/ring-buffer/Makefile +++ b/tools/testing/selftests/ring-buffer/Makefile @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 CFLAGS += -Wl,-no-as-needed -Wall CFLAGS += $(KHDR_INCLUDES) -CFLAGS += -D_GNU_SOURCE TEST_GEN_PROGS = map_test diff --git a/tools/testing/selftests/riscv/mm/Makefile b/tools/testing/selftests/riscv/mm/Makefile index c333263f2b27..4664ed79e20b 100644 --- a/tools/testing/selftests/riscv/mm/Makefile +++ b/tools/testing/selftests/riscv/mm/Makefile @@ -3,7 +3,7 @@ # Originally tools/testing/arm64/abi/Makefile # Additional include paths needed by kselftest.h and local headers -CFLAGS += -D_GNU_SOURCE -std=gnu99 -I. +CFLAGS += -std=gnu99 -I. TEST_GEN_FILES := mmap_default mmap_bottomup diff --git a/tools/testing/selftests/sgx/Makefile b/tools/testing/selftests/sgx/Makefile index 867f88ce2570..03b5e13b872b 100644 --- a/tools/testing/selftests/sgx/Makefile +++ b/tools/testing/selftests/sgx/Makefile @@ -12,7 +12,7 @@ OBJCOPY := $(CROSS_COMPILE)objcopy endif INCLUDES := -I$(top_srcdir)/tools/include -HOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC +HOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC $(CFLAGS) HOST_LDFLAGS := -z noexecstack -lcrypto ENCL_CFLAGS += -Wall -Werror -static-pie -nostdlib -ffreestanding -fPIE \ -fno-stack-protector -mrdrnd $(INCLUDES) diff --git a/tools/testing/selftests/tmpfs/Makefile b/tools/testing/selftests/tmpfs/Makefile index aa11ccc92e5b..3be931e1193f 100644 --- a/tools/testing/selftests/tmpfs/Makefile +++ b/tools/testing/selftests/tmpfs/Makefile @@ -1,6 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only CFLAGS += -Wall -O2 -CFLAGS += -D_GNU_SOURCE TEST_GEN_PROGS := TEST_GEN_PROGS += bug-link-o-tmpfile -- 2.45.2.803.g4e1b14247a-goog ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v7 1/1] selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-06-25 22:34 ` [PATCH v7 1/1] selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk Edward Liaw @ 2024-06-27 18:14 ` Shuah Khan 2024-07-01 6:14 ` Muhammad Usama Anjum 1 sibling, 0 replies; 4+ messages in thread From: Shuah Khan @ 2024-06-27 18:14 UTC (permalink / raw) To: Edward Liaw, linux-kselftest, Eric Biederman, Kees Cook, Shuah Khan, Thomas Gleixner, Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso, André Almeida, Jason Gunthorpe, Kevin Tian, Paolo Bonzini, Andrew Morton, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Fenghua Yu, Reinette Chatre, Paul Walmsley, Palmer Dabbelt, Albert Ou, Jarkko Sakkinen, Dave Hansen Cc: linux-kernel, usama.anjum, seanjc, kernel-team, linux-mm, iommu, kvm, netdev, linux-fsdevel, linux-riscv, linux-sgx, John Hubbard, Shuah Khan On 6/25/24 16:34, Edward Liaw wrote: > Centralize the _GNU_SOURCE definition to CFLAGS in lib.mk. Remove > redundant defines from Makefiles that import lib.mk. Convert any usage > of "#define _GNU_SOURCE 1" to "#define _GNU_SOURCE". > > This uses the form "-D_GNU_SOURCE=", which is equivalent to > "#define _GNU_SOURCE". > > Otherwise using "-D_GNU_SOURCE" is equivalent to "-D_GNU_SOURCE=1" and > "#define _GNU_SOURCE 1", which is less commonly seen in source code and > would require many changes in selftests to avoid redefinition warnings. > > Suggested-by: John Hubbard <jhubbard@nvidia.com> > Signed-off-by: Edward Liaw <edliaw@google.com> > --- > tools/testing/selftests/exec/Makefile | 1 - > tools/testing/selftests/futex/functional/Makefile | 2 +- > tools/testing/selftests/intel_pstate/Makefile | 2 +- > tools/testing/selftests/iommu/Makefile | 2 -- > tools/testing/selftests/kvm/Makefile | 2 +- > tools/testing/selftests/lib.mk | 3 +++ > tools/testing/selftests/mm/thuge-gen.c | 2 +- > tools/testing/selftests/net/Makefile | 2 +- > tools/testing/selftests/net/tcp_ao/Makefile | 2 +- > tools/testing/selftests/proc/Makefile | 1 - > tools/testing/selftests/resctrl/Makefile | 2 +- > tools/testing/selftests/ring-buffer/Makefile | 1 - > tools/testing/selftests/riscv/mm/Makefile | 2 +- > tools/testing/selftests/sgx/Makefile | 2 +- > tools/testing/selftests/tmpfs/Makefile | 1 - > 15 files changed, 12 insertions(+), 15 deletions(-) > Andrew, I am seeing merge conflicts with mm and exec tests. Might be better to have you take this through your tree? Acked-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v7 1/1] selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-06-25 22:34 ` [PATCH v7 1/1] selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk Edward Liaw 2024-06-27 18:14 ` Shuah Khan @ 2024-07-01 6:14 ` Muhammad Usama Anjum 1 sibling, 0 replies; 4+ messages in thread From: Muhammad Usama Anjum @ 2024-07-01 6:14 UTC (permalink / raw) To: Edward Liaw, linux-kselftest, Eric Biederman, Kees Cook, Shuah Khan, Thomas Gleixner, Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso, André Almeida, Jason Gunthorpe, Kevin Tian, Paolo Bonzini, Andrew Morton, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Fenghua Yu, Reinette Chatre, Paul Walmsley, Palmer Dabbelt, Albert Ou, Jarkko Sakkinen, Dave Hansen Cc: Muhammad Usama Anjum, linux-kernel, seanjc, kernel-team, linux-mm, iommu, kvm, netdev, linux-fsdevel, linux-riscv, linux-sgx, John Hubbard On 6/26/24 3:34 AM, Edward Liaw wrote: > Centralize the _GNU_SOURCE definition to CFLAGS in lib.mk. Remove > redundant defines from Makefiles that import lib.mk. Convert any usage > of "#define _GNU_SOURCE 1" to "#define _GNU_SOURCE". > > This uses the form "-D_GNU_SOURCE=", which is equivalent to > "#define _GNU_SOURCE". > > Otherwise using "-D_GNU_SOURCE" is equivalent to "-D_GNU_SOURCE=1" and > "#define _GNU_SOURCE 1", which is less commonly seen in source code and > would require many changes in selftests to avoid redefinition warnings. > > Suggested-by: John Hubbard <jhubbard@nvidia.com> > Signed-off-by: Edward Liaw <edliaw@google.com> Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com> > --- > tools/testing/selftests/exec/Makefile | 1 - > tools/testing/selftests/futex/functional/Makefile | 2 +- > tools/testing/selftests/intel_pstate/Makefile | 2 +- > tools/testing/selftests/iommu/Makefile | 2 -- > tools/testing/selftests/kvm/Makefile | 2 +- > tools/testing/selftests/lib.mk | 3 +++ > tools/testing/selftests/mm/thuge-gen.c | 2 +- > tools/testing/selftests/net/Makefile | 2 +- > tools/testing/selftests/net/tcp_ao/Makefile | 2 +- > tools/testing/selftests/proc/Makefile | 1 - > tools/testing/selftests/resctrl/Makefile | 2 +- > tools/testing/selftests/ring-buffer/Makefile | 1 - > tools/testing/selftests/riscv/mm/Makefile | 2 +- > tools/testing/selftests/sgx/Makefile | 2 +- > tools/testing/selftests/tmpfs/Makefile | 1 - > 15 files changed, 12 insertions(+), 15 deletions(-) > > diff --git a/tools/testing/selftests/exec/Makefile b/tools/testing/selftests/exec/Makefile > index ab67d58cfab7..ba012bc5aab9 100644 > --- a/tools/testing/selftests/exec/Makefile > +++ b/tools/testing/selftests/exec/Makefile > @@ -1,7 +1,6 @@ > # SPDX-License-Identifier: GPL-2.0 > CFLAGS = -Wall > CFLAGS += -Wno-nonnull > -CFLAGS += -D_GNU_SOURCE > > ALIGNS := 0x1000 0x200000 0x1000000 > ALIGN_PIES := $(patsubst %,load_address.%,$(ALIGNS)) > diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile > index 994fa3468f17..f79f9bac7918 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 -pthread $(INCLUDES) $(KHDR_INCLUDES) > LDLIBS := -lpthread -lrt > > LOCAL_HDRS := \ > diff --git a/tools/testing/selftests/intel_pstate/Makefile b/tools/testing/selftests/intel_pstate/Makefile > index 05d66ef50c97..f45372cb00fe 100644 > --- a/tools/testing/selftests/intel_pstate/Makefile > +++ b/tools/testing/selftests/intel_pstate/Makefile > @@ -1,5 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0 > -CFLAGS := $(CFLAGS) -Wall -D_GNU_SOURCE > +CFLAGS := $(CFLAGS) -Wall > LDLIBS += -lm > > ARCH ?= $(shell uname -m 2>/dev/null || echo not) > diff --git a/tools/testing/selftests/iommu/Makefile b/tools/testing/selftests/iommu/Makefile > index 32c5fdfd0eef..fd6477911f24 100644 > --- a/tools/testing/selftests/iommu/Makefile > +++ b/tools/testing/selftests/iommu/Makefile > @@ -2,8 +2,6 @@ > CFLAGS += -Wall -O2 -Wno-unused-function > CFLAGS += $(KHDR_INCLUDES) > > -CFLAGS += -D_GNU_SOURCE > - > TEST_GEN_PROGS := > TEST_GEN_PROGS += iommufd > TEST_GEN_PROGS += iommufd_fail_nth > diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile > index ac280dcba996..4ee37abf70ff 100644 > --- a/tools/testing/selftests/kvm/Makefile > +++ b/tools/testing/selftests/kvm/Makefile > @@ -231,7 +231,7 @@ LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/$(ARCH)/include > endif > CFLAGS += -Wall -Wstrict-prototypes -Wuninitialized -O2 -g -std=gnu99 \ > -Wno-gnu-variable-sized-type-not-at-end -MD -MP -DCONFIG_64BIT \ > - -D_GNU_SOURCE -fno-builtin-memcmp -fno-builtin-memcpy \ > + -fno-builtin-memcmp -fno-builtin-memcpy \ > -fno-builtin-memset -fno-builtin-strnlen \ > -fno-stack-protector -fno-PIE -I$(LINUX_TOOL_INCLUDE) \ > -I$(LINUX_TOOL_ARCH_INCLUDE) -I$(LINUX_HDR_PATH) -Iinclude \ > diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk > index 7b299ed5ff45..d6edcfcb5be8 100644 > --- a/tools/testing/selftests/lib.mk > +++ b/tools/testing/selftests/lib.mk > @@ -196,6 +196,9 @@ endef > clean: $(if $(TEST_GEN_MODS_DIR),clean_mods_dir) > $(CLEAN) > > +# Build with _GNU_SOURCE by default > +CFLAGS += -D_GNU_SOURCE= > + > # Enables to extend CFLAGS and LDFLAGS from command line, e.g. > # make USERCFLAGS=-Werror USERLDFLAGS=-static > CFLAGS += $(USERCFLAGS) > diff --git a/tools/testing/selftests/mm/thuge-gen.c b/tools/testing/selftests/mm/thuge-gen.c > index d50dc71cac32..e4370b79b62f 100644 > --- a/tools/testing/selftests/mm/thuge-gen.c > +++ b/tools/testing/selftests/mm/thuge-gen.c > @@ -13,7 +13,7 @@ > sudo ipcs | awk '$1 == "0x00000000" {print $2}' | xargs -n1 sudo ipcrm -m > (warning this will remove all if someone else uses them) */ > > -#define _GNU_SOURCE 1 > +#define _GNU_SOURCE > #include <sys/mman.h> > #include <linux/mman.h> > #include <stdlib.h> > diff --git a/tools/testing/selftests/net/Makefile b/tools/testing/selftests/net/Makefile > index bc3925200637..8eaffd7a641c 100644 > --- a/tools/testing/selftests/net/Makefile > +++ b/tools/testing/selftests/net/Makefile > @@ -1,7 +1,7 @@ > # SPDX-License-Identifier: GPL-2.0 > # Makefile for net selftests > > -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g > +CFLAGS += -Wall -Wl,--no-as-needed -O2 -g > CFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES) > # Additional include paths needed by kselftest.h > CFLAGS += -I../ > diff --git a/tools/testing/selftests/net/tcp_ao/Makefile b/tools/testing/selftests/net/tcp_ao/Makefile > index 522d991e310e..bd88b90b902b 100644 > --- a/tools/testing/selftests/net/tcp_ao/Makefile > +++ b/tools/testing/selftests/net/tcp_ao/Makefile > @@ -26,7 +26,7 @@ LIB := $(LIBDIR)/libaotst.a > LDLIBS += $(LIB) -pthread > LIBDEPS := lib/aolib.h Makefile > > -CFLAGS := -Wall -O2 -g -D_GNU_SOURCE -fno-strict-aliasing > +CFLAGS += -Wall -O2 -g -fno-strict-aliasing > CFLAGS += $(KHDR_INCLUDES) > CFLAGS += -iquote ./lib/ -I ../../../../include/ > > diff --git a/tools/testing/selftests/proc/Makefile b/tools/testing/selftests/proc/Makefile > index 6066f607f758..ee424a9f075f 100644 > --- a/tools/testing/selftests/proc/Makefile > +++ b/tools/testing/selftests/proc/Makefile > @@ -1,6 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0-only > CFLAGS += -Wall -O2 -Wno-unused-function > -CFLAGS += -D_GNU_SOURCE > LDFLAGS += -pthread > > TEST_GEN_PROGS := > diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile > index 021863f86053..f408bd6bfc3d 100644 > --- a/tools/testing/selftests/resctrl/Makefile > +++ b/tools/testing/selftests/resctrl/Makefile > @@ -1,6 +1,6 @@ > # SPDX-License-Identifier: GPL-2.0 > > -CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE > +CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 > CFLAGS += $(KHDR_INCLUDES) > > TEST_GEN_PROGS := resctrl_tests > diff --git a/tools/testing/selftests/ring-buffer/Makefile b/tools/testing/selftests/ring-buffer/Makefile > index 627c5fa6d1ab..23605782639e 100644 > --- a/tools/testing/selftests/ring-buffer/Makefile > +++ b/tools/testing/selftests/ring-buffer/Makefile > @@ -1,7 +1,6 @@ > # SPDX-License-Identifier: GPL-2.0 > CFLAGS += -Wl,-no-as-needed -Wall > CFLAGS += $(KHDR_INCLUDES) > -CFLAGS += -D_GNU_SOURCE > > TEST_GEN_PROGS = map_test > > diff --git a/tools/testing/selftests/riscv/mm/Makefile b/tools/testing/selftests/riscv/mm/Makefile > index c333263f2b27..4664ed79e20b 100644 > --- a/tools/testing/selftests/riscv/mm/Makefile > +++ b/tools/testing/selftests/riscv/mm/Makefile > @@ -3,7 +3,7 @@ > # Originally tools/testing/arm64/abi/Makefile > > # Additional include paths needed by kselftest.h and local headers > -CFLAGS += -D_GNU_SOURCE -std=gnu99 -I. > +CFLAGS += -std=gnu99 -I. > > TEST_GEN_FILES := mmap_default mmap_bottomup > > diff --git a/tools/testing/selftests/sgx/Makefile b/tools/testing/selftests/sgx/Makefile > index 867f88ce2570..03b5e13b872b 100644 > --- a/tools/testing/selftests/sgx/Makefile > +++ b/tools/testing/selftests/sgx/Makefile > @@ -12,7 +12,7 @@ OBJCOPY := $(CROSS_COMPILE)objcopy > endif > > INCLUDES := -I$(top_srcdir)/tools/include > -HOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC > +HOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC $(CFLAGS) > HOST_LDFLAGS := -z noexecstack -lcrypto > ENCL_CFLAGS += -Wall -Werror -static-pie -nostdlib -ffreestanding -fPIE \ > -fno-stack-protector -mrdrnd $(INCLUDES) > diff --git a/tools/testing/selftests/tmpfs/Makefile b/tools/testing/selftests/tmpfs/Makefile > index aa11ccc92e5b..3be931e1193f 100644 > --- a/tools/testing/selftests/tmpfs/Makefile > +++ b/tools/testing/selftests/tmpfs/Makefile > @@ -1,6 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0-only > CFLAGS += -Wall -O2 > -CFLAGS += -D_GNU_SOURCE > > TEST_GEN_PROGS := > TEST_GEN_PROGS += bug-link-o-tmpfile -- BR, Muhammad Usama Anjum ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-07-01 6:15 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-06-25 22:34 [PATCH v7 0/1] Centralize _GNU_SOURCE definition into lib.mk Edward Liaw 2024-06-25 22:34 ` [PATCH v7 1/1] selftests: Centralize -D_GNU_SOURCE= to CFLAGS in lib.mk Edward Liaw 2024-06-27 18:14 ` Shuah Khan 2024-07-01 6:14 ` Muhammad Usama Anjum
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox