Exception Handling implementation with Return Address (RA) having PC right shifted by 1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am facing some trouble in G++'s Exception Handling(EH) implementation 
of GCC CR16C port .

During branching to the called function, the return address of the next 
instruction right shifted by 1 is stored in the RA(Return Address) 
register. This is a hardware implementation.

The DWARF information generated for EH has found to be storing this right 
shifted return value appropriately. To my knowledge , debugging 
information for variables and stack pushed registers was generated correctly.

How can I communicate to DWARF EH regarding the right shifted value of 
return address. How can I do this in backend code?

I am using the 'stack unwinder' mechanism to restore the register values.
I have taken reference of following wiki link to verify EH implementation:
http://gcc.gnu.org/wiki/Dwarf2EHNewbiesHowto
Gcc Version:  4.5.1

Any pointers on this issue are highly appreciated.

Regards,
Sumanth





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux