From: Paul F. <pj...@wa...> - 2024-11-13 07:59:42
|
On 12-11-24 20:05, Rm Beer wrote: > Hello, I come here to complain about the negligence committed by the > developers in the 'Bug List' of the valgrind site: Getting shirty will get you nowhere. Your report should have been closed as a duplicate of https://bugs.kde.org/show_bug.cgi?id=286864 You should read the above item I'll try to summarize the problem. After Valgrind has bootstrapped itself it will load and execute the guest exe. In practice that means also loading and executing the interpreter, ld.so. ld.so uses some C functions, but since it runs before libc has been loaded it has to provide its own versions (when libc loads it will replace the ones in ld.so). Valgrind may need to redirect some of those functions. The case in point is strlen. When strlen implementations are optimized to use SIMD to count multiple characters at a time in parallel it may deliberately read past the end of the string in the knowledge that it is safe because memory is allocated in multiples of 8 or 16 bytes. If Valgrind doesn't replace strlen then it may result in large numbers of invalid read errors. We have no way of knowing whether the strlen in ld.so uses SIMD. So we have a choice. 1. We don't ensure that ld.so strlen is redirected, which will make some systems unusable. 2. We do ensure that strlen is redirected. That works as long as ld.so is not stripped. If you are really not happy that we have chosen the first one then you can build your own Valgrind from source using the patch in the Bugzilla item above. A+ Paul |