Source: ucx
Version: 1.18.1+ds-1
Severity: normal
Tags: FTBFS patch
User: debian-loonga...@lists.debian.org
Usertags: loong64
Dear maintainers,
Compiling the ucx failed for loong64 in the Debian Package Auto-Building
environment.
The error log is as follows,
```
......
sys/iovec.c: In function 'ucs_iov_copy':
sys/iovec.c:47:13: error: too many arguments to function
'ucs_memcpy_relaxed'
47 | ucs_memcpy_relaxed(iov_buf,
UCS_PTR_BYTE_OFFSET(buf, copied), len,
| ^~~~~~~~~~~~~~~~~~
.......
```
The full build log can be found at
https://buildd.debian.org/status/fetch.php?pkg=ucx&arch=loong64&ver=1.18.1%2Bds-1&stamp=1741101442&raw=0.
Please consider the patch I attached.
According to the function calling in ./src/ucs/sys/iovec.c file, I need
to update the parameters of function ucs_memcpy_relaxed();.
Based on attached patch, I have built ucx (1.18.1+ds-1+loong64)
successfully on locally.
```
......
dpkg-deb --root-owner-group --build
debian/.debhelper/libucx0/dbgsym-root ..
dpkg-deb: building package 'libucx-dev' in
'../libucx-dev_1.18.1+ds-1+loong64_loong64.deb'.
dpkg-deb: building package 'ucx-utils-dbgsym' in
'../ucx-utils-dbgsym_1.18.1+ds-1+loong64_loong64.deb'.
dpkg-deb: building package 'libucx0' in
'../libucx0_1.18.1+ds-1+loong64_loong64.deb'.
dpkg-deb: building package 'ucx-utils' in
'../ucx-utils_1.18.1+ds-1+loong64_loong64.deb'.
dpkg-deb: building package 'libucx0-dbgsym' in
'../libucx0-dbgsym_1.18.1+ds-1+loong64_loong64.deb'.
dpkg-genbuildinfo -O../ucx_1.18.1+ds-1+loong64_loong64.buildinfo
dpkg-genchanges -O../ucx_1.18.1+ds-1+loong64_loong64.changes
```
Your opinions are welcome.
Best regards,
Dandan Zhang
Description: Update the parameters of function ucs_memcpy_relaxed();
.
ucx (1.18.1+ds-1+loong64) unstable; urgency=medium
.
* Update the parameters of function ucs_memcpy_relaxed();
Author: Dandan Zhang <zhangdan...@loongson.cn>
---
Last-Update: 2025-03-06
--- ucx-1.18.1+ds.orig/src/ucs/arch/loongarch64/cpu.h
+++ ucx-1.18.1+ds/src/ucs/arch/loongarch64/cpu.h
@@ -96,7 +96,9 @@ static inline void ucs_arch_clear_cache(
}
#endif
-static inline void *ucs_memcpy_relaxed(void *dst, const void *src, size_t len)
+static inline void *ucs_memcpy_relaxed(void *dst, const void *src, size_t len,
+ ucs_arch_memcpy_hint_t hint,
+ size_t total_len)
{
return memcpy(dst, src, len);
}