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
Paths
| Differential D156283
MIPS: unwind, don't save/restore hi/lo for R6 ClosedPublic Authored by wzssyqa on Jul 25 2023, 6:42 PM.
Details
Summary 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 TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJul 25 2023, 6:42 PM wzssyqa edited reviewers, added: brad, jrtc27, MaskRay; removed: Restricted Project.Jul 25 2023, 6:43 PM Comment 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
How can I ping the #libunwind group? Comment Actions I think that @wzssyqa's analysis is correct - the extra space is fine to keep in the buffer. This revision is now accepted and ready to land.Aug 17 2023, 7:16 AM Comment Actions
Can you help to push this patch into git? I have no permission to do so. This revision was landed with ongoing or failed builds.Aug 18 2023, 9:37 PM Closed by commit rG22a84020d232: MIPS: unwind, don't save/restore hi/lo for R6 (authored by wzssyqa, committed by brad). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 551706 libunwind/include/libunwind.h
libunwind/src/Registers.hpp
libunwind/src/UnwindRegistersRestore.S
libunwind/src/UnwindRegistersSave.S
|