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
This commit is contained in:
Ryan Stone 2011-11-10 21:07:14 +00:00
parent 907eed1f50
commit 2e0aa47581

View File

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