config: Add no-ctfconvert support.

Bump CONFIGVERS to 600018 for this support.

Some files may purposely have debug info disabled or are *source files*
that attempt to run ctfconvert on them. Currently ctfconvert ignores
these errors but I have a change to make the errors real so we can
catch real problems like exceeding type limits.

Sponsored by:		Dell EMC
Reviewed by:		imp, cem, kevans
Differential Revision:	https://reviews.freebsd.org/D24535
This commit is contained in:
Bryan Drewery 2020-04-28 16:09:22 +00:00
parent 4e4ec35e32
commit 5dda1d0b82
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=360443
3 changed files with 12 additions and 4 deletions

View File

@ -82,6 +82,7 @@ struct files_name {
#define NO_OBJ 2
#define BEFORE_DEPEND 4
#define NOWERROR 16
#define NO_CTFCONVERT 32
struct device {
int d_done; /* processed */

View File

@ -49,7 +49,7 @@
*
* $FreeBSD$
*/
#define CONFIGVERS 600017
#define CONFIGVERS 600018
#define MAJOR_VERS(x) ((x) / 100000)
/* Last config(8) version to require envmode/hintmode */

View File

@ -397,7 +397,7 @@ read_file(char *fname)
char *wd, *this, *compilewith, *depends, *clean, *warning;
const char *objprefix;
int compile, match, nreqs, std, filetype, not,
imp_rule, no_obj, before_depend, nowerror;
imp_rule, no_ctfconvert, no_obj, before_depend, nowerror;
fp = fopen(fname, "r");
if (fp == NULL)
@ -452,6 +452,7 @@ read_file(char *fname)
warning = 0;
std = 0;
imp_rule = 0;
no_ctfconvert = 0;
no_obj = 0;
before_depend = 0;
nowerror = 0;
@ -479,6 +480,10 @@ read_file(char *fname)
nreqs = 0;
continue;
}
if (eq(wd, "no-ctfconvert")) {
no_ctfconvert++;
continue;
}
if (eq(wd, "no-obj")) {
no_obj++;
continue;
@ -591,8 +596,10 @@ nextparam:;
tp->f_srcprefix = "$S/";
if (imp_rule)
tp->f_flags |= NO_IMPLCT_RULE;
if (no_ctfconvert)
tp->f_flags |= NO_CTFCONVERT;
if (no_obj)
tp->f_flags |= NO_OBJ;
tp->f_flags |= NO_OBJ | NO_CTFCONVERT;
if (before_depend)
tp->f_flags |= BEFORE_DEPEND;
if (nowerror)
@ -805,7 +812,7 @@ do_rules(FILE *f)
else
fprintf(f, "\t%s\n", compilewith);
if (!(ftp->f_flags & NO_OBJ))
if (!(ftp->f_flags & NO_CTFCONVERT))
fprintf(f, "\t${NORMAL_CTFCONVERT}\n\n");
else
fprintf(f, "\n");