Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 May 2002 12:57:47 -0700 (PDT)
From:      "David E. O'Brien" <obrien@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/contrib/gcc integrate.c stmt.c
Message-ID:  <200205011957.g41JvlS60273@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
obrien      2002/05/01 12:57:47 PDT

  Modified files:        (Branch: RELENG_4)
    contrib/gcc          integrate.c stmt.c 
  Log:
  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.
  
  2. 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
  
  Revision     Changes    Path
  1.1.1.3.2.1  +16 -0     src/contrib/gcc/integrate.c
  1.1.1.4.2.2  +6 -0      src/contrib/gcc/stmt.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205011957.g41JvlS60273>