Author: bdrewery
Date: Tue Apr 28 16:09:22 2020
New Revision: 360443
URL: https://svnweb.freebsd.org/changeset/base/360443

Log:
  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

Modified:
  head/usr.sbin/config/config.h
  head/usr.sbin/config/configvers.h
  head/usr.sbin/config/mkmakefile.c

Modified: head/usr.sbin/config/config.h
==============================================================================
--- head/usr.sbin/config/config.h       Tue Apr 28 16:09:18 2020        
(r360442)
+++ head/usr.sbin/config/config.h       Tue Apr 28 16:09:22 2020        
(r360443)
@@ -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 */

Modified: head/usr.sbin/config/configvers.h
==============================================================================
--- head/usr.sbin/config/configvers.h   Tue Apr 28 16:09:18 2020        
(r360442)
+++ head/usr.sbin/config/configvers.h   Tue Apr 28 16:09:22 2020        
(r360443)
@@ -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 */

Modified: head/usr.sbin/config/mkmakefile.c
==============================================================================
--- head/usr.sbin/config/mkmakefile.c   Tue Apr 28 16:09:18 2020        
(r360442)
+++ head/usr.sbin/config/mkmakefile.c   Tue Apr 28 16:09:22 2020        
(r360443)
@@ -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 @@ next:
        warning = 0;
        std = 0;
        imp_rule = 0;
+       no_ctfconvert = 0;
        no_obj = 0;
        before_depend = 0;
        nowerror = 0;
@@ -479,6 +480,10 @@ next:
                        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");
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to