Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jun 2021 00:28:31 GMT
From:      Jessica Clarke <jrtc27@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 36da5710d3e4 - stable/13 - aic7xxx: Fix re-building firmware with -fno-common
Message-ID:  <202106040028.1540SVTc093624@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by jrtc27:

URL: https://cgit.FreeBSD.org/src/commit/?id=36da5710d3e4b3e3412ef7e4826506f9d64b0b35

commit 36da5710d3e4b3e3412ef7e4826506f9d64b0b35
Author:     Jessica Clarke <jrtc27@FreeBSD.org>
AuthorDate: 2021-05-28 18:07:17 +0000
Commit:     Jessica Clarke <jrtc27@FreeBSD.org>
CommitDate: 2021-06-04 00:28:15 +0000

    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
    
    (cherry picked from commit 5e912f5fec025766521f535d1237330ede7f18e2)
---
 sys/dev/aic7xxx/aicasm/aicasm_gram.y   | 2 +-
 sys/dev/aic7xxx/aicasm/aicasm_symbol.h | 2 +-
 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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202106040028.1540SVTc093624>