Closed redeastcn closed 9 months ago
3.22直接打3.20的补丁(来自loongarchlinux)编译报错:
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../include -I../VEX/pub -I../VEX/pub -DVGA_loongarch64=1 -DVGO_linux=1 -DVGP_loongarch64_linux=1 -DVGPV_loongarch64_linux_vanilla=1 -I../coregrind -DVG_LIBDIR="\"/usr/libexec/valgrind"\" -DVG_PLATFORM="\"loongarch64-linux\"" -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wcast-align -Wcast-qual -Wwrite-strings -Wempty-body -Wformat -Wformat-signedness -Wformat-security -Wignored-qualifiers -Wmissing-parameter-type -Wlogical-op -Wenum-conversion -Wimplicit-fallthrough=2 -Wold-style-declaration -finline-functions -fno-stack-protector -fno-strict-aliasing -fno-builtin -DENABLE_LINUX_TICKET_LOCK -MT m_gdbserver/libcoregrind_loongarch64_linux_a-valgrind-low-loongarch64.o -MD -MP -MF m_gdbserver/.deps/libcoregrind_loongarch64_linux_a-valgrind-low-loongarch64.Tpo -c -o m_gdbserver/libcoregrind_loongarch64_linux_a-valgrind-low-loongarch64.o `test -f 'm_gdbserver/valgrind-low-loongarch64.c' || echo './'`m_gdbserver/valgrind-low-loongarch64.c
m_gdbserver/valgrind-low-loongarch64.c:257:4: warning: initialization of 'int' from 'struct reg *' makes integer from pointer without a cast [-Wint-conversion]
257 | regs,
| ^~~~
m_gdbserver/valgrind-low-loongarch64.c:257:4: note: (near initialization for 'low_target.stack_pointer_regno')
m_gdbserver/valgrind-low-loongarch64.c:257:4: error: initializer element is not computable at load time
m_gdbserver/valgrind-low-loongarch64.c:257:4: note: (near initialization for 'low_target.stack_pointer_regno')
m_gdbserver/valgrind-low-loongarch64.c:258:4: warning: initialization of 'struct reg *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
258 | 3, // SP
| ^
m_gdbserver/valgrind-low-loongarch64.c:258:4: note: (near initialization for 'low_target.reg_defs')
make[3]: *** [Makefile:6346: m_gdbserver/libcoregrind_loongarch64_linux_a-valgrind-low-loongarch64.o] Error 1
make[3]: Leaving directory '/home/debian/source/valgrind-3.22.0/coregrind'
make[2]: *** [Makefile:2550: all] Error 2
make[2]: Leaving directory '/home/debian/source/valgrind-3.22.0/coregrind'
make[1]: *** [Makefile:925: all-recursive] Error 1
make[1]: Leaving directory '/home/debian/source/valgrind-3.22.0'
make: *** [Makefile:788: all] Error 2
已经同步到上游最新的代码,上游这几个版本忙于 FreeBSD 和 MacOS 系统,LoongArch 和 RISC-V 的审核计划都被搁置了。该仓库的 Valgrind 还未添加向量指令支持,所以在启用了向量支持的系统上是无法正常工作的。添加向量支持是一个非常大的工程,短期无法完善。
目前支持了 glibc 用到的向量指令,可以调试大部分非向量程序了。后续会先拿这个版本继续推上游,然后再考虑添加其余的向量指令。这个问题我先关闭了,有其他问题请另开。
你好,请问Loongarch64推进上游的进展怎么样了?目前的补丁可以直接用在3.22版本吗?谢谢!