|
From: Crestez D. L. <cdl...@gm...> - 2015-11-26 22:13:25
|
Hello, Some time ago I posted some patches adding support for the N32 ABI on mips. * This is tracked as https://bugs.kde.org/show_bug.cgi?id=345763 * Link to previous thread: http://valgrind.10908.n7.nabble.com/RFC-MIPS-N32-abi-support-td54279.html I rebased my patches on top of valgrind release 3.11.0. There are no important changes from the last patches I posted but these should apply cleanly on top of a released tarball rather than some random SVN head. If you are interested in N32 support it should be relatively easy to apply the patches (one to valgrind and one to VEX) and check if it works on your target system. My early versions added an entirely new mips64n32 version similar to ppc64be and such. Based on comments in the issue tracker I added an VGABI_* define for mips which greatly reduces the amount of ifdefing required. The patches are still rather large and messy. This version sort-of works-for-me. Unless some specific issues are reported the patches will probably remain as they are. There is currently only a very minor conflict if you attempt to apply the patches to trunk. I would appreciate any advice on how to get these into upstream. I know that adding another ABI expands the combinations that need to be tested. I use this on cavium hardware but I tested an earlier version inside a debian mips64 qemu vm and it works there as well. I also ran regressions at some point (log attached in bug tracker) and the results were sort-of decent. I used git to manage my patches. You can find detailed step-by-step diffs on github: * https://github.com/cdleonard/valgrind/commits/mini-mips64n32-3.11.0 * https://github.com/cdleonard/valgrind-vex/commits/mini-mips64n32-3.11.0 Those repos also contain some octeon-specific fixes which are not required for n32 support. Regards, Leonard |