Skip to content

[Bug] lwp/vdso: 编译告警 #10165

Open
Open
@unicornx

Description

@unicornx

RT-Thread Version

master(commit 45eea78

Hardware Type/Architectures

bsp/cvitek

Develop Toolchain

GCC

Describe the bug

参考 CASE 2 @https://github.com/plctlab/plct-rt-thread/blob/notes/0.notes/20241223-rtt-test-guide.md#4-%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B%E8%AF%B4%E6%98%8E

构建 AARCH64 大核时会报如下告警:

CC build/kernel/components/lwp/arch/aarch64/common/vdso_data.o
In file included from /home/u/ws/duo/rt-thread/include/rtthread.h:35:0,
                 from /home/u/ws/duo/rt-thread/components/lwp/arch/aarch64/common/vdso_data.c:11:
/home/u/ws/duo/rt-thread/components/lwp/vdso/kernel/vdso_data.h: In function 'rt_vdso_write_begin':
/home/u/ws/duo/rt-thread/components/lwp/vdso/kernel/vdso_data.h:33:19: warning: passing argument 1 of 'rt_soft_atomic_add' from incompatible pointer type [-Wincompatible-pointer-types]
     rt_atomic_add(&vd[CS_HRES_COARSE].seq, 1);
                   ^
/home/u/ws/duo/rt-thread/include/rtatomic.h:65:50: note: in definition of macro 'rt_atomic_add'
 #define rt_atomic_add(ptr, v) rt_soft_atomic_add(ptr, v)
                                                  ^~~
/home/u/ws/duo/rt-thread/include/rtatomic.h:86:23: note: expected 'volatile rt_atomic_t * {aka volatile long int *}' but argument is of type 'uint32_t * {aka unsigned int *}'
 rt_inline rt_atomic_t rt_soft_atomic_add(volatile rt_atomic_t *ptr, rt_atomic_t val)
                       ^~~~~~~~~~~~~~~~~~
/home/u/ws/duo/rt-thread/components/lwp/vdso/kernel/vdso_data.h:34:19: warning: passing argument 1 of 'rt_soft_atomic_add' from incompatible pointer type [-Wincompatible-pointer-types]
     rt_atomic_add(&vd[CS_RAW].seq, 1);
                   ^
/home/u/ws/duo/rt-thread/include/rtatomic.h:65:50: note: in definition of macro 'rt_atomic_add'
 #define rt_atomic_add(ptr, v) rt_soft_atomic_add(ptr, v)
                                                  ^~~
/home/u/ws/duo/rt-thread/include/rtatomic.h:86:23: note: expected 'volatile rt_atomic_t * {aka volatile long int *}' but argument is of type 'uint32_t * {aka unsigned int *}'
 rt_inline rt_atomic_t rt_soft_atomic_add(volatile rt_atomic_t *ptr, rt_atomic_t val)
                       ^~~~~~~~~~~~~~~~~~
/home/u/ws/duo/rt-thread/components/lwp/vdso/kernel/vdso_data.h: In function 'rt_vdso_write_end':
/home/u/ws/duo/rt-thread/components/lwp/vdso/kernel/vdso_data.h:40:19: warning: passing argument 1 of 'rt_soft_atomic_add' from incompatible pointer type [-Wincompatible-pointer-types]
     rt_atomic_add(&vd[CS_HRES_COARSE].seq, 1);
                   ^
/home/u/ws/duo/rt-thread/include/rtatomic.h:65:50: note: in definition of macro 'rt_atomic_add'
 #define rt_atomic_add(ptr, v) rt_soft_atomic_add(ptr, v)
                                                  ^~~
/home/u/ws/duo/rt-thread/include/rtatomic.h:86:23: note: expected 'volatile rt_atomic_t * {aka volatile long int *}' but argument is of type 'uint32_t * {aka unsigned int *}'
 rt_inline rt_atomic_t rt_soft_atomic_add(volatile rt_atomic_t *ptr, rt_atomic_t val)
                       ^~~~~~~~~~~~~~~~~~
/home/u/ws/duo/rt-thread/components/lwp/vdso/kernel/vdso_data.h:41:19: warning: passing argument 1 of 'rt_soft_atomic_add' from incompatible pointer type [-Wincompatible-pointer-types]
     rt_atomic_add(&vd[CS_RAW].seq, 1);
                   ^
/home/u/ws/duo/rt-thread/include/rtatomic.h:65:50: note: in definition of macro 'rt_atomic_add'
 #define rt_atomic_add(ptr, v) rt_soft_atomic_add(ptr, v)
                                                  ^~~
/home/u/ws/duo/rt-thread/include/rtatomic.h:86:23: note: expected 'volatile rt_atomic_t * {aka volatile long int *}' but argument is of type 'uint32_t * {aka unsigned int *}'
 rt_inline rt_atomic_t rt_soft_atomic_add(volatile rt_atomic_t *ptr, rt_atomic_t val)
                       ^~~~~~~~~~~~~~~~~~

Other additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions