sdardis added a comment. I have tested this on one of my machines after removing the checks for soft float (my debian install doesn't have the necessary headers for soft-float). With the patch you've pointed out and my inline comments addressed (bar the HI / LO register comments), it passes the supplied test suite.
Can you change the checks for ABI from '_MIPS_SIM == $ABI' to 'defined($ABI)'? I mistakenly assumed they were always defined and that _MIPS_SIM was defined to be one of them but they are only defined when that particular ABI is being used. ================ Comment at: include/libunwind.h:584 + UNW_MIPS_R31 = 31, +}; + ---------------- Requires HI / LO registers. ================ Comment at: src/Registers.hpp:2014 + uint32_t __pc; + }; + ---------------- This appears to be missing the HI / LO registers. ================ Comment at: src/Registers.hpp:2039 + return true; + // FIXME: Hard float + return false; ---------------- FIXME: Hard float, DSP accumulator registers, MSA registers ================ Comment at: src/UnwindRegistersSave.S:120-122 + jr $31 + # fp (in delay slot) + sw $30, (4 * 30)($4) ---------------- Move the last store out of the delay slot and put 'or $2, $zero, $zero' in the delay slot to return UNW_ESUCCESS. ================ Comment at: src/UnwindRegistersSave.S:155-157 + jr $31 + # fp (in delay slot) + sd $30, (8 * 30)($4) ---------------- Move the last store out of the delay slot and put 'or $2, $zero, $zero' in the delay slot to return UNW_ESUCCESS. https://reviews.llvm.org/D38110 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits