[Bug bootstrap/69312] [6 Regression] libstdc++ unconditionally refers to TM symbols

2016-01-19 Thread torvald at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69312

torvald at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from torvald at gcc dot gnu.org ---
Fixed in r232539

[Bug bootstrap/69312] [6 Regression] libstdc++ unconditionally refers to TM symbols

2016-01-17 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69312

David Edelsohn  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from David Edelsohn  ---
The new libstdc++ code creates weak references to the ITM symbols and expects
that undefined weak references will be set to zero if not defined.  This
behavior is SVR4 semantics, but not default AIX semantics.

The new libstdc++ code is protected by __GXX_WEAK__, which is defined for AIX
because AIX supports MAKE_DECL_ONE_ONLY.  The documentation of __GXX_WEAK__
refers to collapsing symbols with "vague linkage" in multiple translation
units, which AIX does support.

__GXX_WEAK__ does imply the additional SVR4 semantics.  libstdc++ should use a
different mechanism to protect code that expects SVR4 undefined weak symbol
semantics.

[Bug bootstrap/69312] [6 Regression] libstdc++ unconditionally refers to TM symbols

2016-01-16 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69312

David Edelsohn  changed:

   What|Removed |Added

 Target||powerpc-ibm-aix*
   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-16
  Component|libstdc++   |bootstrap
 CC||jason at gcc dot gnu.org,
   ||torvald at gcc dot gnu.org
 Ever confirmed|0   |1
   Target Milestone|--- |6.0
   Severity|normal  |critical

--- Comment #1 from David Edelsohn  ---
Confirmed.

[Bug bootstrap/69312] [6 Regression] libstdc++ unconditionally refers to TM symbols

2016-01-16 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69312

--- Comment #2 from David Edelsohn  ---
stage1 libstdc++ builds, but stage2 configure fails because conftest programs
cannot link and run due to missing ITM_xxx symbols.