Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 May 2012 00:34:57 +0000 (UTC)
From:      Ryan Stone <rstone@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r236132 - stable/8/usr.sbin/config
Message-ID:  <201205270034.q4R0Yvqd016071@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rstone
Date: Sun May 27 00:34:56 2012
New Revision: 236132
URL: http://svn.freebsd.org/changeset/base/236132

Log:
  MFC 227429
  
   The generated Makefile for the kernel was not running ctfconvert on
   object files corresponding to source files that had the compile-with
   option set in conf/files.  This means that any fbt probes for functions
   in that object file would not have correct argument types.
  
   The fix is to run ctfconvert on any target file that does not have the
   no-obj option set in files.
  
  PR:           bin/160275
  Reported by:  Paul Ambrose (ambrosehua AT gmail DOT com)

Modified:
  stable/8/usr.sbin/config/mkmakefile.c
Directory Properties:
  stable/8/usr.sbin/config/   (props changed)

Modified: stable/8/usr.sbin/config/mkmakefile.c
==============================================================================
--- stable/8/usr.sbin/config/mkmakefile.c	Sun May 27 00:21:27 2012	(r236131)
+++ stable/8/usr.sbin/config/mkmakefile.c	Sun May 27 00:34:56 2012	(r236132)
@@ -742,15 +742,20 @@ do_rules(FILE *f)
 				break;
 			}
 			snprintf(cmd, sizeof(cmd),
-			    "${%s_%c%s}\n.if defined(NORMAL_CTFCONVERT) && "
-			    "!empty(NORMAL_CTFCONVERT)\n"
-			    "\t${NORMAL_CTFCONVERT}\n.endif", ftype,
+			    "${%s_%c%s}\n", ftype,
 			    toupper(och),
 			    ftp->f_flags & NOWERROR ? "_NOWERROR" : "");
 			compilewith = cmd;
 		}
 		*cp = och;
-		fprintf(f, "\t%s\n\n", compilewith);
+		fprintf(f, "\t%s\n", compilewith);
+
+		if (!(ftp->f_flags & NO_OBJ))
+			fprintf(f, ".if defined(NORMAL_CTFCONVERT) && "
+			    "!empty(NORMAL_CTFCONVERT)\n"
+			    "\t${NORMAL_CTFCONVERT}\n.endif\n\n");
+		else
+			fprintf(f, "\n");
 	}
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205270034.q4R0Yvqd016071>