Some explanation of these choices.
Feature | Difficulty | Description |
lldb server | unknown, but probably a large project | currently Valgrind only has support for gdb server (with the bundled vgdb tool). lldb server is possible but difficult to set up and only for lldb experts |
fair scheduler | easy | the default Valgrind scheduler will context switch at each syscall or 100k basic blocks, but the switching is just the luck of the draw. Linux (only) has a futex based fair scheduler that it supposed to be more like a real OS scheduler |
LLVM openMP | unknown, but probably a large project | DRD and Helgrind only understand pthread and Qt threading interfaces. GNU OpenMP can be built using pthread. Valgrind does not understand LLVM OpenMP synchronisation at all, making it impossible to use with DRD or Helgrind. |
ioctls | large, needs a lot of investigation to get a list of all ioctls and all of their inputs and outputs | only a few have proper coverage, most just default to the read/write encoding of the ioctl |
core dumps | medium | Valgrind will dump a FreeBSD core file but the internals are not correct and neigher gdb nor lldb will be able to do anything with it |
riscv64/arm7 ports | medium | arm64 took about 1 month |