summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2014-12-08 06:19:08 -0800
committerGarrett D'Amore <garrett@damore.org>2015-04-05 10:36:29 -0700
commit105958d7eca6f896fb8caab1f9777157eb0a352c (patch)
treef85b065d2c09e3cd33ffe88d822f4df39ecab3df /usr/src
parent78d7e9613776b02098bc0b12fc9b9652b788b605 (diff)
downloadillumos-joyent-105958d7eca6f896fb8caab1f9777157eb0a352c.tar.gz
5773 Extra pointless steps in kernel module builds
Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Josef Sipek <jeffpc@josefsipek.net> Reviewed by: Rich Lowe <richlowe@richlowe.net> Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Rich Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/Makefile.master7
-rw-r--r--usr/src/pkg/manifests/developer-build-onbld.mf2
-rw-r--r--usr/src/tools/ctf/Makefile2
-rw-r--r--usr/src/tools/ctf/scripts/Makefile47
-rw-r--r--usr/src/tools/ctf/scripts/ctfcvtptbl.pl222
-rw-r--r--usr/src/tools/ctf/scripts/ctffindmod.sh171
-rw-r--r--usr/src/tools/scripts/bldenv.sh3
-rw-r--r--usr/src/tools/scripts/nightly.sh7
-rw-r--r--usr/src/uts/Makefile.uts70
9 files changed, 12 insertions, 519 deletions
diff --git a/usr/src/Makefile.master b/usr/src/Makefile.master
index ee9ee2a9c4..59f342b69d 100644
--- a/usr/src/Makefile.master
+++ b/usr/src/Makefile.master
@@ -161,8 +161,6 @@ CTFSTABS= $(ONBLD_TOOLS)/bin/$(MACH)/ctfstabs
CTFSTRIP= $(ONBLD_TOOLS)/bin/$(MACH)/ctfstrip
NDRGEN= $(ONBLD_TOOLS)/bin/$(MACH)/ndrgen
GENOFFSETS= $(ONBLD_TOOLS)/bin/genoffsets
-CTFCVTPTBL= $(ONBLD_TOOLS)/bin/ctfcvtptbl
-CTFFINDMOD= $(ONBLD_TOOLS)/bin/ctffindmod
XREF= $(ONBLD_TOOLS)/bin/xref
FIND= /usr/bin/find
PERL= /usr/bin/perl
@@ -187,11 +185,6 @@ MSGCC= $(ASTBINDIR)/msgcc
FILEMODE= 644
DIRMODE= 755
-#
-# The version of the patch makeup table optimized for build-time use. Used
-# during patch builds only.
-$(PATCH_BUILD)PMTMO_FILE=$(SRC)/patch_makeup_table.mo
-
# Declare that nothing should be built in parallel.
# Individual Makefiles can use the .PARALLEL target to declare otherwise.
.NO_PARALLEL:
diff --git a/usr/src/pkg/manifests/developer-build-onbld.mf b/usr/src/pkg/manifests/developer-build-onbld.mf
index 6b9439f5fb..cdbbb05747 100644
--- a/usr/src/pkg/manifests/developer-build-onbld.mf
+++ b/usr/src/pkg/manifests/developer-build-onbld.mf
@@ -92,8 +92,6 @@ file path=opt/onbld/bin/checkpaths mode=0555
file path=opt/onbld/bin/checkproto mode=0555
file path=opt/onbld/bin/copyrightchk mode=0555
file path=opt/onbld/bin/cstyle mode=0555
-file path=opt/onbld/bin/ctfcvtptbl mode=0555
-file path=opt/onbld/bin/ctffindmod mode=0555
file path=opt/onbld/bin/elfcmp mode=0555
file path=opt/onbld/bin/elfsigncmp mode=0555
file path=opt/onbld/bin/find_elf mode=0555
diff --git a/usr/src/tools/ctf/Makefile b/usr/src/tools/ctf/Makefile
index 0746c4943f..dee410e27c 100644
--- a/usr/src/tools/ctf/Makefile
+++ b/usr/src/tools/ctf/Makefile
@@ -26,7 +26,7 @@
include ../Makefile.tools
-SUBDIRS = cvt dump stabs scripts ctfstrip
+SUBDIRS = cvt dump stabs ctfstrip
.PARALLEL: $(SUBDIRS)
diff --git a/usr/src/tools/ctf/scripts/Makefile b/usr/src/tools/ctf/scripts/Makefile
deleted file mode 100644
index a4b30cf153..0000000000
--- a/usr/src/tools/ctf/scripts/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-#ident "%Z%%M% %I% %E% SMI"
-
-include ../../Makefile.tools
-
-.KEEP_STATE:
-
-SHFILES= \
- ctffindmod
-
-PERLFILES= \
- ctfcvtptbl
-
-all: $(SHFILES) $(PERLFILES)
-
-install: all .WAIT $(ROOTONBLDSHFILES) $(ROOTONBLDPERLFILES)
-
-lint:
-
-clean:
- $(RM) $(SHFILES) $(PERLFILES)
-
-include ../../Makefile.targ
diff --git a/usr/src/tools/ctf/scripts/ctfcvtptbl.pl b/usr/src/tools/ctf/scripts/ctfcvtptbl.pl
deleted file mode 100644
index cc2de05c3a..0000000000
--- a/usr/src/tools/ctf/scripts/ctfcvtptbl.pl
+++ /dev/null
@@ -1,222 +0,0 @@
-#!/bin/perl -w
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# ctfcvtptbl [-o outfile] patch-makeup-table
-#
-# Given a path to a patch makeup table, this script converts that table to
-# machine-optimal format and deposits it in the file specified by the -o option
-# or on stdout depending on whether or not -o is specified.
-#
-# The user-supplied patch makeup table is in the following format:
-#
-# #
-# # comment
-# #
-#
-# genunix_archive=/path/to/genunix/archive
-#
-# patch 100001-01 kureq 100002-01
-# usr/src/uts/sparc/sd/debug32/sd
-# module2
-#
-# patch 100003-08
-# module3
-#
-# The machine-optimal format for the above looks like this:
-#
-# GENUNIX_ARCHIVE=/path/to/genunix/archive
-# module1 100001-01 100002-01
-# module2 100001-01 100002-01
-# module3 100003-08
-#
-#
-# Macros and other time-savers:
-#
-# * $RELEASE and $MACH in the genunix archive path will be replaced by the
-# values of the RELEASE and MACH environment variables, respectively, as
-# set by the program calling this one.
-#
-# * BUILD, BUILD32, and BUILD64 will, when used in the path for the module,
-# will be match as follows:
-#
-# BUILD debug32, debug64, obj32, obj64
-# BUILD32 debug32, obj32
-# BUILD64 debug64, obj64
-#
-# * The presence of `usr/src' at the beginning of each module path will be
-# assumed, and is not required to be specified.
-#
-
-use strict;
-use Getopt::Std;
-use File::Basename;
-
-my $PROGNAME = basename($0);
-
-my $genunix_archive;
-my %moddata;
-my %typehash = (
- BUILD => [ "debug32", "debug64", "obj32", "obj64" ],
- BUILD32 => [ "debug32", "obj32" ],
- BUILD64 => [ "debug64", "obj64" ]
-);
-
-my %opts;
-my $err = 0;
-$err = 1 unless getopts("ho:", \%opts);
-if ($opts{"o"}) {
- close(STDOUT);
- open(STDOUT, ">" . $opts{"o"}) || do {
- print STDERR "Couldn't open " . $opts{"o"} . ": $!\n";
- exit(1);
- }
-}
-if ($opts{"h"}) {
- &usage;
- exit(2);
-}
-
-if (@ARGV != 1) {
- $err = 1;
-}
-
-if ($err) {
- &usage;
- exit(2);
-}
-
-$::table = $ARGV[0];
-
-if (!open(TABLE, "<$::table")) {
- print STDERR "Couldn't open $::table: $!\n";
- exit(1);
-}
-
-if (!&read_table) {
- exit(1);
-}
-
-&sub_vars;
-
-&dump_table;
-
-exit(0);
-
-sub usage {
- print STDERR "Usage: $PROGNAME [-o outfile] table\n";
-}
-
-sub read_table {
- my $patchid = "";
- my $kureq = "";
- my $kuprev = "";
-
- $genunix_archive = "";
- undef %moddata;
-
- while (<TABLE>) {
- chop;
- s/\#.*$//; # Strip comments
- s/^\s+//;
-
- if (!$patchid && /^genunix_archive=(\S+)\s*$/) {
- $genunix_archive = $1;
- next;
- }
-
- while ($_) {
- if (s/^patch\s+(\d{6}-\d{2})
- (\s+ku(req|prev)\s+(\d{6}-\d{2}|fcs))?//x &&
- (!$_ || /^\s/)) {
- $patchid = $1;
- $kureq = (defined $4 ? $4 : "fcs");
- $kuprev = (defined $3 && $3 eq "prev" ? 1 : 0);
- } elsif ($patchid && s/^(\S+)//) {
- my $module = $1;
-
- if (($module =~ m:/genunix/:) && !$kuprev) {
- &parseerror("No kuprev supplied " .
- "for entry including genunix");
- }
-
- if (($module !~ m:^usr/src/:)) {
- $module = "usr/src/" . $module;
- }
-
- if (($module =~
- m:^(.*)\$(BUILD|BUILD32|BUILD64)(/.*)$:)) {
- foreach my $type (@{$typehash{$2}}) {
- $moddata{$1 . $type . $3} =
- [$patchid, $kureq];
- }
- } else {
- $moddata{$module} = [$patchid, $kureq];
- }
- } else {
- &parseerror("Cannot parse table");
- }
-
- s/^\s+//;
- }
- }
-
- if (!$genunix_archive) {
- print STDERR "No genunix_archive line in table\n";
- return (0);
- }
-
- if (!%moddata) {
- print STDERR "No module information read\n";
- return (0);
- }
-
- return (1);
-}
-
-sub parseerror {
- my $msg = $_[0];
-
- print STDERR "$msg at line $.\n";
- exit(1);
-}
-
-sub sub_vars {
- my $release = $ENV{"RELEASE"};
- my $mach = $ENV{"MACH"};
-
- $genunix_archive =~ s/\$RELEASE/$release/ if defined $release;
- $genunix_archive =~ s/\$MACH/$mach/ if defined $mach;
-}
-
-sub dump_table {
- print "GENUNIX_ARCHIVE=" . $genunix_archive . "\n";
-
- foreach my $mod (sort keys %moddata) {
- print join(" ", ($mod, @{$moddata{$mod}})) . "\n";
- }
-}
diff --git a/usr/src/tools/ctf/scripts/ctffindmod.sh b/usr/src/tools/ctf/scripts/ctffindmod.sh
deleted file mode 100644
index 8f583371d9..0000000000
--- a/usr/src/tools/ctf/scripts/ctffindmod.sh
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/usr/bin/ksh -p
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-# Given a machine-optimal patch makeup table (see ctfcvtptbl), this program
-# will allow the build process to determine the following:
-#
-# * The patch ID associated with a given module
-# * The KU required by the patch associated with a given module
-# * The patch ID and location of the genunix module preceding the genunix
-# module currently being built.
-#
-
-PROGNAME=$(basename "$0")
-
-usage()
-{
- echo "Usage: $PROGNAME [-nr] [-o outfmt] [-b build_type] -t table" \
- "module_path" >&2
-}
-
-die()
-{
- echo "$1" >&2
- exit 1
-}
-
-outfmt="patch,ku"
-notfoundok=0
-relative=0
-build_type=debug32
-err=0
-while getopts b:lno:rt: c ; do
- case $c in
- b)
- build_type="$OPTARG"
- ;;
- n)
- notfoundok=1
- ;;
- o)
- outfmt="$OPTARG"
- ;;
- r)
- relative=1
- ;;
- t)
- table="$OPTARG"
- ;;
- \?)
- err=1
- ;;
- esac
-done
-shift `expr $OPTIND - 1`
-
-if [[ $err -eq 1 || $# -ne 1 || -z "$table" ]] ; then
- usage
- exit 2
-fi
-
-print_garpath=0
-print_ku=0
-print_patch=0
-print_lastgu=0
-for word in $(echo "$outfmt" |tr ',' ' ') ; do
- case $word in
- garpath)
- print_garpath=1
- ;;
- ku)
- print_ku=1
- ;;
- lastgu)
- print_lastgu=1
- ;;
- patch)
- print_patch=1
- ;;
- \?)
- usage
- exit 2
- esac
-done
-
-module="$1"
-shift
-
-if [[ ! -f "$table" ]] ; then
- die "$PROGNAME: Cannot open $table"
-fi
-
-head -1 "$table" |sed -e 's/^\([^=]*\)=/\1 /' |read garkw garpath
-
-if [[ "$garkw" != "GENUNIX_ARCHIVE" || -z "$garpath" ]] ; then
- die "$PROGNAME: $table is not a machine-optimal patch table" >&2
-fi
-
-if [[ $relative -eq 1 ]] ; then
- crd=$(pwd |sed -e 's:^.*usr/src/uts::')
- module=$(echo "$crd/$module" |sed -e 's://*:/:g')
-fi
-
-fgrep "$module" "$table" |read junk patch ku
-
-if [[ -z "$patch" ||
- "$(expr "$patch" : '[0-9]\{6\}-[0-9][0-9]')" -ne 9 ]] ; then
- if [[ "$notfoundok" -eq 1 ]] ; then
- patch="-"
- else
- die "$PROGNAME: Cannot find patch for $module" >&2
- fi
-fi
-
-if [[ -z "$ku" ]] ; then
- ku="-"
-fi
-
-# Output
-
-space=""
-if [[ $print_patch -eq 1 ]] ; then
- echo "$space$patch\c"
- space=" "
-fi
-if [[ $print_ku -eq 1 ]] ; then
- echo "$space$ku\c"
- space=" "
-fi
-if [[ $print_garpath -eq 1 ]] ; then
- echo "$space$garpath\c"
- space=" "
-fi
-if [[ $print_lastgu -eq 1 ]] ; then
- suffix=
- if expr $build_type : '.*64' >/dev/null ; then
- if [ `uname -p` = "sparc" ] ; then
- suffix=/sparcv9
- else
- suffix=/amd64
- fi
- fi
- echo "$space$garpath/$ku$suffix/genunix\c"
- space=" "
-fi
-[[ -n "$space" ]] && echo
-
-return 0
diff --git a/usr/src/tools/scripts/bldenv.sh b/usr/src/tools/scripts/bldenv.sh
index 3722594e70..f841a3cfc5 100644
--- a/usr/src/tools/scripts/bldenv.sh
+++ b/usr/src/tools/scripts/bldenv.sh
@@ -294,9 +294,6 @@ if "${flags.t}" ; then
export CTFCONVERT="${TOOLS_PROTO}/opt/onbld/bin/${MACH}/ctfconvert"
export CTFMERGE="${TOOLS_PROTO}/opt/onbld/bin/${MACH}/ctfmerge"
- export CTFCVTPTBL="${TOOLS_PROTO}/opt/onbld/bin/ctfcvtptbl"
- export CTFFINDMOD="${TOOLS_PROTO}/opt/onbld/bin/ctffindmod"
-
PATH="${TOOLS_PROTO}/opt/onbld/bin/${MACH}:${PATH}"
PATH="${TOOLS_PROTO}/opt/onbld/bin:${PATH}"
export PATH
diff --git a/usr/src/tools/scripts/nightly.sh b/usr/src/tools/scripts/nightly.sh
index 610cfc34b6..353c24d3fe 100644
--- a/usr/src/tools/scripts/nightly.sh
+++ b/usr/src/tools/scripts/nightly.sh
@@ -522,11 +522,6 @@ function use_tools {
CTFMERGE=${TOOLSROOT}/opt/onbld/bin/${MACH}/ctfmerge
export CTFMERGE
- CTFCVTPTBL=${TOOLSROOT}/opt/onbld/bin/ctfcvtptbl
- export CTFCVTPTBL
- CTFFINDMOD=${TOOLSROOT}/opt/onbld/bin/ctffindmod
- export CTFFINDMOD
-
if [ "$VERIFY_ELFSIGN" = "y" ]; then
ELFSIGN=${TOOLSROOT}/opt/onbld/bin/elfsigncmp
else
@@ -548,8 +543,6 @@ function use_tools {
echo "CTFSTABS=${CTFSTABS}" >> $LOGFILE
echo "CTFCONVERT=${CTFCONVERT}" >> $LOGFILE
echo "CTFMERGE=${CTFMERGE}" >> $LOGFILE
- echo "CTFCVTPTBL=${CTFCVTPTBL}" >> $LOGFILE
- echo "CTFFINDMOD=${CTFFINDMOD}" >> $LOGFILE
echo "ELFSIGN=${ELFSIGN}" >> $LOGFILE
echo "PATH=${PATH}" >> $LOGFILE
echo "ONBLD_TOOLS=${ONBLD_TOOLS}" >> $LOGFILE
diff --git a/usr/src/uts/Makefile.uts b/usr/src/uts/Makefile.uts
index ae53983d07..6a418b34e7 100644
--- a/usr/src/uts/Makefile.uts
+++ b/usr/src/uts/Makefile.uts
@@ -327,71 +327,27 @@ CTFMERGE_GENUNIX = \
$(UTSBASE)/$(CTFMERGE_GUDIR)/genunix/$(OBJS_DIR)/genunix
#
-# Used to uniquify a non-genunix module against genunix. If used in patch
-# mode (PATCH_BUILD != "#"), the patch ID corresponding to the module being
-# built will be used as the label. If no ID is available, or if patch mode
-# is not being used, the value of $VERSION will be used.
+# 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)
-SKIP_GENUNIX_UNIQUIFY=no
-$(NO_GENUNIX_UNIQUIFY)SKIP_GENUNIX_UNIQUIFY=yes
+CTFMERGE_GENUNIX_DFLAG=-d $(CTFMERGE_GENUNIX)
+$(NO_GENUNIX_UNIQUIFY)CTF_GENUNIX_DFLAG=
CTFMERGE_UNIQUIFY_AGAINST_GENUNIX = \
- @label="-L VERSION" ; \
- uniq= ; \
- if [ -z "$(PATCH_BUILD)" ] ; then \
- uniq="-D BASE" ; \
- set -- `$(CTFFINDMOD) -n -r -t $(PMTMO_FILE) $@` ; \
- if [ "X$$1" != "X-" ] ; then \
- label="-l $$1" ; \
- if [ "$$2" != "fcs" ] ; then \
- uniq="-D $$2" ; \
- fi ; \
- fi ; \
- fi ; \
- if [ "$(SKIP_GENUNIX_UNIQUIFY)" = "yes" ]; then \
- uniq= ; \
- else \
- uniq="-d $(CTFMERGE_GENUNIX) $$uniq" ; \
- fi ; \
- cmd="$(CTFMERGE) $(CTFMRGFLAGS) $$label $$uniq" ; \
- cmd="$$cmd -o $@ $(OBJECTS) $(CTFEXTRAOBJS)" ; \
- echo $$cmd ; \
- $$cmd
-
-#
-# Used to merge the genunix module. genunix has special requirements in
-# patch mode. In particular, it needs to be able to find the genunix used
-# in the previous version of the KU patch (or the FCS version of genunix in
-# the case of KU 1).
+ $(CTFMERGE) $(CTFMRGFLAGS) -L VERSION \
+ $(CTFMERGE_GENUNIX_DFLAG) -o $@ $(OBJECTS) $(CTFEXTRAOBJS)
+
+#
+# Used to merge the genunix module.
#
CTFMERGE_GENUNIX_MERGE = \
- @if [ -z "$(PATCH_BUILD)" ] ; then \
- set -- `$(CTFFINDMOD) -b $(OBJS_DIR) -o patch,lastgu -n -r \
- -t $(PMTMO_FILE) $(GENUNIX) || true` '' ; \
- msg= ; \
- if [ $$$(POUND_SIGN) -eq 1 ] ; \
- then msg="Error in $(CTFFINDMOD)" ; \
- elif [ "X$$1" = "X-" ] ; then msg="Did not get label" ; \
- elif [ "X$$2" = "X-" ] ; then msg="Did not get withfile" ; \
- fi ; \
- if [ -n "$$msg" ] ; then \
- echo "make ctf: $$msg - removing $(GENUNIX)" ; \
- $(RM) $(GENUNIX) ; \
- exit 1 ; \
- fi ; \
- label="-l $$1" ; \
- with="-w $$2" ; \
- else \
- label="-L VERSION" ; \
- fi ; \
- cmd="$(CTFMERGE) $(CTFMRGFLAGS) $$label $$with -o $@" ; \
- echo $$cmd "$(OBJECTS) $(CTFEXTRAOBJS) $(IPCTF_TARGET)"; \
- $$cmd $(OBJECTS) $(CTFEXTRAOBJS) $(IPCTF_TARGET)
+ $(CTFMERGE) $(CTFMRGFLAGS) -L VERSION -o $@ \
+ $(OBJECTS) $(CTFEXTRAOBJS) $(IPCTF_TARGET)
#
# We ctfmerge the ip objects into genunix to maximize the number of common types
@@ -633,10 +589,6 @@ LINT_KMODS = $(DRV_KMODS) $(EXEC_KMODS) $(FS_KMODS) $(SCHED_KMODS) \
$(DRV_KMODS_$(CLASS)) $(MISC_KMODS_$(CLASS)) $(MAC_KMODS) \
$(BRAND_KMODS) $(KICONV_KMODS) $(SOCKET_KMODS)
-THIS_YEAR:sh= /bin/date +%Y
-$(OBJS_DIR)/logsubr.o := CPPFLAGS += -DTHIS_YEAR=$(THIS_YEAR)
-$(OBJS_DIR)/logsubr.ln := CPPFLAGS += -DTHIS_YEAR=$(THIS_YEAR)
-
#
# Files to be compiled with -xa, to generate basic block execution
# count data.