HomeFreeBSD

1. integrate.c -- If inline function which uses exception handling is being
rS95881Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

  1. integrate.c -- If inline function which uses exception handling is being

integrated into a function, which does not itself contain any try/catch
constructs, several global flags values are not set correctly. The
current_function_has_nonlocal_label flags is not getting set in particular.
This allows GCC to allocate registers across function calls. When
exception is thrown in called functions, the exception handler is reached
with global registers (ebx, edi, esi) content clobbered without gcc ever
noticing that.

  1. expr.c -- In DWARF2 case stack was getting adjusted at the right time

as a side effect of expand_eh_region_end. sjlj-exceptions do not use
this function so a call is added to do_pending_stack_adjust in its place.

See the FreeBSD PR for code showing these problems.
Note the STLPort test suite and OpenOffice port will now build and work.

PR: 37423
Submitted by: Alexander Kabaev <ak03@gte.com>
FSF GCC PR: c++/6467

Details

Provenance
obrienAuthored on
Parents
rS95880: We don't need no stinkin' echos here.
Branches
Unknown
Tags
Unknown

Event Timeline