Print this page
11506 smatch resync
@@ -21,18 +21,12 @@
#
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# Copyright (c) 2018, Joyent, Inc.
-
+# Copyright 2019 Joyent, Inc.
#
-# This makefile drives the production of the generic
-# unix kernel module.
-#
-# x86 implementation architecture dependent
-#
#
# Path to the base of the uts directory tree (usually /usr/src/uts).
#
UTSBASE = ../..
@@ -44,13 +38,10 @@
GENUNIX = $(OBJS_DIR)/$(MODULE)
OBJECTS = $(GENUNIX_OBJS:%=$(OBJS_DIR)/%) \
$(NOT_YET_KMODS:%=$(OBJS_DIR)/%)
-LINTS = $(GENUNIX_OBJS:%.o=$(LINTS_DIR)/%.ln) \
- $(NOT_YET_KMODS:%.o=$(LINTS_DIR)/%.ln)
-
ROOTMODULE = $(ROOT_KERN_DIR)/$(MODULE)
LIBGEN = $(OBJS_DIR)/libgenunix.so
LIBSTUBS = $(GENSTUBS_OBJS:%=$(OBJS_DIR)/%)
@@ -61,11 +52,10 @@
#
# Define targets
#
ALL_TARGET = $(LIBGEN) $(GENUNIX)
-LINT_TARGET = $(MODULE).lint
INSTALL_TARGET = $(LIBGEN) $(GENUNIX) $(ROOTMODULE)
#
# Overrides
#
@@ -86,22 +76,10 @@
CPPFLAGS += -I$(SRC)/common
CPPFLAGS += -I$(SRC)/uts/common/fs/zfs
CPPFLAGS += -I$(UTSBASE)/i86pc
-#
-# For now, disable these lint checks; maintainers should endeavor
-# to investigate and remove these for maximum lint coverage.
-# Please do not carry these forward to new Makefiles.
-#
-LINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
-LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
-LINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
-LINTTAGS += -erroff=E_STATIC_UNUSED
-LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
-LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
-
CERRWARN += -_gcc=-Wno-unused-label
CERRWARN += -_gcc=-Wno-unused-variable
CERRWARN += -_gcc=-Wno-unused-value
CERRWARN += -_gcc=-Wno-unused-function
CERRWARN += -_gcc=-Wno-parentheses
@@ -109,10 +87,13 @@
CERRWARN += -_gcc=-Wno-type-limits
CERRWARN += -_gcc=-Wno-uninitialized
CERRWARN += -_gcc=-Wno-clobbered
CERRWARN += -_gcc=-Wno-empty-body
+# very hairy
+$(OBJS_DIR)/u8_textprep.o := SMATCH=off
+
# false positives
SMOFF += index_overflow
$(OBJS_DIR)/seg_vn.o := SMOFF += deref_check
$(OBJS_DIR)/ddi_intr_irm.o := SMOFF += deref_check
@@ -128,16 +109,10 @@
# definitely wrong
$(OBJS_DIR)/acl_common.o := SMOFF += or_vs_and
#
-# Ensure that lint sees 'struct cpu' containing a fully declared
-# embedded 'struct machcpu'
-#
-LINTFLAGS += -D_MACHDEP -I../../i86pc
-
-#
# Default build targets.
#
.KEEP_STATE:
def: $(DEF_DEPS)
@@ -146,16 +121,10 @@
clean: $(CLEAN_DEPS)
clobber: $(CLOBBER_DEPS)
-lint: $(LINT_DEPS)
-
-modlintlib: $(MODLINTLIB_DEPS)
-
-clean.lint: $(CLEAN_LINT_DEPS)
-
install: $(INSTALL_DEPS)
# Due to what seems to be an issue in GCC 4 generated DWARF containing
# symbolic relocations against non-allocatable .debug sections, libgenunix.so
# must be built from a stripped object, thus we create an intermediary
@@ -188,10 +157,5 @@
# Software workarounds for hardware "features".
#
include $(UTSBASE)/i86pc/Makefile.workarounds
ALL_DEFS += $(WORKAROUND_DEFS)
-
-#
-# Override.
-#
-$(MODULE).lint := GEN_LINT_LIB =