[tip:WIP.sched/core 59/63] arch/sh/include/asm/fpu.h:11:6: error: dereferencing pointer to incomplete type 'struct pt_regs'

From: kbuild test robot
Date: Thu Feb 02 2017 - 18:08:56 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core
head: 7f79b5e3727bae36481c9bc5587291d88742291f
commit: 153c06f705c75814624e6855e4a8d0ab29d4ba5b [59/63] sched/headers: Remove various unrelated headers from <linux/sched.h>
config: sh-titan_defconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 153c06f705c75814624e6855e4a8d0ab29d4ba5b
# save the attached .config to linux build tree
make.cross ARCH=sh

All errors (new ones prefixed by >>):

In file included from arch/sh/kernel/process.c:7:0:
arch/sh/include/asm/fpu.h: In function 'release_fpu':
>> arch/sh/include/asm/fpu.h:11:6: error: dereferencing pointer to incomplete type 'struct pt_regs'
regs->sr |= SR_FD;
^~
arch/sh/kernel/process.c: In function 'arch_dup_task_struct':
arch/sh/kernel/process.c:24:18: error: implicit declaration of function 'task_pt_regs' [-Werror=implicit-function-declaration]
unlazy_fpu(src, task_pt_regs(src));
^~~~~~~~~~~~
arch/sh/kernel/process.c:24:18: error: passing argument 2 of 'unlazy_fpu' makes pointer from integer without a cast [-Werror=int-conversion]
In file included from arch/sh/kernel/process.c:7:0:
arch/sh/include/asm/fpu.h:52:20: note: expected 'struct pt_regs *' but argument is of type 'int'
static inline void unlazy_fpu(struct task_struct *tsk, struct pt_regs *regs)
^~~~~~~~~~
cc1: all warnings being treated as errors
--
In file included from arch/sh/kernel/cpu/fpu.c:4:0:
arch/sh/include/asm/fpu.h: In function 'release_fpu':
>> arch/sh/include/asm/fpu.h:11:6: error: dereferencing pointer to incomplete type 'struct pt_regs'
regs->sr |= SR_FD;
^~
arch/sh/kernel/cpu/fpu.c: In function 'init_fpu':
arch/sh/kernel/cpu/fpu.c:11:20: error: implicit declaration of function 'task_pt_regs' [-Werror=implicit-function-declaration]
unlazy_fpu(tsk, task_pt_regs(tsk));
^~~~~~~~~~~~
arch/sh/kernel/cpu/fpu.c:11:20: warning: passing argument 2 of 'unlazy_fpu' makes pointer from integer without a cast [-Wint-conversion]
In file included from arch/sh/kernel/cpu/fpu.c:4:0:
arch/sh/include/asm/fpu.h:52:20: note: expected 'struct pt_regs *' but argument is of type 'int'
static inline void unlazy_fpu(struct task_struct *tsk, struct pt_regs *regs)
^~~~~~~~~~
In file included from include/linux/linkage.h:4:0,
from include/linux/kernel.h:6,
from include/linux/plist.h:78,
from include/linux/sched.h:8,
from arch/sh/kernel/cpu/fpu.c:1:
arch/sh/kernel/cpu/fpu.c: In function 'fpu_state_restore':
>> arch/sh/kernel/cpu/fpu.c:54:16: error: implicit declaration of function 'user_mode' [-Werror=implicit-function-declaration]
if (unlikely(!user_mode(regs))) {
^
include/linux/compiler.h:168:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from arch/sh/include/asm/traps.h:7:0,
from arch/sh/kernel/cpu/fpu.c:5:
arch/sh/kernel/cpu/fpu.c: At top level:
arch/sh/include/asm/traps_32.h:53:24: error: parameter 5 ('__regs') has incomplete type
struct pt_regs __regs)
^
arch/sh/kernel/cpu/fpu.c:80:1: note: in expansion of macro 'BUILD_TRAP_HANDLER'
BUILD_TRAP_HANDLER(fpu_state_restore)
^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/sh/kernel/cpu/sh4/fpu.c:18:0:
arch/sh/include/asm/fpu.h: In function 'release_fpu':
>> arch/sh/include/asm/fpu.h:11:6: error: dereferencing pointer to incomplete type 'struct pt_regs'
regs->sr |= SR_FD;
^~
In file included from arch/sh/include/asm/traps.h:7:0,
from arch/sh/kernel/cpu/sh4/fpu.c:19:
arch/sh/kernel/cpu/sh4/fpu.c: At top level:
arch/sh/include/asm/traps_32.h:53:24: error: parameter 5 ('__regs') has incomplete type
struct pt_regs __regs)
^
arch/sh/kernel/cpu/sh4/fpu.c:405:1: note: in expansion of macro 'BUILD_TRAP_HANDLER'
BUILD_TRAP_HANDLER(fpu_error)
^~~~~~~~~~~~~~~~~~
arch/sh/kernel/cpu/sh4/fpu.c: In function 'fpu_error_trap_handler':
arch/sh/kernel/cpu/sh4/fpu.c:428:2: error: implicit declaration of function 'force_sig' [-Werror=implicit-function-declaration]
force_sig(SIGFPE, tsk);
^~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/sh/kernel//cpu/fpu.c:4:0:
arch/sh/include/asm/fpu.h: In function 'release_fpu':
>> arch/sh/include/asm/fpu.h:11:6: error: dereferencing pointer to incomplete type 'struct pt_regs'
regs->sr |= SR_FD;
^~
arch/sh/kernel//cpu/fpu.c: In function 'init_fpu':
arch/sh/kernel//cpu/fpu.c:11:20: error: implicit declaration of function 'task_pt_regs' [-Werror=implicit-function-declaration]
unlazy_fpu(tsk, task_pt_regs(tsk));
^~~~~~~~~~~~
arch/sh/kernel//cpu/fpu.c:11:20: warning: passing argument 2 of 'unlazy_fpu' makes pointer from integer without a cast [-Wint-conversion]
In file included from arch/sh/kernel//cpu/fpu.c:4:0:
arch/sh/include/asm/fpu.h:52:20: note: expected 'struct pt_regs *' but argument is of type 'int'
static inline void unlazy_fpu(struct task_struct *tsk, struct pt_regs *regs)
^~~~~~~~~~
In file included from include/linux/linkage.h:4:0,
from include/linux/kernel.h:6,
from include/linux/plist.h:78,
from include/linux/sched.h:8,
from arch/sh/kernel//cpu/fpu.c:1:
arch/sh/kernel//cpu/fpu.c: In function 'fpu_state_restore':
arch/sh/kernel//cpu/fpu.c:54:16: error: implicit declaration of function 'user_mode' [-Werror=implicit-function-declaration]
if (unlikely(!user_mode(regs))) {
^
include/linux/compiler.h:168:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from arch/sh/include/asm/traps.h:7:0,
from arch/sh/kernel//cpu/fpu.c:5:
arch/sh/kernel//cpu/fpu.c: At top level:
arch/sh/include/asm/traps_32.h:53:24: error: parameter 5 ('__regs') has incomplete type
struct pt_regs __regs)
^
arch/sh/kernel//cpu/fpu.c:80:1: note: in expansion of macro 'BUILD_TRAP_HANDLER'
BUILD_TRAP_HANDLER(fpu_state_restore)
^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/sh/kernel//cpu/sh4/fpu.c:18:0:
arch/sh/include/asm/fpu.h: In function 'release_fpu':
>> arch/sh/include/asm/fpu.h:11:6: error: dereferencing pointer to incomplete type 'struct pt_regs'
regs->sr |= SR_FD;
^~
In file included from arch/sh/include/asm/traps.h:7:0,
from arch/sh/kernel//cpu/sh4/fpu.c:19:
arch/sh/kernel//cpu/sh4/fpu.c: At top level:
arch/sh/include/asm/traps_32.h:53:24: error: parameter 5 ('__regs') has incomplete type
struct pt_regs __regs)
^
arch/sh/kernel//cpu/sh4/fpu.c:405:1: note: in expansion of macro 'BUILD_TRAP_HANDLER'
BUILD_TRAP_HANDLER(fpu_error)
^~~~~~~~~~~~~~~~~~
arch/sh/kernel//cpu/sh4/fpu.c: In function 'fpu_error_trap_handler':
arch/sh/kernel//cpu/sh4/fpu.c:428:2: error: implicit declaration of function 'force_sig' [-Werror=implicit-function-declaration]
force_sig(SIGFPE, tsk);
^~~~~~~~~
cc1: some warnings being treated as errors

vim +11 arch/sh/include/asm/fpu.h

332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 1 #ifndef __ASM_SH_FPU_H
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 2 #define __ASM_SH_FPU_H
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 3
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 4 #ifndef __ASSEMBLY__
0ea820cf arch/sh/include/asm/fpu.h Paul Mundt 2010-01-13 5
0ea820cf arch/sh/include/asm/fpu.h Paul Mundt 2010-01-13 6 struct task_struct;
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 7
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 8 #ifdef CONFIG_SH_FPU
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 9 static inline void release_fpu(struct pt_regs *regs)
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 10 {
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 @11 regs->sr |= SR_FD;
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 12 }
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 13
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 14 static inline void grab_fpu(struct pt_regs *regs)
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 15 {
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 16 regs->sr &= ~SR_FD;
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 17 }
332fd57b include/asm-sh/fpu.h Paul Mundt 2007-11-22 18
d3ea9fa0 arch/sh/include/asm/fpu.h Stuart Menefy 2009-09-25 19 extern void save_fpu(struct task_struct *__tsk);

:::::: The code at line 11 was first introduced by commit
:::::: 332fd57b92d26e2ac6112340b98e92bb76117a41 sh: Bring the SH-5 FPU in line with the SH-4 FPU API.

:::::: TO: Paul Mundt <lethal@xxxxxxxxxxxx>
:::::: CC: Paul Mundt <lethal@xxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip