Modify the corresponding Makefile.am and Makefile.in under newlib/libm/machine/riscv to include ef_sqrt.c .
When I tried to build the toolchain using riscv-none-embed-gcc-xpackļ¼I got the āimpossible constraint in āasmāā error at the inline assembly line asm ("fsqrt.s %0, %1" : "=f" (x) : "f" (x)); in my new file.
I would guess that you have a multilib build, and the soft-float multilibs are giving you the impossible constraint error because they donāt have FP registers. The code needs to be conditional on the existance of FP registers.
By the way, Keith Packard recently posted patches upstream for fma and sqrt support. I would suggest using that code. See for instance