Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1579278 > unrolled thread

[PATCH v2 0/2] x86/purgatory: Fix sparse warnings

Started by"Tobin C. Harding" <me@tobin.cc>
First post2017-02-12 22:10 +0100
Last post2017-02-12 23:10 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 0/2] x86/purgatory: Fix sparse warnings "Tobin C. Harding" <me@tobin.cc> - 2017-02-12 22:10 +0100
    [PATCH v2 2/2] x86/purgatory: Fix sparse warning, symbol not declared "Tobin C. Harding" <me@tobin.cc> - 2017-02-12 22:10 +0100
      Re: [PATCH v2 2/2] x86/purgatory: Fix sparse warning, symbol not  declared kbuild test robot <lkp@intel.com> - 2017-02-12 23:10 +0100

#1579278 — [PATCH v2 0/2] x86/purgatory: Fix sparse warnings

From"Tobin C. Harding" <me@tobin.cc>
Date2017-02-12 22:10 +0100
Subject[PATCH v2 0/2] x86/purgatory: Fix sparse warnings
Message-ID<ta9zb-2Qd-7@gated-at.bofh.it>
Sparse emits multiple warnings of type 'symbol was not declared'.

Separate fixes into two patches. In first patch add static keyword
to functions and variables which have file scope only.

In the second patch add a header file with the function declaration.
Include the header file in the C source file defining the function
in order to fix the sparse warning. Include the header file in ASM
file containing the call site thereby adding documentation of usage.

Tobin C. Harding (2):
  x86/purgatory: Fix sparse warning, symbol not declared
  x86/purgatory: Fix sparse warning, symbol not declared

 arch/x86/purgatory/purgatory.c    | 11 ++++++-----
 arch/x86/purgatory/purgatory.h    |  7 +++++++
 arch/x86/purgatory/setup-x86_64.S |  3 ++-
 3 files changed, 15 insertions(+), 6 deletions(-)
 create mode 100644 arch/x86/purgatory/purgatory.h

-- 
2.7.4

[toc] | [next] | [standalone]


#1579279 — [PATCH v2 2/2] x86/purgatory: Fix sparse warning, symbol not declared

From"Tobin C. Harding" <me@tobin.cc>
Date2017-02-12 22:10 +0100
Subject[PATCH v2 2/2] x86/purgatory: Fix sparse warning, symbol not declared
Message-ID<ta9zc-2Qd-17@gated-at.bofh.it>
In reply to#1579278
Sparse emits warning, 'symbol not declared' for a function that has
neither file scope nor a forward declaration. The functions only call
site is an ASM file.

Add a header file with the function declaration. Include the
header file in the C source file defining the function in order
to fix the sparse warning. Include the header file in ASM file
containing the call site thereby adding documentation of usage.

Signed-off-by: Tobin C. Harding <me@tobin.cc>
---
 arch/x86/purgatory/purgatory.c    | 1 +
 arch/x86/purgatory/purgatory.h    | 7 +++++++
 arch/x86/purgatory/setup-x86_64.S | 3 ++-
 3 files changed, 10 insertions(+), 1 deletion(-)
 create mode 100644 arch/x86/purgatory/purgatory.h

diff --git a/arch/x86/purgatory/purgatory.c b/arch/x86/purgatory/purgatory.c
index 2a5f437..b6d5c89 100644
--- a/arch/x86/purgatory/purgatory.c
+++ b/arch/x86/purgatory/purgatory.c
@@ -11,6 +11,7 @@
  */
 
 #include "sha256.h"
+#include "purgatory.h"
 #include "../boot/string.h"
 
 struct sha_region {
diff --git a/arch/x86/purgatory/purgatory.h b/arch/x86/purgatory/purgatory.h
new file mode 100644
index 0000000..b2e859f
--- /dev/null
+++ b/arch/x86/purgatory/purgatory.h
@@ -0,0 +1,7 @@
+#ifndef PURGATORY_H
+#define PURGATORY_H
+
+extern void purgatory(void);
+
+#endif /* PURGATORY_H */
+
diff --git a/arch/x86/purgatory/setup-x86_64.S b/arch/x86/purgatory/setup-x86_64.S
index fe3c91b..7ed06e9 100644
--- a/arch/x86/purgatory/setup-x86_64.S
+++ b/arch/x86/purgatory/setup-x86_64.S
@@ -9,7 +9,8 @@
  * This source code is licensed under the GNU General Public License,
  * Version 2.  See the file COPYING for more details.
  */
-
+ #include "purgatory.h"
+        
 	.text
 	.globl purgatory_start
 	.balign 16
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1579303 — Re: [PATCH v2 2/2] x86/purgatory: Fix sparse warning, symbol not declared

Fromkbuild test robot <lkp@intel.com>
Date2017-02-12 23:10 +0100
SubjectRe: [PATCH v2 2/2] x86/purgatory: Fix sparse warning, symbol not declared
Message-ID<taavg-3pl-19@gated-at.bofh.it>
In reply to#1579279

[Multipart message — attachments visible in raw view] — view raw

Hi Tobin,

[auto build test ERROR on tip/x86/core]
[also build test ERROR on v4.10-rc8 next-20170210]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Tobin-C-Harding/x86-purgatory-Fix-sparse-warnings/20170213-051217
config: x86_64-randconfig-x001-201707 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   arch/x86/purgatory/purgatory.h: Assembler messages:
>> arch/x86/purgatory/purgatory.h:4: Error: no such instruction: `extern void purgatory(void)'
   make[2]: *** [arch/x86/purgatory/setup-x86_64.o] Error 1
   make[2]: Target 'arch/x86/purgatory/kexec-purgatory.c' not remade because of errors.
   make[1]: *** [archprepare] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [sub-make] Error 2

vim +4 arch/x86/purgatory/purgatory.h

     1	#ifndef PURGATORY_H
     2	#define PURGATORY_H
     3	
   > 4	extern void purgatory(void);
     5	
     6	#endif /* PURGATORY_H */
     7	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web