From b3b7491615308d80e363854e977387f633ad9327 Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Tue, 27 Aug 2024 09:44:53 +1000 Subject: [PATCH] build: rename FORCEDEBUG_CPPFLAGS to LIBZPOOL_CPPFLAGS This is just a very small attempt to make it more obvious that these flags aren't optional for libzpool-using programs, by not making it seem like there's an option to say "well, I don't _want_ to force debugging". Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Allan Jude Reviewed-by: Rich Ercolani Reviewed-by: Brian Behlendorf Signed-off-by: Rob Norris Issue #16476 Closes #16477 --- cmd/Makefile.am | 4 ++-- cmd/raidz_test/Makefile.am | 2 +- cmd/zdb/Makefile.am | 2 +- cmd/zstream/Makefile.am | 2 +- config/Rules.am | 5 ++++- lib/libzpool/Makefile.am | 2 +- tests/zfs-tests/cmd/Makefile.am | 2 +- 7 files changed, 11 insertions(+), 8 deletions(-) diff --git a/cmd/Makefile.am b/cmd/Makefile.am index 2bd9d039f..96040976e 100644 --- a/cmd/Makefile.am +++ b/cmd/Makefile.am @@ -24,7 +24,7 @@ zfs_ids_to_path_LDADD = \ libzfs.la -zhack_CPPFLAGS = $(AM_CPPFLAGS) $(FORCEDEBUG_CPPFLAGS) +zhack_CPPFLAGS = $(AM_CPPFLAGS) $(LIBZPOOL_CPPFLAGS) sbin_PROGRAMS += zhack CPPCHECKTARGETS += zhack @@ -39,7 +39,7 @@ zhack_LDADD = \ ztest_CFLAGS = $(AM_CFLAGS) $(KERNEL_CFLAGS) -ztest_CPPFLAGS = $(AM_CPPFLAGS) $(FORCEDEBUG_CPPFLAGS) +ztest_CPPFLAGS = $(AM_CPPFLAGS) $(LIBZPOOL_CPPFLAGS) sbin_PROGRAMS += ztest CPPCHECKTARGETS += ztest diff --git a/cmd/raidz_test/Makefile.am b/cmd/raidz_test/Makefile.am index 3b8b60568..635216d65 100644 --- a/cmd/raidz_test/Makefile.am +++ b/cmd/raidz_test/Makefile.am @@ -1,5 +1,5 @@ raidz_test_CFLAGS = $(AM_CFLAGS) $(KERNEL_CFLAGS) -raidz_test_CPPFLAGS = $(AM_CPPFLAGS) $(FORCEDEBUG_CPPFLAGS) +raidz_test_CPPFLAGS = $(AM_CPPFLAGS) $(LIBZPOOL_CPPFLAGS) bin_PROGRAMS += raidz_test CPPCHECKTARGETS += raidz_test diff --git a/cmd/zdb/Makefile.am b/cmd/zdb/Makefile.am index ebdc19128..8a4388bd1 100644 --- a/cmd/zdb/Makefile.am +++ b/cmd/zdb/Makefile.am @@ -1,4 +1,4 @@ -zdb_CPPFLAGS = $(AM_CPPFLAGS) $(FORCEDEBUG_CPPFLAGS) +zdb_CPPFLAGS = $(AM_CPPFLAGS) $(LIBZPOOL_CPPFLAGS) zdb_CFLAGS = $(AM_CFLAGS) $(LIBCRYPTO_CFLAGS) sbin_PROGRAMS += zdb diff --git a/cmd/zstream/Makefile.am b/cmd/zstream/Makefile.am index f9d0b0cfd..be3539fe9 100644 --- a/cmd/zstream/Makefile.am +++ b/cmd/zstream/Makefile.am @@ -1,4 +1,4 @@ -zstream_CPPFLAGS = $(AM_CPPFLAGS) $(FORCEDEBUG_CPPFLAGS) +zstream_CPPFLAGS = $(AM_CPPFLAGS) $(LIBZPOOL_CPPFLAGS) sbin_PROGRAMS += zstream CPPCHECKTARGETS += zstream diff --git a/config/Rules.am b/config/Rules.am index b462826e2..9c0714c82 100644 --- a/config/Rules.am +++ b/config/Rules.am @@ -71,4 +71,7 @@ KERNEL_CFLAGS = $(FRAME_LARGER_THAN) LIBRARY_CFLAGS = -no-suppress # Forcibly enable asserts/debugging for libzpool &al. -FORCEDEBUG_CPPFLAGS = -DDEBUG -UNDEBUG -DZFS_DEBUG +# Since ZFS_DEBUG can change shared data structures, all libzpool users must +# be compiled with the same flags. +# See https://github.com/openzfs/zfs/issues/16476 +LIBZPOOL_CPPFLAGS = -DDEBUG -UNDEBUG -DZFS_DEBUG diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am index 6989fefc6..81949bf9e 100644 --- a/lib/libzpool/Makefile.am +++ b/lib/libzpool/Makefile.am @@ -3,7 +3,7 @@ include $(srcdir)/%D%/include/Makefile.am libzpool_la_CFLAGS = $(AM_CFLAGS) $(KERNEL_CFLAGS) $(LIBRARY_CFLAGS) libzpool_la_CFLAGS += $(ZLIB_CFLAGS) -libzpool_la_CPPFLAGS = $(AM_CPPFLAGS) $(FORCEDEBUG_CPPFLAGS) +libzpool_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBZPOOL_CPPFLAGS) libzpool_la_CPPFLAGS += -I$(srcdir)/include/os/@ac_system_l@/zfs libzpool_la_CPPFLAGS += -DLIB_ZPOOL_BUILD diff --git a/tests/zfs-tests/cmd/Makefile.am b/tests/zfs-tests/cmd/Makefile.am index 23848a82f..a8df06c2e 100644 --- a/tests/zfs-tests/cmd/Makefile.am +++ b/tests/zfs-tests/cmd/Makefile.am @@ -24,7 +24,7 @@ scripts_zfs_tests_bin_PROGRAMS += %D%/badsend scripts_zfs_tests_bin_PROGRAMS += %D%/btree_test -%C%_btree_test_CPPFLAGS = $(AM_CPPFLAGS) $(FORCEDEBUG_CPPFLAGS) +%C%_btree_test_CPPFLAGS = $(AM_CPPFLAGS) $(LIBZPOOL_CPPFLAGS) %C%_btree_test_LDADD = \ libzpool.la \ libzfs_core.la