https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83838

--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot 
Uni-Bielefeld.DE> ---
> --- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
[...]
>> > Does Solaris ld support comdat?
>> 
>> ... like this one: complete Solaris ld support for comdat started
>> sometime in the Solaris 11 timeframe, cf. configure.ac (comdat_group).
>> Solaris 10 did not (at least not in a way that could cope with
>> everything gcc might generate).
>
> G++ uses comdat extensively.  Without comdat, g++ generates very
> odd codes.  Please double check if libstdc++ object files on Solaris
> have any comdat sections.

It's exactly as I said:

sol10 $ readelf -g i386-pc-solaris2.10/libstdc++-v3/src/.libs/libstdc++.a

File: i386-pc-solaris2.10/libstdc++-v3/src/.libs/libstdc++.a(compatibility.o)

There are no section groups in this file.

[... and so on for every object]

sol11 $ elfdump -g i386-pc-solaris2.11/libstdc++-v3/src/.libs/libstdc++.a

i386-pc-solaris2.11/libstdc++-v3/src/.libs/libstdc++.a(compatibility.o):

Group Section:  .group%DW.ref._ZTIN10__cxxabiv115__forced_unwindE
  Signature Symbol: DW.ref._ZTIN10__cxxabiv115__forced_unwindE
  Members:
    index   flags / section
      [0]   [ COMDAT ]
      [1]  
.data.DW.ref._ZTIN10__cxxabiv115__forced_unwindE%DW.ref._ZTIN10__cxxabiv115__forced_unwindE
      [2]  
.rel.data.DW.ref._ZTIN10__cxxabiv115__forced_unwindE%DW.ref._ZTIN10__cxxabiv115__forced_unwindE
[...]

Even without comdat support, C++ testresults on Solaris 10 are as good
as on Solaris 11.

        Rainer

Reply via email to