Print this page
OS-3643 lx brand: add USDT provider to lx_brand.so.1
OS-3644 lx brand: ptrace_init() never called
*** 19,28 ****
--- 19,29 ----
# CDDL HEADER END
#
# Copyright 2015 Gary Mills
# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
+ # Copyright (c) 2014, Joyent, Inc.
#
#
# Definitions common to libraries.
#
# include global definitions; SRC should be defined in the shell.
*** 133,143 ****
--- 134,161 ----
# For most libraries, we should be able to resolve all symbols at link time,
# either within the library or as dependencies, all text should be pure, and
# combining relocations into one relocation table reduces startup costs.
# All options are tunable to allow overload/omission from lower makefiles.
+ #
+ # DTrace related rules
+ #
+ # These allow for multiple USDT providers to be specified by a library.
+ # If a library needs to break up the set of objects that are passed to
+ # the dtrace -G invocation, then they can place the following in heir
+ # Makefile.com:
+ #
+ # pics/<provider>.o := USDT_G_PICS = <files>
+ #
+ # <provider> should be replaced with the basename of one of the USDT
+ # providers specified in USDT_PROVIDERS in their Makefile.com.
+ #
+ USDT_HEADERS= $(USDT_PROVIDERS:%.d=%_impl.h)
+ USDT_PICS= $(USDT_PROVIDERS:%.d=pics/%.o)
+ USDT_G_PICS= $(PICS)
+
HSONAME= -h$(SONAME)
DYNFLAGS= $(HSONAME) $(ZTEXT) $(ZDEFS) $(BDIRECT) \
$(MAPFILES:%=-M%) $(MAPFILE.PGA:%=-M%) $(MAPFILE.NED:%=-M%)
LDLIBS= $(LDLIBS.lib)
*** 155,165 ****
# default build of an archive and a shared object,
# overridden locally when extra processing is needed
BUILD.AR= $(AR) $(ARFLAGS) $@ $(AROBJS)
BUILD.SO= $(CC) $(CFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
! $(PICS) $(EXTPICS) $(LDLIBS)
BUILDCCC.SO= $(CCC) $(CCFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
$(PICS) $(EXTPICS) $(LDLIBS)
# default dynamic library symlink
INS.liblink= -$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@
--- 173,183 ----
# default build of an archive and a shared object,
# overridden locally when extra processing is needed
BUILD.AR= $(AR) $(ARFLAGS) $@ $(AROBJS)
BUILD.SO= $(CC) $(CFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
! $(PICS) $(EXTPICS) $(USDT_PICS) $(LDLIBS)
BUILDCCC.SO= $(CCC) $(CCFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
$(PICS) $(EXTPICS) $(LDLIBS)
# default dynamic library symlink
INS.liblink= -$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@