Module Name: src
Committed By: rillig
Date: Sun Nov 15 08:10:15 UTC 2020
Modified Files:
src/usr.bin/make: main.c
Log Message:
make(1): reduce code size of parse_debug_options
Each access to a global variable requires a relocation. Skip these.
To generate a diff of this commit:
cvs rdiff -u -r1.469 -r1.470 src/usr.bin/make/main.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/main.c
diff -u src/usr.bin/make/main.c:1.469 src/usr.bin/make/main.c:1.470
--- src/usr.bin/make/main.c:1.469 Sat Nov 14 23:03:08 2020
+++ src/usr.bin/make/main.c Sun Nov 15 08:10:15 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.469 2020/11/14 23:03:08 rillig Exp $ */
+/* $NetBSD: main.c,v 1.470 2020/11/15 08:10:15 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -109,7 +109,7 @@
#include "trace.h"
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: main.c,v 1.469 2020/11/14 23:03:08 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.470 2020/11/15 08:10:15 rillig Exp $");
#if defined(MAKE_NATIVE) && !defined(lint)
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
"The Regents of the University of California. "
@@ -245,83 +245,84 @@ static void
parse_debug_options(const char *argvalue)
{
const char *modules;
+ DebugFlags debug = opts.debug;
for (modules = argvalue; *modules; ++modules) {
switch (*modules) {
case '0': /* undocumented, only intended for tests */
- opts.debug = DEBUG_NONE;
+ debug = DEBUG_NONE;
break;
case 'A':
- opts.debug = DEBUG_ALL;
+ debug = DEBUG_ALL;
break;
case 'a':
- opts.debug |= DEBUG_ARCH;
+ debug |= DEBUG_ARCH;
break;
case 'C':
- opts.debug |= DEBUG_CWD;
+ debug |= DEBUG_CWD;
break;
case 'c':
- opts.debug |= DEBUG_COND;
+ debug |= DEBUG_COND;
break;
case 'd':
- opts.debug |= DEBUG_DIR;
+ debug |= DEBUG_DIR;
break;
case 'e':
- opts.debug |= DEBUG_ERROR;
+ debug |= DEBUG_ERROR;
break;
case 'f':
- opts.debug |= DEBUG_FOR;
+ debug |= DEBUG_FOR;
break;
case 'g':
if (modules[1] == '1') {
- opts.debug |= DEBUG_GRAPH1;
+ debug |= DEBUG_GRAPH1;
++modules;
} else if (modules[1] == '2') {
- opts.debug |= DEBUG_GRAPH2;
+ debug |= DEBUG_GRAPH2;
++modules;
} else if (modules[1] == '3') {
- opts.debug |= DEBUG_GRAPH3;
+ debug |= DEBUG_GRAPH3;
++modules;
}
break;
case 'h':
- opts.debug |= DEBUG_HASH;
+ debug |= DEBUG_HASH;
break;
case 'j':
- opts.debug |= DEBUG_JOB;
+ debug |= DEBUG_JOB;
break;
case 'L':
opts.lint = TRUE;
break;
case 'l':
- opts.debug |= DEBUG_LOUD;
+ debug |= DEBUG_LOUD;
break;
case 'M':
- opts.debug |= DEBUG_META;
+ debug |= DEBUG_META;
break;
case 'm':
- opts.debug |= DEBUG_MAKE;
+ debug |= DEBUG_MAKE;
break;
case 'n':
- opts.debug |= DEBUG_SCRIPT;
+ debug |= DEBUG_SCRIPT;
break;
case 'p':
- opts.debug |= DEBUG_PARSE;
+ debug |= DEBUG_PARSE;
break;
case 's':
- opts.debug |= DEBUG_SUFF;
+ debug |= DEBUG_SUFF;
break;
case 't':
- opts.debug |= DEBUG_TARG;
+ debug |= DEBUG_TARG;
break;
case 'V':
opts.debugVflag = TRUE;
break;
case 'v':
- opts.debug |= DEBUG_VAR;
+ debug |= DEBUG_VAR;
break;
case 'x':
- opts.debug |= DEBUG_SHELL;
+ debug |= DEBUG_SHELL;
break;
case 'F':
parse_debug_option_F(modules + 1);
@@ -333,6 +334,7 @@ parse_debug_options(const char *argvalue
usage();
}
}
+ opts.debug = debug;
debug_setbuf:
/*