GCC 6.4.0 : mystery about why libstdc++.so.6.0.22 would be missing an ELF section

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Dear GCC Help:

    Well I am baffled on this one and just have to ask.

    I have two systems that are nearly identical SPARC boxen running ye
old Solaris 10 and the only real difference is the processors. One of
them is old Niagara T2 class and the other is much much older UltraSPARC
class 2 ( UltraSPARC IIe ) from way way back in 2001.  Bootstrap took a
full week.  Yes really. However the results look vey good. I have much
newer M-class gear but anything compiled on an old SPARC will run on the
newer and they can be good to experiment with. In any case I have GCC
6.4.0 neatly bootstrapped and installed on both over the last week or
so. Strange result, one of them has libraires that are entirely missing
the ELF section for "Version Definition Section". Both were bootstrapped
with gcc 4.9.2.

Let me explain here with the data from the machine with the full data:

n0$ elfdump -v /usr/local/gcc6/lib/sparcv9/libstdc++.so.6.0.22

Version Definition Section:  .SUNW_version
     index  version                     dependency
       [1]  libstdc++.so.6                                   [ BASE ]
       [2]  GLIBCXX_3.4
       [3]  GLIBCXX_3.4.1               GLIBCXX_3.4
       [4]  GLIBCXX_3.4.2               GLIBCXX_3.4.1
       [5]  GLIBCXX_3.4.3               GLIBCXX_3.4.2
       [6]  GLIBCXX_3.4.4               GLIBCXX_3.4.3
       [7]  GLIBCXX_3.4.5               GLIBCXX_3.4.4
       [8]  GLIBCXX_3.4.6               GLIBCXX_3.4.5
       [9]  GLIBCXX_3.4.7               GLIBCXX_3.4.6
      [10]  GLIBCXX_3.4.8               GLIBCXX_3.4.7
      [11]  GLIBCXX_3.4.9               GLIBCXX_3.4.8
      [12]  GLIBCXX_3.4.10              GLIBCXX_3.4.9
      [13]  GLIBCXX_3.4.11              GLIBCXX_3.4.10
      [14]  GLIBCXX_3.4.12              GLIBCXX_3.4.11
      [15]  GLIBCXX_3.4.13              GLIBCXX_3.4.12
      [16]  GLIBCXX_3.4.14              GLIBCXX_3.4.13
      [17]  GLIBCXX_3.4.15              GLIBCXX_3.4.14
      [18]  GLIBCXX_3.4.16              GLIBCXX_3.4.15
      [19]  GLIBCXX_3.4.17              GLIBCXX_3.4.16
      [20]  GLIBCXX_3.4.18              GLIBCXX_3.4.17
      [21]  GLIBCXX_3.4.19              GLIBCXX_3.4.18
      [22]  GLIBCXX_3.4.20              GLIBCXX_3.4.19
      [23]  GLIBCXX_3.4.21              GLIBCXX_3.4.20
      [24]  GLIBCXX_3.4.22              GLIBCXX_3.4.21
      [25]  CXXABI_1.3
      [26]  CXXABI_1.3.1                CXXABI_1.3
      [27]  CXXABI_1.3.2                CXXABI_1.3.1
      [28]  CXXABI_1.3.3                CXXABI_1.3.2
      [29]  CXXABI_1.3.4                CXXABI_1.3.3
      [30]  CXXABI_1.3.5                CXXABI_1.3.4
      [31]  CXXABI_1.3.6                CXXABI_1.3.5
      [32]  CXXABI_1.3.7                CXXABI_1.3.6
      [33]  CXXABI_1.3.8                CXXABI_1.3.7
      [34]  CXXABI_1.3.9                CXXABI_1.3.8
      [35]  CXXABI_1.3.10               CXXABI_1.3.9
      [36]  CXXABI_TM_1

Version Needed Section:  .SUNW_version
     index  file                        version
      [37]  libm.so.2                   SUNW_1.2
      [38]                              SUNW_1.1             [ INFO ]
      [39]  librt.so.1                  SUNW_0.7
      [40]  libgcc_s.so.1               GCC_3.0              [ INFO ]
      [41]                              GCC_3.3              [ INFO ]
      [42]                              GCC_3.4              [ INFO ]
      [43]                              GCC_4.2.0
      [44]  libc.so.1                   SUNW_1.22
      [45]                              SUNW_1.18            [ INFO ]
      [46]                              SUNW_1.1             [ INFO ]
      [47]                              SUNW_0.9             [ INFO ]
      [48]                              SUNW_0.7             [ INFO ]
      [49]                              SUNWprivate_1.1
n0$


That looks beautiful.



On the older system I am given very little :

mimas$ elfdump -v /usr/local/gcc6/lib/sparcv9/libstdc++.so.6.0.22

Version Needed Section:  .SUNW_version
     index  file                        version
       [2]  libm.so.2                   SUNW_1.2
       [3]                              SUNW_1.1             [ INFO ]
       [4]  librt.so.1                  SUNW_0.7
       [5]  libgcc_s.so.1               GCC_3.0              [ INFO ]
       [6]                              GCC_3.3              [ INFO ]
       [7]                              GCC_3.4              [ INFO ]
       [8]                              GCC_4.2.0
       [9]  libc.so.1                   SUNW_1.22
      [10]                              SUNW_1.18            [ INFO ]
      [11]                              SUNW_1.1             [ INFO ]
      [12]                              SUNW_0.9             [ INFO ]
      [13]                              SUNW_0.7             [ INFO ]
      [14]                              SUNWprivate_1.1
mimas$

That's all there is. No "Version Definition Section" at all.

I took the libstdc++.so.6.0.22 file with all the goodness in it and copied it over to the machine that was lacking just to verify that there wasn't a tools issue with elfdump or something. Nope. No such luck. The file with the "Version Definition Section" is correct and travels with it where ever it goes. So it isn't elfdump or its brethern.


This is baffling since the libgcc_c.so.1 is perfect on both machines :


mimas$ elfdump -v /usr/local/gcc6/lib/sparcv9/libgcc_s.so.1

Version Definition Section:  .SUNW_version
     index  version                     dependency
       [1]  libgcc_s.so.1                                    [ BASE ]
       [2]  GCC_3.0
       [3]  GCC_3.3                     GCC_3.0
       [4]  GCC_3.3.1                   GCC_3.3
       [5]  GCC_3.4                     GCC_3.3.1
       [6]  GCC_3.4.2                   GCC_3.4
       [7]  GCC_3.4.4                   GCC_3.4.2
       [8]  GCC_4.0.0                   GCC_3.4.4
       [9]  GCC_4.2.0                   GCC_4.0.0
      [10]  GCC_4.3.0                   GCC_4.2.0
      [11]  GCC_4.7.0                   GCC_4.3.0

Version Needed Section:  .SUNW_version
     index  file                        version
      [12]  libc.so.1                   SUNW_1.1
      [13]                              SUNW_0.9             [ INFO ]
      [14]                              SUNW_0.7             [ INFO ]
mimas$

Any hints at all ?  Should I even care in the least degree ?


Dennis



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux