Sparse emits warning, 'symbol not declared' for a function that has neither file scope nor a forward declaration. The only call site is in 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 to document the usage. Use preprocessor guard to enable C header file to be included in ASM. Signed-off-by: Tobin C. Harding <[email protected]> --- arch/x86/purgatory/purgatory.c | 1 + arch/x86/purgatory/purgatory.h | 10 ++++++++++ arch/x86/purgatory/setup-x86_64.S | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) 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..cca6f6e --- /dev/null +++ b/arch/x86/purgatory/purgatory.h @@ -0,0 +1,10 @@ +#ifndef __ASSEMBLY__ + +#ifndef PURGATORY_H +#define PURGATORY_H + +extern void purgatory(void); + +#endif /* PURGATORY_H */ + +#endif /* __ASSEMBLY__ */ diff --git a/arch/x86/purgatory/setup-x86_64.S b/arch/x86/purgatory/setup-x86_64.S index fe3c91b..8045994 100644 --- a/arch/x86/purgatory/setup-x86_64.S +++ b/arch/x86/purgatory/setup-x86_64.S @@ -9,8 +9,8 @@ * This source code is licensed under the GNU General Public License, * Version 2. See the file COPYING for more details. */ - - .text +#include "purgatory.h" + .text .globl purgatory_start .balign 16 purgatory_start: -- 2.7.4

