From 975afb573ac8cf465f2b2fd0a57385899e446948 Mon Sep 17 00:00:00 2001 From: rstone Date: Thu, 10 Nov 2011 21:07:14 +0000 Subject: 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) MFC after: 1 week --- usr.sbin/config/mkmakefile.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'usr.sbin/config/mkmakefile.c') diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c index 2372839..28edb1c 100644 --- a/usr.sbin/config/mkmakefile.c +++ b/usr.sbin/config/mkmakefile.c @@ -762,16 +762,21 @@ do_rules(FILE *f) break; } snprintf(cmd, sizeof(cmd), - "${%s_%c%s}\n\t@${NORMAL_CTFCONVERT}", ftype, + "${%s_%c%s}\n", ftype, toupper(och), ftp->f_flags & NOWERROR ? "_NOWERROR" : ""); compilewith = cmd; } *cp = och; if (strlen(ftp->f_objprefix)) - fprintf(f, "\t%s $S/%s\n\n", compilewith, np); + fprintf(f, "\t%s $S/%s\n", compilewith, np); else - fprintf(f, "\t%s\n\n", compilewith); + fprintf(f, "\t%s\n", compilewith); + + if (!(ftp->f_flags & NO_OBJ)) + fprintf(f, "\t@${NORMAL_CTFCONVERT}\n\n"); + else + fprintf(f, "\n"); } } -- cgit v1.1