Centralizes the definition of _GNU_SOURCE into lib.mk and addresses all resulting macro redefinition warnings. These patches will need to be merged in one shot to avoid 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 12 Makefiles. v1: https://lore.kernel.org/linux-kselftest/20240430235057.1351993-1-edliaw@xxxxxxxxxx/ v2: https://lore.kernel.org/linux-kselftest/20240507214254.2787305-1-edliaw@xxxxxxxxxx/ - 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@xxxxxxxxxx/ - 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@xxxxxxxxxx/ - 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@xxxxxxxxxx/ - 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: - 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. Edward Liaw (13): selftests/mm: Define _GNU_SOURCE to an empty string selftests: Add -D_GNU_SOURCE= to CFLAGS in lib.mk selftests/net: Append to lib.mk CFLAGS in Makefile selftests/exec: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/futex: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/intel_pstate: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/iommu: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/kvm: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/proc: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/resctrl: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/ring-buffer: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/riscv: Drop redundant -D_GNU_SOURCE CFLAGS in Makefile selftests/sgx: Append CFLAGS from lib.mk to HOST_CFLAGS 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 +- 14 files changed, 12 insertions(+), 14 deletions(-) -- 2.45.2.741.gdbec12cfda-goog