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


_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to