Print this page
11646 fbt entry probes incorrectly placed due to -fshrink-wrap
@@ -23,11 +23,11 @@
# Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011 Bayard G. Bell. All rights reserved.
# Copyright (c) 2011,2017 by Delphix. All rights reserved.
# Copyright (c) 2013 Andrew Stormont. All rights reserved.
# Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
-# Copyright (c) 2019, Joyent, Inc.
+# Copyright 2019 Joyent, Inc.
#
#
# This Makefile contains the common targets and definitions for
# all kernels. It is to be included in the Makefiles for specific
@@ -239,10 +239,18 @@
# Unfortunately, _IOWR() is regularly used with a third argument of 0,
# so we have to disable all these smatch checks.
#
SMOFF += sizeof
+#
+# Ensure that the standard function prologue remains at the very start of a function,
+# so DTrace fbt will instrument the right place.
+#
+CFLAGS_uts_i386 += -_gcc7=-fno-shrink-wrap
+CFLAGS_uts_i386 += -_gcc8=-fno-shrink-wrap
+CFLAGS_uts_i386 += -_gcc9=-fno-shrink-wrap
+
CSTD = $(CSTD_GNU99)
CFLAGS_uts =
CFLAGS_uts += $(STAND_FLAGS_$(CLASS))
CFLAGS_uts += $(CCVERBOSE)
@@ -255,10 +263,11 @@
CFLAGS_uts += $(CCNOAGGRESSIVELOOPS)
CFLAGS_uts += $(CGLOBALSTATIC)
CFLAGS_uts += $(EXTRA_CFLAGS)
CFLAGS_uts += $(CSOURCEDEBUGFLAGS)
CFLAGS_uts += $(CUSERFLAGS)
+CFLAGS_uts += $(CFLAGS_uts_$(MACH))
#
# Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.
# The DUMMY target is for those instances where OBJECTS and LINTS
# are empty (to avoid an unconditional .PARALLEL).