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 <[email protected]> --- 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

