[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v8 02/17] xen: introduce generic non-atomic test_*bit()
On Thu, 2024-04-25 at 17:35 +0200, Jan Beulich wrote: > > #include <asm/bitops.h> > > > > +#ifndef arch_check_bitop_size > > +#define arch_check_bitop_size(addr) > > Can this really do nothing? Passing the address of an object smaller > than > bitop_uint_t will read past the object in the generic__*_bit() > functions. It seems RISC-V isn' happy with the following generic definition: extern void __bitop_bad_size(void); /* --------------------- Please tidy above here -------------------- - */ #include <asm/bitops.h> #ifndef arch_check_bitop_size #define bitop_bad_size(addr) sizeof(*(addr)) < sizeof(bitop_uint_t) #define arch_check_bitop_size(addr) \ if ( bitop_bad_size(addr) ) __bitop_bad_size(); #endif /* arch_check_bitop_size */ The following errors occurs. bitop_uint_t for RISC-V is defined as unsigned long for now: ./common/symbols-dummy.o -o ./.xen-syms.0 riscv64-linux-gnu-ld: prelink.o: in function `atomic_sub': /build/xen/./arch/riscv/include/asm/atomic.h:152: undefined reference to `__bitop_bad_size' riscv64-linux-gnu-ld: prelink.o: in function `evtchn_check_pollers': /build/xen/common/event_channel.c:1531: undefined reference to `__bitop_bad_size' riscv64-linux-gnu-ld: /build/xen/common/event_channel.c:1521: undefined reference to `__bitop_bad_size' riscv64-linux-gnu-ld: prelink.o: in function `evtchn_init': /build/xen/common/event_channel.c:1541: undefined reference to `__bitop_bad_size' riscv64-linux-gnu-ld: prelink.o: in function `_read_lock': /build/xen/./include/xen/rwlock.h:94: undefined reference to `__bitop_bad_size' riscv64-linux-gnu-ld: prelink.o:/build/xen/./arch/riscv/include/asm/atomic.h:195: more undefined references to `__bitop_bad_size' follow riscv64-linux-gnu-ld: ./.xen-syms.0: hidden symbol `__bitop_bad_size' isn't defined riscv64-linux-gnu-ld: final link failed: bad value make[2]: *** [arch/riscv/Makefile:15: xen-syms] Error 1 ~ Oleksii
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |