aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@FreeBSD.org>2021-05-28 18:07:17 +0000
committerJessica Clarke <jrtc27@FreeBSD.org>2021-05-28 18:07:17 +0000
commit5e912f5fec025766521f535d1237330ede7f18e2 (patch)
tree555f1f739ceb91ad8b11ad6e44b21251dd18c4c7
parent6bb5699d2b59491097bc21ffa3c097cdd4853f89 (diff)
downloadsrc-5e912f5fec025766521f535d1237330ede7f18e2.tar.gz
src-5e912f5fec025766521f535d1237330ede7f18e2.zip
aic7xxx: Fix re-building firmware with -fno-common
The generated C output for aicasm_scan.l defines yylineno already, so references to it from other files should use an extern declaration. The STAILQ_HEAD use in aicasm_symbol.h also provided an identifier, causing it to both define the struct type and define a variable of that struct type, causing any C file including the header to define the same variable. This variable is not used (and confusingly clashes with a field name just below) and was likely caused by confusion when switching between defining fields using similar type macros and defining the type itself. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30525
-rw-r--r--sys/dev/aic7xxx/aicasm/aicasm_gram.y2
-rw-r--r--sys/dev/aic7xxx/aicasm/aicasm_symbol.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/aic7xxx/aicasm/aicasm_gram.y b/sys/dev/aic7xxx/aicasm/aicasm_gram.y
index c479c8fdf2db..d32793f4c12b 100644
--- a/sys/dev/aic7xxx/aicasm/aicasm_gram.y
+++ b/sys/dev/aic7xxx/aicasm/aicasm_gram.y
@@ -59,7 +59,7 @@
#include "aicasm_symbol.h"
#include "aicasm_insformat.h"
-int yylineno;
+extern int yylineno;
char *yyfilename;
char stock_prefix[] = "aic_";
char *prefix = stock_prefix;
diff --git a/sys/dev/aic7xxx/aicasm/aicasm_symbol.h b/sys/dev/aic7xxx/aicasm/aicasm_symbol.h
index 616dfd28fdeb..a15fa12176d1 100644
--- a/sys/dev/aic7xxx/aicasm/aicasm_symbol.h
+++ b/sys/dev/aic7xxx/aicasm/aicasm_symbol.h
@@ -110,7 +110,7 @@ struct macro_arg {
regex_t arg_regex;
char *replacement_text;
};
-STAILQ_HEAD(macro_arg_list, macro_arg) args;
+STAILQ_HEAD(macro_arg_list, macro_arg);
struct macro_info {
struct macro_arg_list args;