Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1579278 > unrolled thread
| Started by | "Tobin C. Harding" <me@tobin.cc> |
|---|---|
| First post | 2017-02-12 22:10 +0100 |
| Last post | 2017-02-12 23:10 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[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
| From | "Tobin C. Harding" <me@tobin.cc> |
|---|---|
| Date | 2017-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]
| From | "Tobin C. Harding" <me@tobin.cc> |
|---|---|
| Date | 2017-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]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2017-02-12 23:10 +0100 |
| Subject | Re: [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