Print this page
1961 investigate stopping uniquifying CTF information
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Joshua M. Clulow <josh@sysmgr.org>

*** 307,363 **** INS.conffile= \ $(RM) $@; $(INS) -s -m $(CFILEMODE) -f $(@D) $(SRC_CONFFILE) ! # ! # The CTF merge of child kernel modules is performed against one of the genunix ! # modules. For Intel builds, all modules will be used with a single genunix: ! # the one built in intel/genunix. For SPARC builds, a given ! # module may be ! # used with one of a number of genunix files, depending on what platform the ! # module is deployed on. We merge against the sun4u genunix to optimize for ! # the common case. We also merge against the ip driver since networking is ! # typically loaded and types defined therein are shared between many modules. ! # ! CTFMERGE_GUDIR_sparc = sun4u ! CTFMERGE_GUDIR_i386 = intel ! CTFMERGE_GUDIR = $(CTFMERGE_GUDIR_$(MACH)) ! ! CTFMERGE_GENUNIX = \ ! $(UTSBASE)/$(CTFMERGE_GUDIR)/genunix/$(OBJS_DIR)/genunix ! ! # ! # Used to uniquify a non-genunix module against genunix. $VERSION is used ! # for the label. ! # ! # For the ease of developers dropping modules onto possibly unrelated systems, ! # you can set NO_GENUNIX_UNIQUIFY= in the environment to skip uniquifying ! # against genunix. ! # ! NO_GENUNIX_UNIQUIFY=$(POUND_SIGN) ! CTFMERGE_GENUNIX_DFLAG=-d $(CTFMERGE_GENUNIX) ! $(NO_GENUNIX_UNIQUIFY)CTF_GENUNIX_DFLAG= ! ! CTFMERGE_UNIQUIFY_AGAINST_GENUNIX = \ ! $(CTFMERGE) $(CTFMRGFLAGS) -L VERSION \ ! $(CTFMERGE_GENUNIX_DFLAG) -o $@ $(OBJECTS) $(CTFEXTRAOBJS) ! ! # ! # Used to merge the genunix module. ! # ! CTFMERGE_GENUNIX_MERGE = \ ! $(CTFMERGE) $(CTFMRGFLAGS) -L VERSION -o $@ \ ! $(OBJECTS) $(CTFEXTRAOBJS) $(IPCTF_TARGET) ! ! # ! # We ctfmerge the ip objects into genunix to maximize the number of common types ! # found there, thus maximizing the effectiveness of uniquification. We don't ! # want the genunix build to have to know about the individual ip objects, so we ! # put them in an archive. The genunix ctfmerge then includes this archive. ! # ! IPCTF = $(IPDRV_DIR)/$(OBJS_DIR)/ipctf.a # # Rule for building fake shared libraries used for symbol resolution # when building other modules. -znoreloc is needed here to avoid # tripping over code that isn't really suitable for shared libraries. --- 307,318 ---- INS.conffile= \ $(RM) $@; $(INS) -s -m $(CFILEMODE) -f $(@D) $(SRC_CONFFILE) ! CTFMERGE_MODULE= $(CTFMERGE) $(CTFMRGFLAGS) -L VERSION -o $@ $(OBJECTS) \ ! $(CTFEXTRAOBJS) # # Rule for building fake shared libraries used for symbol resolution # when building other modules. -znoreloc is needed here to avoid # tripping over code that isn't really suitable for shared libraries.