[csw-users] 64bit g++ 4.7.2 exception handling ...

James Lee james at opencsw.org
Thu Mar 21 11:42:24 CET 2013


On 21/03/2013 10:32, Dmitri Shubin wrote:
>
> $ elfdump -d /opt/gcc-4.8/lib/amd64/libstdc++.so
>
> Dynamic Section:  .dynamic
>      index  tag                value
>        [0]  NEEDED            0x26d9f             libm.so.2
>        [1]  NEEDED            0x26dbb             libc.so.1
>        [2]  NEEDED            0x26dfb             libgcc_s.so.1
>        [3]  INIT              0xd2b40
>        [4]  FINI              0xd2b50
>        [5]  SONAME            0x26d90             libstdc++.so.6
>        [6]  HASH              0x1e0a0
>        [7]  STRTAB            0x3b9d0
>        [8]  STRSZ             0x27023
>        [9]  SYMTAB            0x25710
>       [10]  SYMENT            0x18
>       [11]  CHECKSUM          0xf96f
>       [12]  VERDEF            0x62ad8
>       [13]  VERDEFNUM         0x1d
>       [14]  VERNEED           0x629f8
>       [15]  VERNEEDNUM        0x3
>       [16]  RELACOUNT         0x230
>       [17]  PLTRELSZ          0x3d68
>       [18]  PLTREL            0x7
>       [19]  JMPREL            0x74830
>       [20]  RELA              0x64c60
>       [21]  RELASZ            0x13938
>       [22]  RELAENT           0x18
>       [23]  FLAGS             0                   0
>       [24]  FLAGS_1           0                   0
>       [25]  SUNW_STRPAD       0x200
>       [26]  SUNW_LDMACH       0x3e                EM_AMD64
>       [27]  PLTGOT            0x10b710
>    [28-38]  NULL              0
>
> I.e. no LAZY for libm.so.1 and libgcc_s.so.1 and no RPATH/RUNPATH set.

On my self build 4.7.2 I do:

$ elfdump -d /opt/XXXX/lib/amd64/libstdc++.so

Dynamic Section:  .dynamic
      index  tag                value
        [0]  POSFLAG_1         0x1                 [ LAZY ]
        [1]  NEEDED            0x26bb7             libm.so.2
        [2]  NEEDED            0x26bca             libc.so.1
        [3]  POSFLAG_1         0x1                 [ LAZY ]
        [4]  NEEDED            0x26c13             libgcc_s.so.1
        [5]  INIT              0xdd600
        [6]  FINI              0xdd610
        [7]  SONAME            0x26ba8             libstdc++.so.6
        [8]  RUNPATH           0x26c3b             /opt/XXXX/$ISALIST
        [9]  RPATH             0x26c3b             /opt/XXXX/$ISALIST
       [10]  HASH              0x21170
       [11]  STRTAB            0x3e878
       [12]  STRSZ             0x26e4e
       [13]  SYMTAB            0x28738
       [14]  SYMENT            0x18
       [15]  CHECKSUM          0x2251
       [16]  VERDEF            0x65798
       [17]  VERDEFNUM         0x1b
       [18]  VERNEED           0x656c8
       [19]  VERNEEDNUM        0x3
       [20]  RELACOUNT         0x23c
       [21]  PLTRELSZ          0x4038
       [22]  PLTREL            0x7
       [23]  JMPREL            0x77578
       [24]  RELA              0x678b8
       [25]  RELASZ            0x13cf8
       [26]  RELAENT           0x18
       [27]  SYMINFO           0x1d690
       [28]  SYMINSZ           0x3ae0
       [29]  SYMINENT          0x4
       [30]  FLAGS             0                   0
       [31]  FLAGS_1           0                   0
       [32]  SUNW_STRPAD       0x200
       [33]  SUNW_LDMACH       0x3e                EM_AMD64
       [34]  PLTGOT            0x118c70
    [35-45]  NULL              0


...but of course that runpath is invalid.



James.





More information about the users mailing list