Print this page
    
10077 usr/src/uts/ Makefile changes for smatch
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/uts/intel/zfs/Makefile
          +++ new/usr/src/uts/intel/zfs/Makefile
   1    1  #
   2    2  # CDDL HEADER START
   3    3  #
   4    4  # The contents of this file are subject to the terms of the
   5    5  # Common Development and Distribution License (the "License").
   6    6  # You may not use this file except in compliance with the License.
   7    7  #
   8    8  # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9  # or http://www.opensolaris.org/os/licensing.
  10   10  # See the License for the specific language governing permissions
  11   11  # and limitations under the License.
  12   12  #
  13   13  # When distributing Covered Code, include this CDDL HEADER in each
  14   14  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  #
  
    | 
      ↓ open down ↓ | 
    21 lines elided | 
    
      ↑ open up ↑ | 
  
  22   22  # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23  # Use is subject to license terms.
  24   24  #
  25   25  #       This makefile drives the production of the zfs file system
  26   26  #       kernel module.
  27   27  #
  28   28  # Copyright 2013 Saso Kiselkov. All rights reserved.
  29   29  #
  30   30  # Copyright (c) 2016 by Delphix. All rights reserved.
  31   31  #
       32 +# Copyright (c) 2018, Joyent, Inc.
  32   33  
  33   34  #
  34   35  #       Path to the base of the uts directory tree (usually /usr/src/uts).
  35   36  #
  36   37  UTSBASE = ../..
  37   38  
  38   39  ARCHDIR:sh = cd ..; basename `pwd`
  39   40  
  40   41  #
  41   42  #       Define the module and object file sets.
  42   43  #
  43   44  MODULE          = zfs
  44   45  OBJECTS         = $(ZFS_OBJS:%=$(OBJS_DIR)/%) $(LUA_OBJS:%=$(OBJS_DIR)/%)
  45   46  # LUA_OBJS are intentionally omitted from LINTS
  46   47  LINTS           = $(ZFS_OBJS:%.o=$(LINTS_DIR)/%.ln)
  47   48  ROOTMODULE      = $(ROOT_DRV_DIR)/$(MODULE)
  48   49  ROOTLINK        = $(ROOT_FS_DIR)/$(MODULE)
  49   50  CONF_SRCDIR     = $(UTSBASE)/common/fs/zfs
  50   51  
  51   52  #
  52   53  #       Include common rules.
  53   54  #
  54   55  include ../Makefile.$(ARCHDIR)
  55   56  
  56   57  #
  57   58  #       Define targets
  58   59  #
  59   60  ALL_TARGET      = $(BINARY) $(SRC_CONFILE)
  60   61  LINT_TARGET     = $(MODULE).lint
  61   62  INSTALL_TARGET  = $(BINARY) $(ROOTMODULE) $(ROOTLINK) $(ROOT_CONFFILE)
  62   63  
  63   64  #
  64   65  #       Overrides and depends_on
  65   66  #
  66   67  MODSTUBS_DIR     = $(OBJS_DIR)
  67   68  LDFLAGS         += -dy -Nfs/specfs -Ncrypto/swrand -Nmisc/idmap -Nmisc/sha2 \
  68   69          -Nmisc/skein -Nmisc/edonr
  69   70  
  70   71  INC_PATH        += -I$(UTSBASE)/common/fs/zfs
  71   72  INC_PATH        += -I$(UTSBASE)/common/fs/zfs/lua
  72   73  INC_PATH        += -I$(SRC)/common
  73   74  INC_PATH        += -I$(COMMONBASE)/zfs
  74   75  
  75   76  C99LMODE=       -Xc99=%all
  76   77  
  77   78  #
  78   79  # For now, disable these lint checks; maintainers should endeavor
  79   80  # to investigate and remove these for maximum lint coverage.
  80   81  # Please do not carry these forward to new Makefiles.
  81   82  #
  82   83  LINTTAGS        += -erroff=E_SUSPICIOUS_COMPARISON
  83   84  LINTTAGS        += -erroff=E_BAD_PTR_CAST_ALIGN
  84   85  LINTTAGS        += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
  85   86  LINTTAGS        += -erroff=E_STATIC_UNUSED
  
    | 
      ↓ open down ↓ | 
    44 lines elided | 
    
      ↑ open up ↑ | 
  
  86   87  LINTTAGS        += -erroff=E_PTRDIFF_OVERFLOW
  87   88  LINTTAGS        += -erroff=E_ASSIGN_NARROW_CONV
  88   89  
  89   90  CERRWARN        += -_gcc=-Wno-type-limits
  90   91  CERRWARN        += -_gcc=-Wno-switch
  91   92  CERRWARN        += -_gcc=-Wno-parentheses
  92   93  CERRWARN        += -_gcc=-Wno-unused-variable
  93   94  CERRWARN        += -_gcc=-Wno-unused-function
  94   95  CERRWARN        += -_gcc=-Wno-unused-label
  95   96  
       97 +# needs work
       98 +SMOFF += all_func_returns,indenting
       99 +$(OBJS_DIR)/llex.o := SMOFF += index_overflow
      100 +$(OBJS_DIR)/metaslab.o := SMOFF += no_if_block
      101 +$(OBJS_DIR)/zfs_vnops.o := SMOFF += signed
      102 +# needs work
      103 +$(OBJS_DIR)/zvol.o := SMOFF += deref_check,signed
      104 +
      105 +# false positives
      106 +$(OBJS_DIR)/zfs_ctldir.o := SMOFF += strcpy_overflow
      107 +$(OBJS_DIR)/zfs_ioctl.o := SMOFF += strcpy_overflow
      108 +
  96  109  #
  97  110  #       Default build targets.
  98  111  #
  99  112  .KEEP_STATE:
 100  113  
 101  114  def:            $(DEF_DEPS)
 102  115  
 103  116  all:            $(ALL_DEPS)
 104  117  
 105  118  clean:          $(CLEAN_DEPS)
 106  119  
 107  120  clobber:        $(CLOBBER_DEPS)
 108  121  
 109  122  lint:           $(LINT_DEPS)
 110  123  
 111  124  modlintlib:     $(MODLINTLIB_DEPS)
 112  125  
 113  126  clean.lint:     $(CLEAN_LINT_DEPS)
 114  127  
 115  128  install:        $(INSTALL_DEPS)
 116  129  
 117  130  $(ROOTLINK):    $(ROOT_FS_DIR) $(ROOTMODULE)
 118  131          -$(RM) $@; ln $(ROOTMODULE) $@
 119  132  
 120  133  #
 121  134  #       Include common targets.
 122  135  #
 123  136  include ../Makefile.targ
  
    | 
      ↓ open down ↓ | 
    18 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX