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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/Makefile.uts
          +++ new/usr/src/uts/Makefile.uts
↓ open down ↓ 17 lines elided ↑ open up ↑
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  
  22   22  #
  23   23  # Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
  24   24  # Copyright (c) 2011 Bayard G. Bell. All rights reserved.
  25   25  # Copyright (c) 2011,2017 by Delphix. All rights reserved.
  26   26  # Copyright (c) 2013 Andrew Stormont.  All rights reserved.
  27   27  # Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
  28      -# Copyright (c) 2019, Joyent, Inc.
       28 +# Copyright 2019 Joyent, Inc.
  29   29  #
  30   30  
  31   31  #
  32   32  #       This Makefile contains the common targets and definitions for
  33   33  #       all kernels. It is to be included in the Makefiles for specific
  34   34  #       implementation architectures and processor architecture dependent
  35   35  #       modules: i.e.: all driving kernel Makefiles.
  36   36  #
  37   37  #       Include global definitions:
  38   38  #
↓ open down ↓ 195 lines elided ↑ open up ↑
 234  234  
 235  235  CERRWARN += -_smatch=-p=illumos_kernel
 236  236  include $(SRC)/Makefile.smatch
 237  237  
 238  238  #
 239  239  # Unfortunately, _IOWR() is regularly used with a third argument of 0,
 240  240  # so we have to disable all these smatch checks.
 241  241  #
 242  242  SMOFF += sizeof
 243  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 +
 244  252  CSTD = $(CSTD_GNU99)
 245  253  
 246  254  CFLAGS_uts              =
 247  255  CFLAGS_uts              += $(STAND_FLAGS_$(CLASS))
 248  256  CFLAGS_uts              += $(CCVERBOSE)
 249  257  CFLAGS_uts              += $(ILDOFF)
 250  258  CFLAGS_uts              += $(XAOPT)
 251  259  CFLAGS_uts              += $(CTF_FLAGS_$(CLASS))
 252  260  CFLAGS_uts              += $(CERRWARN)
 253  261  CFLAGS_uts              += $(CCNOAUTOINLINE)
 254  262  CFLAGS_uts              += $(CCNOREORDER)
 255  263  CFLAGS_uts              += $(CCNOAGGRESSIVELOOPS)
 256  264  CFLAGS_uts              += $(CGLOBALSTATIC)
 257  265  CFLAGS_uts              += $(EXTRA_CFLAGS)
 258  266  CFLAGS_uts              += $(CSOURCEDEBUGFLAGS)
 259  267  CFLAGS_uts              += $(CUSERFLAGS)
      268 +CFLAGS_uts              += $(CFLAGS_uts_$(MACH))
 260  269  
 261  270  #
 262  271  #       Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.
 263  272  #       The DUMMY target is for those instances where OBJECTS and LINTS
 264  273  #       are empty (to avoid an unconditional .PARALLEL).
 265  274  .PARALLEL:      $(OBJECTS) $(LINTS) DUMMY
 266  275  
 267  276  #
 268  277  #       Expanded dependencies
 269  278  #
↓ open down ↓ 394 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX