user/mariadb: (ppc) FTBFS: error: invalid conversion from ‘LF_SLIST*’ to ‘unsigned int’
Found on ppc:
...
[ 14%] Linking C executable skip_all-t
In file included from /root/packages/user/mariadb/src/mariadb-10.6.4/libmariadb/plugins/pvio/pvio_socket.c:42:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
[ 14%] Linking C executable todo-t
[ 14%] Linking C executable simple-t
[ 14%] Linking C shared module caching_sha2_password.so
[ 14%] Built target skip-t
[ 14%] Built target sha256_password
[ 14%] Linking C executable no_plan-t
[ 14%] Built target todo-t
[ 14%] Built target skip_all-t
In file included from /root/packages/user/mariadb/src/mariadb-10.6.4/include/my_atomic.h:115,
from /root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:19,
from /root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:103:
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c: In function ‘alloc_free’:
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:76:41: warning: passing argument 3 of ‘__atomic_compare_exchange_4’ makes integer from pointer without a cast [-Wint-conversion]
__atomic_compare_exchange_4((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
^~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:428:13: note: in expansion of macro ‘my_atomic_casptr’
} while (!my_atomic_casptr((void **)(char *)&allocator->top,
^~~~~~~~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:76:41: note: expected ‘unsigned int’ but argument is of type ‘uchar *’ {aka ‘unsigned char *’}
__atomic_compare_exchange_4((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
^~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:428:13: note: in expansion of macro ‘my_atomic_casptr’
} while (!my_atomic_casptr((void **)(char *)&allocator->top,
^~~~~~~~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c: In function ‘lf_alloc_new’:
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:58:56: warning: passing argument 2 of ‘__atomic_store_4’ makes integer from pointer without a cast [-Wint-conversion]
#define my_atomic_storeptr(P, D) __atomic_store_4((P), (D), __ATOMIC_SEQ_CST)
^~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:78:5: note: in expansion of macro ‘my_atomic_storeptr’
my_atomic_storeptr(&(PINS)->pin[PIN], (ADDR)); \
^~~~~~~~~~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:499:6: note: in expansion of macro ‘lf_pin’
lf_pin(pins, 0, node);
^~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:58:56: note: expected ‘unsigned int’ but argument is of type ‘uchar *’ {aka ‘unsigned char *’}
#define my_atomic_storeptr(P, D) __atomic_store_4((P), (D), __ATOMIC_SEQ_CST)
^~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:78:5: note: in expansion of macro ‘my_atomic_storeptr’
my_atomic_storeptr(&(PINS)->pin[PIN], (ADDR)); \
^~~~~~~~~~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:499:6: note: in expansion of macro ‘lf_pin’
lf_pin(pins, 0, node);
^~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:320:26: warning: passing argument 3 of ‘__atomic_compare_exchange_4’ makes integer from pointer without a cast [-Wint-conversion]
#define next_node(P, X) (*((uchar * volatile *)(((uchar *)(X)) + (P)->free_ptr_offset)))
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:76:42: note: in definition of macro ‘my_atomic_casptr’
__atomic_compare_exchange_4((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
^
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:321:23: note: in expansion of macro ‘next_node’
#define anext_node(X) next_node(&allocator->pinbox, (X))
^~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:514:41: note: in expansion of macro ‘anext_node’
(void *)&node, anext_node(node)))
^~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:320:26: note: expected ‘unsigned int’ but argument is of type ‘uchar * volatile’ {aka ‘unsigned char * volatile’}
#define next_node(P, X) (*((uchar * volatile *)(((uchar *)(X)) + (P)->free_ptr_offset)))
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:76:42: note: in definition of macro ‘my_atomic_casptr’
__atomic_compare_exchange_4((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
^
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:321:23: note: in expansion of macro ‘next_node’
#define anext_node(X) next_node(&allocator->pinbox, (X))
^~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:514:41: note: in expansion of macro ‘anext_node’
(void *)&node, anext_node(node)))
^~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:58:56: warning: passing argument 2 of ‘__atomic_store_4’ makes integer from pointer without a cast [-Wint-conversion]
#define my_atomic_storeptr(P, D) __atomic_store_4((P), (D), __ATOMIC_SEQ_CST)
^~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:78:5: note: in expansion of macro ‘my_atomic_storeptr’
my_atomic_storeptr(&(PINS)->pin[PIN], (ADDR)); \
^~~~~~~~~~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:81:36: note: in expansion of macro ‘lf_pin’
#define lf_unpin(PINS, PIN) lf_pin(PINS, PIN, NULL)
^~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:517:2: note: in expansion of macro ‘lf_unpin’
lf_unpin(pins, 0);
^~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:58:56: note: expected ‘unsigned int’ but argument is of type ‘void *’
#define my_atomic_storeptr(P, D) __atomic_store_4((P), (D), __ATOMIC_SEQ_CST)
^~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:78:5: note: in expansion of macro ‘my_atomic_storeptr’
my_atomic_storeptr(&(PINS)->pin[PIN], (ADDR)); \
^~~~~~~~~~~~~~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:81:36: note: in expansion of macro ‘lf_pin’
#define lf_unpin(PINS, PIN) lf_pin(PINS, PIN, NULL)
^~~~~~
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_alloc-pin.c:517:2: note: in expansion of macro ‘lf_unpin’
lf_unpin(pins, 0);
^~~~~~~~
[ 14%] Built target simple-t
[ 14%] Built target no_plan-t
In file included from /root/packages/user/mariadb/src/mariadb-10.6.4/include/my_atomic.h:115,
from /root/packages/user/mariadb/src/mariadb-10.6.4/include/lf.h:19,
from /root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_hash.cc:29:
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_hash.cc: In function ‘int l_find(LF_SLIST**, CHARSET_INFO*, uint32, const uchar*, size_t, CURSOR*, LF_PINS*, my_hash_walk_action)’:
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_hash.cc:105:29: error: invalid conversion from ‘LF_SLIST*’ to ‘unsigned int’ [-fpermissive]
lf_pin(pins, 1, cursor->curr);
/root/packages/user/mariadb/src/mariadb-10.6.4/include/atomic/gcc_builtins.h:58:57: note: in definition of macro ‘my_atomic_storeptr’
#define my_atomic_storeptr(P, D) __atomic_store_4((P), (D), __ATOMIC_SEQ_CST)
^
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_hash.cc:105:5: note: in expansion of macro ‘lf_pin’
lf_pin(pins, 1, cursor->curr);
^~~~~~
<built-in>: note: initializing argument 2 of ‘void __atomic_store_4(volatile void*, unsigned int, int)’
/root/packages/user/mariadb/src/mariadb-10.6.4/mysys/lf_hash.cc:106:103: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
} while (my_atomic_loadptr((void **)my_assume_aligned<sizeof(LF_SLIST *)>(cursor->prev)) != cursor->curr &&
^~~~