Print this page
    
NEX-2787 Multiple comstar / fibre channel / qlt threads stuck waiting on locks with a spinning interrupt thread
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
Approved by: Jean McCormack <jean.mccormack@nexenta.com>
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/cmd/mdb/Makefile.mdb
          +++ new/usr/src/cmd/mdb/Makefile.mdb
   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
  
    | 
      ↓ open down ↓ | 
    16 lines elided | 
    
      ↑ open up ↑ | 
  
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  #
  22   22  # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23  # Use is subject to license terms.
  24   24  #
  25   25  
  26   26  #
  27      -# Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
       27 +# Copyright 2011, 2015 Nexenta Systems, Inc.  All rights reserved.
  28   28  # Copyright (c) 2012 by Delphix. All rights reserved.
  29   29  # Copyright (c) 2012 Joyent, Inc. All rights reserved.
  30   30  #
  31   31  
  32   32  .KEEP_STATE:
  33   33  .SUFFIXES:
  34   34  
  35   35  SRCS += \
  36   36          ffs.c \
       37 +        list.c \
  37   38          mdb.c \
  38   39          mdb_addrvec.c \
  39   40          mdb_argvec.c \
  40   41          mdb_callb.c \
  41   42          mdb_cmdbuf.c \
  42   43          mdb_cmds.c \
  43   44          mdb_conf.c \
  44   45          mdb_context.c \
  45   46          mdb_create.c \
  46   47          mdb_ctf.c \
  47   48          mdb_ctf_open.c \
  48   49          mdb_debug.c \
  49   50          mdb_demangle.c \
  50   51          mdb_disasm.c \
  51   52          mdb_dump.c \
  52   53          mdb_err.c \
  53   54          mdb_evset.c \
  54   55          mdb_fdio.c \
  55   56          mdb_fmt.c \
  56   57          mdb_frame.c \
  57   58          mdb_gelf.c \
  58   59          mdb_help.c \
  59   60          mdb_io.c \
  60   61          mdb_kb_kvm.c \
  61   62          mdb_kproc.c \
  62   63          mdb_kvm.c \
  63   64          mdb_logio.c \
  64   65          mdb_list.c \
  65   66          mdb_macalias.c \
  66   67          mdb_main.c \
  67   68          mdb_memio.c \
  68   69          mdb_modapi.c \
  69   70          mdb_module.c \
  70   71          mdb_module_load.c \
  71   72          mdb_nm.c \
  72   73          mdb_nv.c \
  73   74          mdb_pipeio.c \
  74   75          mdb_print.c \
  75   76          mdb_proc.c \
  76   77          mdb_pservice.c \
  77   78          mdb_rawfile.c \
  78   79          mdb_set.c \
  79   80          mdb_shell.c \
  80   81          mdb_signal.c \
  81   82          mdb_stdlib.c \
  82   83          mdb_string.c \
  83   84          mdb_strio.c \
  84   85          mdb_tab.c \
  85   86          mdb_target.c \
  86   87          mdb_tdb.c \
  87   88          mdb_termio.c \
  88   89          mdb_typedef.c \
  89   90          mdb_umem.c \
  90   91          mdb_value.c \
  91   92          mdb_vcb.c \
  92   93          mdb_wcb.c \
  93   94          mdb_whatis.c
  94   95  
  95   96  $(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
  96   97  CPPFLAGS += -D_MDB -I. -I../.. -I../../../common
  97   98  
  98   99  CSTD=   $(CSTD_GNU99)
  99  100  C99LMODE=       -Xc99=%all
 100  101  
 101  102  LDLIBS += -lcurses -lkvm -lproc -lrtld_db -lctf -lumem -ldisasm -lscf
 102  103  
 103  104  CERRWARN += -_gcc=-Wno-uninitialized
 104  105  CERRWARN += -_gcc=-Wno-char-subscripts
 105  106  CERRWARN += -_gcc=-Wno-clobbered
 106  107  CERRWARN += -_gcc=-Wno-parentheses
 107  108  CERRWARN += -_gcc=-Wno-unused-label
 108  109  CERRWARN += -_gcc=-Wno-unused-variable
 109  110  
 110  111  #
 111  112  # -erroff=E_INCONS_ARG_DECL2 works around a problem where lint gets confused
 112  113  # about how struct mdb_tgt_gregset is used in mdb_tgt_stack_f() and
 113  114  # mdb_tgt_stack_iter_f(). Will be resolved as part of fix for CR 6749868.
 114  115  #
 115  116  LINTFLAGS += -n -errtags=yes -erroff=E_INCONS_ARG_DECL2
 116  117  LINTFILES = $(SRCS:%.c=%.ln)
 117  118  
 118  119  PROG = mdb
 119  120  OBJS = $(SRCS:%.c=%.o) mdb_lex.o mdb_grammar.o
 120  121  
 121  122  LINK = adb
 122  123  ROOTLINK = $(ROOTBIN)/$(LINK)
 123  124  ROOTLINK32 = $(LINK:%=$(ROOTBIN32)/%)
 124  125  ROOTLINK64 = $(LINK:%=$(ROOTBIN64)/%)
 125  126  
 126  127  .NO_PARALLEL:
 127  128  .PARALLEL: $(OBJS) $(LINTFILES)
 128  129  
 129  130  all: $(PROG)
 130  131  
 131  132  $(PROG): $(OBJS)
 132  133          $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
 133  134          $(CTFMERGE) -L VERSION -o $@ $(OBJS)
 134  135          $(POST_PROCESS)
 135  136  
 136  137  $(ROOTLINK32): $(ROOTPROG32)
 137  138          $(RM) $@
 138  139          $(LN) $(ROOTPROG32) $@
 139  140  
 140  141  $(ROOTLINK64): $(ROOTPROG64)
 141  142          $(RM) $@
 142  143          $(LN) $(ROOTPROG64) $@
 143  144  
 144  145  mdb_lex.c: ../../../common/mdb/mdb_lex.l mdb_grammar.h
 145  146          $(LEX) $(LFLAGS) ../../../common/mdb/mdb_lex.l > $@
 146  147  
 147  148  mdb_grammar.h mdb_grammar.c: ../../../common/mdb/mdb_grammar.y
 148  149          $(YACC) $(YFLAGS) ../../../common/mdb/mdb_grammar.y
 149  150          @$(MV) y.tab.h mdb_grammar.h
 150  151          @$(MV) y.tab.c mdb_grammar.c
 151  152  
 152  153  mdb_lex.o mdb_grammar.o := CCVERBOSE =
 153  154  
 154  155  mdb_conf.o := CPPFLAGS += -DMDB_VERSION='$(MDB_VERSION)'
 155  156  
 156  157  inet_ntop.o := CPPFLAGS += -Dsnprintf=mdb_snprintf
 157  158  
 158  159  ffs.o ffs.ln := CPPFLAGS += -Dffs=mdb_ffs
 159  160  
 160  161  %.o: ../../../common/mdb/%.c
 161  162          $(COMPILE.c) $<
  
    | 
      ↓ open down ↓ | 
    115 lines elided | 
    
      ↑ open up ↑ | 
  
 162  163          $(CTFCONVERT_O)
 163  164  
 164  165  %.o: ../../mdb/%.c
 165  166          $(COMPILE.c) $<
 166  167          $(CTFCONVERT_O)
 167  168  
 168  169  %.o: %.c
 169  170          $(COMPILE.c) $<
 170  171          $(CTFCONVERT_O)
 171  172  
      173 +%.o: $(SRC)/common/list/%.c
      174 +        $(COMPILE.c) $<
      175 +        $(CTFCONVERT_O)
      176 +
 172  177  %.o: $(SRC)/common/net/util/%.c
 173  178          $(COMPILE.c) $<
 174  179          $(CTFCONVERT_O)
 175  180  
 176  181  %.o: $(SRC)/common/util/%.c
 177  182          $(COMPILE.c) $<
 178  183          $(CTFCONVERT_O)
 179  184  
 180  185  clean.lint:
 181  186          $(RM) $(LINTFILES)
 182  187  
 183  188  clean:
 184  189          $(RM) $(OBJS)
 185  190          $(RM) mdb_lex.c mdb_grammar.c mdb_grammar.h y.tab.h y.tab.c y.output
 186  191  
 187  192  clobber: clean clean.lint
 188  193          $(RM) $(PROG)
  
    | 
      ↓ open down ↓ | 
    7 lines elided | 
    
      ↑ open up ↑ | 
  
 189  194  
 190  195  %.ln: ../../../common/mdb/%.c
 191  196          $(LINT.c) -c $<
 192  197  
 193  198  %.ln: ../../mdb/%.c
 194  199          $(LINT.c) -c $<
 195  200  
 196  201  %.ln: %.c
 197  202          $(LINT.c) -c $<
 198  203  
      204 +%.ln: $(SRC)/common/list/%.c
      205 +        $(LINT.c) -c $<
      206 +
 199  207  %.ln: $(SRC)/common/net/util/%.c
 200  208          $(LINT.c) -c $<
 201  209  
 202  210  %.ln: $(SRC)/common/util/%.c
 203  211          $(LINT.c) -c $<
 204  212  
 205  213  lint: $(LINTFILES)
 206  214          $(LINT) $(LINTFLAGS) $(LINTFILES)
 207  215  
 208  216  dmods:
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX