All of lore.kernel.org
 help / color / mirror / Atom feed
* Incompatible pointer type error when compiling kernel
@ 2021-02-22  0:25 Gabriel Dinse
  2021-02-22  3:26 ` Greg Gallagher
  0 siblings, 1 reply; 8+ messages in thread
From: Gabriel Dinse @ 2021-02-22  0:25 UTC (permalink / raw)
  To: xenomai

Hello,
I'm currently compiling linux 5.4.93 patched with xenomai 3.1,
using ipipe 5.4.93 for arm. The system is intended to run on a raspberry
pi 3 b, but I'm getting the following errors related to incompatible
pointer type:

  CALL    scripts/atomic/check-atomics.sh
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      kernel/fork.o
  CC      kernel/xenomai/intr.o
In file included from include/xenomai/cobalt/kernel/thread.h:26:0,
                 from include/xenomai/cobalt/kernel/sched.h:24,
                 from kernel/xenomai/intr.c:24:
kernel/xenomai/intr.c: In function ‘inc_irqstats’:
include/xenomai/cobalt/kernel/stat.h:61:49: error: passing argument 1 
of ‘atomic_long_xchg’ from incompatible pointer type 
[-Werror=incompatible-pointer-types]
  __prev = (xnstat_exectime_t 
*)atomic_long_xchg(&(sched)->current_account, (long)(new_account)); \
                                                 ^
include/xenomai/cobalt/kernel/stat.h:147:2: note: in expansion of macro 
‘xnstat_exectime_set_current’
  xnstat_exectime_set_current(sched, new_account); \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/xenomai/intr.c:123:2: note: in expansion of macro 
‘xnstat_exectime_lazy_switch’
  xnstat_exectime_lazy_switch(sched, &statp->account, start);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/atomic.h:76:0,
                 from ./include/asm-generic/bitops/lock.h:5,
                 from ./arch/arm/include/asm/bitops.h:243,
                 from ./include/linux/bitops.h:26,
                 from ./include/linux/kernel.h:12,
                 from ./include/asm-generic/bug.h:19,
                 from ./arch/arm/include/asm/bug.h:60,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/thread_info.h:12,
                 from ./include/asm-generic/current.h:5,
                 from ./arch/arm/include/generated/asm/current.h:1,
                 from ./include/linux/mutex.h:14,
                 from kernel/xenomai/intr.c:21:
/include/asm-generic/atomic-long.h:880:1: note: expected 
‘atomic_long_t * {aka struct <anonymous> *}’ but argument is of 
type ‘xnstat_exectime_t ** {aka struct xnstat_exectime **}’
 atomic_long_xchg(atomic_long_t *v, long i)
 ^~~~~~~~~~~~~~~~
In file included from include/xenomai/cobalt/kernel/thread.h:26:0,
                 from include/xenomai/cobalt/kernel/sched.h:24,
                 from kernel/xenomai/intr.c:24:
kernel/xenomai/intr.c: In function ‘switch_to_irqstats’:
include/xenomai/cobalt/kernel/stat.h:61:49: error: passing argument 1 
of ‘atomic_long_xchg’ from incompatible pointer type 
[-Werror=incompatible-pointer-types]
  __prev = (xnstat_exectime_t 
*)atomic_long_xchg(&(sched)->current_account, (long)(new_account)); \
                                                 ^
include/xenomai/cobalt/kernel/stat.h:139:2: note: in expansion of macro 
‘xnstat_exectime_set_current’
  xnstat_exectime_set_current(sched, new_account); \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/xenomai/intr.c:132:2: note: in expansion of macro 
‘xnstat_exectime_switch’
  xnstat_exectime_switch(sched, &statp->account);
  ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/atomic.h:76:0,
                 from ./include/asm-generic/bitops/lock.h:5,
                 from ./arch/arm/include/asm/bitops.h:243,
                 from ./include/linux/bitops.h:26,
                 from ./include/linux/kernel.h:12,
                 from ./include/asm-generic/bug.h:19,
                 from ./arch/arm/include/asm/bug.h:60,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/thread_info.h:12,
                 from ./include/asm-generic/current.h:5,
                 from ./arch/arm/include/generated/asm/current.h:1,
                 from ./include/linux/mutex.h:14,
                 from kernel/xenomai/intr.c:21:
/include/asm-generic/atomic-long.h:880:1: note: expected 
‘atomic_long_t * {aka struct <anonymous> *}’ but argument is of 
type ‘xnstat_exectime_t ** {aka struct xnstat_exectime **}’
 atomic_long_xchg(atomic_long_t *v, long i)
 ^~~~~~~~~~~~~~~~
In file included from include/xenomai/cobalt/kernel/thread.h:26:0,
                 from include/xenomai/cobalt/kernel/sched.h:24,
                 from kernel/xenomai/intr.c:24:
kernel/xenomai/intr.c: In function ‘switch_from_irqstats’:
include/xenomai/cobalt/kernel/stat.h:61:49: error: passing argument 1 
of ‘atomic_long_xchg’ from incompatible pointer type 
[-Werror=incompatible-pointer-types]
  __prev = (xnstat_exectime_t 
*)atomic_long_xchg(&(sched)->current_account, (long)(new_account)); \
                                                 ^
include/xenomai/cobalt/kernel/stat.h:139:2: note: in expansion of macro 
‘xnstat_exectime_set_current’
  xnstat_exectime_set_current(sched, new_account); \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/xenomai/intr.c:138:2: note: in expansion of macro 
‘xnstat_exectime_switch’
  xnstat_exectime_switch(sched, prev);
  ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/atomic.h:76:0,
                 from ./include/asm-generic/bitops/lock.h:5,
                 from ./arch/arm/include/asm/bitops.h:243,
                 from ./include/linux/bitops.h:26,
                 from ./include/linux/kernel.h:12,
                 from ./include/asm-generic/bug.h:19,
                 from ./arch/arm/include/asm/bug.h:60,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/thread_info.h:12,
                 from ./include/asm-generic/current.h:5,
                 from ./arch/arm/include/generated/asm/current.h:1,
                 from ./include/linux/mutex.h:14,
                 from kernel/xenomai/intr.c:21:
/include/asm-generic/atomic-long.h:880:1: note: expected 
‘atomic_long_t * {aka struct <anonymous> *}’ but argument is of 
type ‘xnstat_exectime_t ** {aka struct xnstat_exectime **}’
 atomic_long_xchg(atomic_long_t *v, long i)
 ^~~~~~~~~~~~~~~~
In file included from include/xenomai/cobalt/kernel/thread.h:26:0,
                 from include/xenomai/cobalt/kernel/sched.h:24,
                 from kernel/xenomai/intr.c:24:
kernel/xenomai/intr.c: In function ‘switch_core_irqstats’:
include/xenomai/cobalt/kernel/stat.h:61:49: error: passing argument 1 
of ‘atomic_long_xchg’ from incompatible pointer type 
[-Werror=incompatible-pointer-types]
  __prev = (xnstat_exectime_t 
*)atomic_long_xchg(&(sched)->current_account, (long)(new_account)); \
                                                 ^
include/xenomai/cobalt/kernel/stat.h:139:2: note: in expansion of macro 
‘xnstat_exectime_set_current’
  xnstat_exectime_set_current(sched, new_account); \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/xenomai/intr.c:147:9: note: in expansion of macro 
‘xnstat_exectime_switch’
  prev = xnstat_exectime_switch(sched, &statp->account);
         ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/atomic.h:76:0,
                 from ./include/asm-generic/bitops/lock.h:5,
                 from ./arch/arm/include/asm/bitops.h:243,
                 from ./include/linux/bitops.h:26,
                 from ./include/linux/kernel.h:12,
                 from ./include/asm-generic/bug.h:19,
                 from ./arch/arm/include/asm/bug.h:60,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/thread_info.h:12,
                 from ./include/asm-generic/current.h:5,
                 from ./arch/arm/include/generated/asm/current.h:1,
                 from ./include/linux/mutex.h:14,
                 from kernel/xenomai/intr.c:21:
/include/asm-generic/atomic-long.h:880:1: note: expected 
‘atomic_long_t * {aka struct <anonymous> *}’ but argument is of 
type ‘xnstat_exectime_t ** {aka struct xnstat_exectime **}’
 atomic_long_xchg(atomic_long_t *v, long i)
 ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:262: kernel/xenomai/intr.o] Error 1
make[3]: *** [scripts/Makefile.build:496: kernel/xenomai] Error 2
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:1732: kernel] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [package/pkg-generic.mk:269: 
/home/gabriel/Projects/buildroot/buildroot-2020.02.11-xenomai/output/build/linux-5462eb01503dd1ad69d9cbe9f0d51a0bd4b0f98d/.stamp_built] 
Error 2
make: *** [Makefile:84: _all] Error 2


How can I solve this?
Thank you,
Gabriel Dinse


^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: Incompatible pointer type error when compiling kernel
@ 2021-02-22 10:14 Gabriel Dinse
  2021-02-22 14:12 ` Greg Gallagher
  0 siblings, 1 reply; 8+ messages in thread
From: Gabriel Dinse @ 2021-02-22 10:14 UTC (permalink / raw)
  To: xenomai

 > This is a 32-bit build running on the rpi3?
Yes, it is

 > I have some ipipe fixes coming, but I don't think these are ipipe 
related.
 > Can you show how you patched and built your kernel? I'll try to 
reproduce
 > on my end.  What compiler are you using?

For patching the kernel, I did:
xenomai-3.1 on  main ➜ ./scripts/prepare-kernel.sh 
--linux=~/Projects/linux-kernels/linux-5.4.93-ipipe --arch=arm 
--ipipe=~/Projects/linux-kernels/ipipe-core-5.4.93-arm-0.patch

The config I'm using is multi_v7_defconfig modified a little bit. The 
same configuration was fine for Vanilla kernel using the same version 
(5.4.93), as I was pretending to compare both.

Toolchain I'm using, selected directly on buildroot-2020.02.11 long 
term is: Linaro ARM 2018.05


^ permalink raw reply	[flat|nested] 8+ messages in thread
[parent not found: <1360970257.651782515.1671539985508.JavaMail.root@zimbra90-e16.priv.proxad.net>]

end of thread, other threads:[~2022-12-21 14:36 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-22  0:25 Incompatible pointer type error when compiling kernel Gabriel Dinse
2021-02-22  3:26 ` Greg Gallagher
2021-02-22 10:14 Gabriel Dinse
2021-02-22 14:12 ` Greg Gallagher
2021-02-22 20:19   ` Gabriel Dinse
2021-02-22 22:26     ` Greg Gallagher
     [not found] <1360970257.651782515.1671539985508.JavaMail.root@zimbra90-e16.priv.proxad.net>
2022-12-20 12:40 ` hansen.franck1
2022-12-21 14:27   ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.