Print this page
11646 fbt entry probes incorrectly placed due to -fshrink-wrap


   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2011 Bayard G. Bell. All rights reserved.
  25 # Copyright (c) 2011,2017 by Delphix. All rights reserved.
  26 # Copyright (c) 2013 Andrew Stormont.  All rights reserved.
  27 # Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
  28 # Copyright (c) 2019, Joyent, Inc.
  29 #
  30 
  31 #
  32 #       This Makefile contains the common targets and definitions for
  33 #       all kernels. It is to be included in the Makefiles for specific
  34 #       implementation architectures and processor architecture dependent
  35 #       modules: i.e.: all driving kernel Makefiles.
  36 #
  37 #       Include global definitions:
  38 #
  39 include $(SRC)/Makefile.master
  40 
  41 #
  42 #       No text domain in the kernel.
  43 #
  44 DTEXTDOM =
  45 
  46 #
  47 #       Keep references to $(SRC)/common relative.
  48 COMMONBASE=     $(UTSBASE)/../common


 224 
 225 # gcc4 lacks -Wno-maybe-uninitialized
 226 CNOWARN_UNINIT = -_gcc4=-Wno-uninitialized \
 227     -_gcc7=-Wno-maybe-uninitialized \
 228     -_gcc8=-Wno-maybe-uninitialized
 229 
 230 # DEBUG v. -nd make for frequent unused variables, empty conditions, etc. in
 231 # -nd builds
 232 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-unused
 233 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-empty-body
 234 
 235 CERRWARN += -_smatch=-p=illumos_kernel
 236 include $(SRC)/Makefile.smatch
 237 
 238 #
 239 # Unfortunately, _IOWR() is regularly used with a third argument of 0,
 240 # so we have to disable all these smatch checks.
 241 #
 242 SMOFF += sizeof
 243 








 244 CSTD = $(CSTD_GNU99)
 245 
 246 CFLAGS_uts              =
 247 CFLAGS_uts              += $(STAND_FLAGS_$(CLASS))
 248 CFLAGS_uts              += $(CCVERBOSE)
 249 CFLAGS_uts              += $(ILDOFF)
 250 CFLAGS_uts              += $(XAOPT)
 251 CFLAGS_uts              += $(CTF_FLAGS_$(CLASS))
 252 CFLAGS_uts              += $(CERRWARN)
 253 CFLAGS_uts              += $(CCNOAUTOINLINE)
 254 CFLAGS_uts              += $(CCNOREORDER)
 255 CFLAGS_uts              += $(CCNOAGGRESSIVELOOPS)
 256 CFLAGS_uts              += $(CGLOBALSTATIC)
 257 CFLAGS_uts              += $(EXTRA_CFLAGS)
 258 CFLAGS_uts              += $(CSOURCEDEBUGFLAGS)
 259 CFLAGS_uts              += $(CUSERFLAGS)

 260 
 261 #
 262 #       Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.
 263 #       The DUMMY target is for those instances where OBJECTS and LINTS
 264 #       are empty (to avoid an unconditional .PARALLEL).
 265 .PARALLEL:      $(OBJECTS) $(LINTS) DUMMY
 266 
 267 #
 268 #       Expanded dependencies
 269 #
 270 DEF_DEPS        = $(DEF_BUILDS:%=def.%)
 271 ALL_DEPS        = $(ALL_BUILDS:%=all.%)
 272 CLEAN_DEPS      = $(ALL_BUILDS:%=clean.%)
 273 CLOBBER_DEPS    = $(ALL_BUILDS:%=clobber.%)
 274 LINT_DEPS       = $(DEF_BUILDS:%=lint.%)
 275 MODLINTLIB_DEPS = $(DEF_BUILDS:%=modlintlib.%)
 276 MODLIST_DEPS    = $(DEF_BUILDS:%=modlist.%)
 277 CLEAN_LINT_DEPS = $(ALL_BUILDS:%=clean.lint.%)
 278 INSTALL_DEPS    = $(DEF_BUILDS:%=install.%)
 279 SYM_DEPS        = $(SYM_BUILDS:%=symcheck.%)




   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2011 Bayard G. Bell. All rights reserved.
  25 # Copyright (c) 2011,2017 by Delphix. All rights reserved.
  26 # Copyright (c) 2013 Andrew Stormont.  All rights reserved.
  27 # Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
  28 # Copyright 2019 Joyent, Inc.
  29 #
  30 
  31 #
  32 #       This Makefile contains the common targets and definitions for
  33 #       all kernels. It is to be included in the Makefiles for specific
  34 #       implementation architectures and processor architecture dependent
  35 #       modules: i.e.: all driving kernel Makefiles.
  36 #
  37 #       Include global definitions:
  38 #
  39 include $(SRC)/Makefile.master
  40 
  41 #
  42 #       No text domain in the kernel.
  43 #
  44 DTEXTDOM =
  45 
  46 #
  47 #       Keep references to $(SRC)/common relative.
  48 COMMONBASE=     $(UTSBASE)/../common


 224 
 225 # gcc4 lacks -Wno-maybe-uninitialized
 226 CNOWARN_UNINIT = -_gcc4=-Wno-uninitialized \
 227     -_gcc7=-Wno-maybe-uninitialized \
 228     -_gcc8=-Wno-maybe-uninitialized
 229 
 230 # DEBUG v. -nd make for frequent unused variables, empty conditions, etc. in
 231 # -nd builds
 232 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-unused
 233 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-empty-body
 234 
 235 CERRWARN += -_smatch=-p=illumos_kernel
 236 include $(SRC)/Makefile.smatch
 237 
 238 #
 239 # Unfortunately, _IOWR() is regularly used with a third argument of 0,
 240 # so we have to disable all these smatch checks.
 241 #
 242 SMOFF += sizeof
 243 
 244 #
 245 # Ensure that the standard function prologue remains at the very start of a function,
 246 # so DTrace fbt will instrument the right place.
 247 #
 248 CFLAGS_uts_i386 += -_gcc7=-fno-shrink-wrap
 249 CFLAGS_uts_i386 += -_gcc8=-fno-shrink-wrap
 250 CFLAGS_uts_i386 += -_gcc9=-fno-shrink-wrap
 251 
 252 CSTD = $(CSTD_GNU99)
 253 
 254 CFLAGS_uts              =
 255 CFLAGS_uts              += $(STAND_FLAGS_$(CLASS))
 256 CFLAGS_uts              += $(CCVERBOSE)
 257 CFLAGS_uts              += $(ILDOFF)
 258 CFLAGS_uts              += $(XAOPT)
 259 CFLAGS_uts              += $(CTF_FLAGS_$(CLASS))
 260 CFLAGS_uts              += $(CERRWARN)
 261 CFLAGS_uts              += $(CCNOAUTOINLINE)
 262 CFLAGS_uts              += $(CCNOREORDER)
 263 CFLAGS_uts              += $(CCNOAGGRESSIVELOOPS)
 264 CFLAGS_uts              += $(CGLOBALSTATIC)
 265 CFLAGS_uts              += $(EXTRA_CFLAGS)
 266 CFLAGS_uts              += $(CSOURCEDEBUGFLAGS)
 267 CFLAGS_uts              += $(CUSERFLAGS)
 268 CFLAGS_uts              += $(CFLAGS_uts_$(MACH))
 269 
 270 #
 271 #       Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.
 272 #       The DUMMY target is for those instances where OBJECTS and LINTS
 273 #       are empty (to avoid an unconditional .PARALLEL).
 274 .PARALLEL:      $(OBJECTS) $(LINTS) DUMMY
 275 
 276 #
 277 #       Expanded dependencies
 278 #
 279 DEF_DEPS        = $(DEF_BUILDS:%=def.%)
 280 ALL_DEPS        = $(ALL_BUILDS:%=all.%)
 281 CLEAN_DEPS      = $(ALL_BUILDS:%=clean.%)
 282 CLOBBER_DEPS    = $(ALL_BUILDS:%=clobber.%)
 283 LINT_DEPS       = $(DEF_BUILDS:%=lint.%)
 284 MODLINTLIB_DEPS = $(DEF_BUILDS:%=modlintlib.%)
 285 MODLIST_DEPS    = $(DEF_BUILDS:%=modlist.%)
 286 CLEAN_LINT_DEPS = $(ALL_BUILDS:%=clean.lint.%)
 287 INSTALL_DEPS    = $(DEF_BUILDS:%=install.%)
 288 SYM_DEPS        = $(SYM_BUILDS:%=symcheck.%)