
#14999: unwinding info for stg_catch_frame is wrong
-------------------------------------+-------------------------------------
Reporter: niteria | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.4.3
Component: Compiler | Version:
Keywords: | Operating System: Linux
Architecture: x86_64 | Type of failure: Debugging
(amd64) | information is incorrect
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Minimized `stg_catch_frame` (`Small.cmm`):
{{{
#define CATCH_FRAME 34
#define SIZEOF_StgCatchFrame (SIZEOF_StgHeader+16)
INFO_TABLE_RET(stg_catch_frame, CATCH_FRAME,
bits64 info_ptr, bits64 exceptions_blocked, gcptr handler)
return (gcptr ret)
{
unwind Sp = Sp + SIZEOF_StgCatchFrame;
return (ret);
}
}}}
Compile `"inplace/bin/ghc-stage2" -O2 -g -c Small.cmm` using GHC HEAD.
`objdump -D` for `stg_catch_frame_info`:
{{{
0000000000000010