HI/LO registers have been removed in MIPSr6. Save and restore them only for pre-R6.
We keep the memory space for the registers so that we can use the same register indexes for
r6 and pre-r6.
Fixes: #60682
Differential D156283
MIPS: unwind, don't save/restore hi/lo for R6 wzssyqa on Jul 25 2023, 6:42 PM. Authored by
Details
HI/LO registers have been removed in MIPSr6. Save and restore them only for pre-R6. We keep the memory space for the registers so that we can use the same register indexes for Fixes: #60682
Diff Detail
Event TimelineComment Actions Should space for them still exist in Registers_mips_o32/newabi, UNW_MIPS_HI/LO still be defined and the various things in __libunwind_config.h still account for them? Comment Actions I think that we should keep them as, since it can make the code more simple. Comment Actions And I think that when we add more registers like MSA/DSP, should start from 66, so that we can use the same register indexes for both R6 and pre-R6. Comment Actions
Some projects like libc++/libc++abi/libunwind add a default reviewer group. This ensures #libunwind people know changes going into libunwind. They may not comment, but they can do so when a change increasing maintenance burden catches their eye. Comment Actions I added libunwind group back. Comment Actions Someone in the #libunwind needs to click Accept as libunwind to make the differential green, otherwise it is in the Needs Review state even if there is an approval. Comment Actions I think that @wzssyqa's analysis is correct - the extra space is fine to keep in the buffer. |