mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 02:49:32 +03:00
c00c085bfb
-Wformat-truncation looks for places where the return code of snprintf() is unchecked and the provided buffer might be too short. This is based on a heuristic that can change between compiler versions. It has been seen to get this wrong in ddt_object_name(), leading to DDT_NAMELEN being increased somewhat arbitrarily. There's no good reason to have this warning enabled, so here we disable it everywhere. Truncation may be undesirable, but snprintf() is guaranteed to emit a trailing null, so at worst we get a short string, not a buffer overrun. Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Rob Norris <robn@despairlabs.com> Sponsored-by: https://despairlabs.com/sponsor/ Closes #15908
74 lines
2.3 KiB
Plaintext
74 lines
2.3 KiB
Plaintext
#
|
|
# Default build rules for all user space components, every Makefile.am
|
|
# should include these rules and override or extend them as needed.
|
|
#
|
|
|
|
PHONY =
|
|
AM_CPPFLAGS = \
|
|
-include $(top_builddir)/zfs_config.h \
|
|
-I$(top_builddir)/include \
|
|
-I$(top_srcdir)/include \
|
|
-I$(top_srcdir)/module/icp/include \
|
|
-I$(top_srcdir)/lib/libspl/include \
|
|
-I$(top_srcdir)/lib/libspl/include/os/@ac_system_l@
|
|
|
|
AM_LIBTOOLFLAGS = --silent
|
|
|
|
AM_CFLAGS = -std=gnu99 -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wno-sign-compare -Wno-missing-field-initializers
|
|
AM_CFLAGS += -fno-strict-aliasing
|
|
AM_CFLAGS += $(NO_OMIT_FRAME_POINTER)
|
|
AM_CFLAGS += $(IMPLICIT_FALLTHROUGH)
|
|
AM_CFLAGS += $(DEBUG_CFLAGS)
|
|
AM_CFLAGS += $(ASAN_CFLAGS)
|
|
AM_CFLAGS += $(UBSAN_CFLAGS)
|
|
AM_CFLAGS += $(CODE_COVERAGE_CFLAGS)
|
|
AM_CFLAGS += $(NO_FORMAT_ZERO_LENGTH)
|
|
AM_CFLAGS += $(NO_FORMAT_TRUNCATION)
|
|
if BUILD_FREEBSD
|
|
AM_CFLAGS += -fPIC -Werror -Wno-unknown-pragmas -Wno-enum-conversion
|
|
AM_CFLAGS += -include $(top_srcdir)/include/os/freebsd/spl/sys/ccompile.h
|
|
AM_CFLAGS += -I/usr/include -I/usr/local/include
|
|
endif
|
|
|
|
AM_CPPFLAGS += -D_GNU_SOURCE
|
|
AM_CPPFLAGS += -D_REENTRANT
|
|
AM_CPPFLAGS += -D_FILE_OFFSET_BITS=64
|
|
AM_CPPFLAGS += -D_LARGEFILE64_SOURCE
|
|
AM_CPPFLAGS += -DLIBEXECDIR=\"$(libexecdir)\"
|
|
AM_CPPFLAGS += -DZFSEXECDIR=\"$(zfsexecdir)\"
|
|
AM_CPPFLAGS += -DRUNSTATEDIR=\"$(runstatedir)\"
|
|
AM_CPPFLAGS += -DSBINDIR=\"$(sbindir)\"
|
|
AM_CPPFLAGS += -DSYSCONFDIR=\"$(sysconfdir)\"
|
|
AM_CPPFLAGS += -DPKGDATADIR=\"$(pkgdatadir)\"
|
|
AM_CPPFLAGS += $(DEBUG_CPPFLAGS)
|
|
AM_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
|
|
AM_CPPFLAGS += -DTEXT_DOMAIN=\"zfs-@ac_system_l@-user\"
|
|
|
|
if ASAN_ENABLED
|
|
AM_CPPFLAGS += -DZFS_ASAN_ENABLED
|
|
endif
|
|
|
|
if UBSAN_ENABLED
|
|
AM_CPPFLAGS += -DZFS_UBSAN_ENABLED
|
|
endif
|
|
|
|
AM_LDFLAGS = $(DEBUG_LDFLAGS)
|
|
AM_LDFLAGS += $(ASAN_LDFLAGS)
|
|
AM_LDFLAGS += $(UBSAN_LDFLAGS)
|
|
|
|
if BUILD_FREEBSD
|
|
AM_LDFLAGS += -fstack-protector-strong -shared
|
|
AM_LDFLAGS += -Wl,-x -Wl,--fatal-warnings -Wl,--warn-shared-textrel
|
|
AM_LDFLAGS += -lm
|
|
endif
|
|
|
|
|
|
# If a target includes kernel code, generate warnings for large stack frames
|
|
KERNEL_CFLAGS = $(FRAME_LARGER_THAN)
|
|
|
|
# See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54020
|
|
LIBRARY_CFLAGS = -no-suppress
|
|
|
|
# Forcibly enable asserts/debugging for libzpool &al.
|
|
FORCEDEBUG_CPPFLAGS = -DDEBUG -UNDEBUG -DZFS_DEBUG
|