[Bug middle-end/54630] [4.8 Regression] GCC 4.8 --enable-languages=c build fails: Undefined symbols: ___cxa_guard_acquire and ___cxa_guard_release

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Sep 20 11:37:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54630

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-09-20
          Component|libstdc++                   |middle-end
                 CC|                            |crowl at gcc dot gnu.org,
                   |                            |dnovillo at gcc dot
                   |                            |gnu.org, rguenth at gcc dot
                   |                            |gnu.org
     Ever Confirmed|0                           |1
            Summary|GCC 4.8                     |[4.8 Regression] GCC 4.8
                   |--enable-languages=c build  |--enable-languages=c build
                   |fails: Undefined symbols:   |fails: Undefined symbols:
                   |___cxa_guard_acquire and    |___cxa_guard_acquire and
                   |___cxa_guard_release        |___cxa_guard_release
   Target Milestone|---                         |4.8.0

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-20 11:37:04 UTC ---
Ick.  Now

  static hash_table <ssa_name_var_hash> ssa_name_hash;

appearantly has a guarded init!?

  D.38548 = __cxa_guard_acquire (&_ZGVZ17coalesce_ssa_namevE13ssa_name_hash);
  retval.1 = D.38548 != 0;
  if (retval.1 != 0) goto <D.38549>; else goto <D.38550>;
  <D.38549>:
  D.38265 = 0;
  try
    {
      hash_table<ssa_name_var_hash>::hash_table (&ssa_name_hash);
      D.38265 = 1;
      __cxa_guard_release (&_ZGVZ17coalesce_ssa_namevE13ssa_name_hash);
    }
  catch
    {
      if (D.38265 != 0) goto <D.38551>; else goto <D.38552>;
      <D.38551>:
      goto <D.38553>;
      <D.38552>:
      __cxa_guard_abort (&_ZGVZ17coalesce_ssa_namevE13ssa_name_hash);
      <D.38553>:
    }

I suppose easiest is to remove the 'static' keyword here.

Larry, can you test that?



More information about the Gcc-bugs mailing list