[Bug ada/85638] [8/9 regression] build failure for Ada runtime with SJLJ exceptions on x86
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri May 4 10:22:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85638
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
The key point is that several elements of cfun->eh->lp_array can share the same
landing pad:
(gdb) p *cfun->eh->lp_array->m_vecdata[1]
$11 = {next_lp = 0x0, region = 0x7ffff695c898,
post_landing_pad = 0x7ffff695df80, landing_pad = 0x7ffff6a6b200, index = 1}
(gdb) p *cfun->eh->lp_array->m_vecdata[2]
$12 = {next_lp = 0x0, region = 0x7ffff695c8f0,
post_landing_pad = 0x7ffff695de80, landing_pad = 0x7ffff6a6b200, index = 2}
(gdb) p *cfun->eh->lp_array->m_vecdata[1]->region
$13 = {outer = 0x0, inner = 0x0, next_peer = 0x0, index = 1, type = ERT_TRY,
u = {eh_try = {first_catch = 0x7ffff6964398, last_catch = 0x7ffff6964398},
allowed = {type_list = 0x7ffff6964398, label = 0x7ffff6964398,
filter = 0}, must_not_throw = {failure_decl = 0x7ffff6964398,
failure_loc = 4137042840}}, landing_pads = 0x7ffff69648c0,
exc_ptr_reg = 0x7ffff6a6a2a0, filter_reg = 0x7ffff6a6a150,
use_cxa_end_cleanup = false}
(gdb) p *cfun->eh->lp_array->m_vecdata[2]->region
$14 = {outer = 0x0, inner = 0x0, next_peer = 0x7ffff695c898, index = 2,
type = ERT_CLEANUP, u = {eh_try = {first_catch = 0x0, last_catch = 0x0},
allowed = {type_list = 0x0, label = 0x0, filter = 0}, must_not_throw = {
failure_decl = 0x0, failure_loc = 0}}, landing_pads = 0x7ffff69643c0,
exc_ptr_reg = 0x7ffff6a6a8e8, filter_reg = 0x0, use_cxa_end_cleanup = false}
More information about the Gcc-bugs
mailing list