svn commit: r236132 - stable/8/usr.sbin/config

Ryan Stone rstone at FreeBSD.org
Sun May 27 00:34:57 UTC 2012


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");
 	}
 }
 


More information about the svn-src-all mailing list