|
From: Yannik M. <yma...@me...> - 2025-08-22 16:02:46
|
Hey all, I am currently attempting to compile valgrind with mips-linux-muslsf-gcc, but it errors out because guest_mips_helpers.c uses floating point registers, which are not available in the softfloat target. Any help would be appreciated. The steps below can be used to reproduce this: 1. wget https://musl.cc/mips-linux-muslsf-cross.tgz 2. tar -xzf mips-linux-muslsf-cross.tgz 3. export PATH=$PATH:$(pwd)/mips-linux-muslsf-cross/bin 4. git clone https://sourceware.org/git/valgrind.git 5. cd valgrind 6. ./autogen.sh 7. ./configure --host=mips-linux-muslsf 8. make Below are the first few errors that I am seeing: priv/guest_mips_helpers.c: In function ‘mips_dirtyhelper_calculate_FCSR_fp32’: priv/guest_mips_helpers.c:501:4: error: the register ‘$f21’ cannot be clobbered in ‘asm’ for the current target 501 | __asm__ volatile(".set push" "\n\t" \ | ^~~~~~~ priv/guest_mips_helpers.c:644:10: note: in expansion of macro ‘ASM_VOLATILE_UNARY32_DOUBLE’ 644 | ASM_VOLATILE_UNARY32_DOUBLE(round.w.d) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ priv/guest_mips_helpers.c:486:4: error: the register ‘$f20’ cannot be clobbered in ‘asm’ for the current target 486 | __asm__ volatile(".set push" "\n\t" \ | ^~~~~~~ priv/guest_mips_helpers.c:647:10: note: in expansion of macro ‘ASM_VOLATILE_UNARY32’ 647 | ASM_VOLATILE_UNARY32(floor.w.s) | Best regards, Yannik Marchand |