[OpenIndiana-discuss] GCC 5.4 added to the repository

Thomas Wagner tom-oi-discuss at tom.bn-ulm.de
Tue Sep 6 17:53:10 UTC 2016


Thank you Alex!

Looks good for libgcc_s.so and libstdc++.so.6
Only it makes me wonder, why the elfdump output for none of the
other (non-gcc-runtime-)libs prints "[ LAZY ]" the line right
before the lib.

Interesting is, that even 4.9 has none of the libs with "[ LAZY ]".

As having "lazy load" for libs is there to improve startup latency
for binaries/libs, I would like to ask if someone might find an 
example with actually printing "[ LAZY ]".
This can be a completely different binary/project but compiled
with enther the g++ 4.9 or the new g++ 5 version. It should print
"[ LAZY ]" for at least one library. Then I would be completely
happy.

Best Regards,
Thomas


On Tue, Sep 06, 2016 at 05:13:10PM +0300, Alexander Pyhalov wrote:
>  On 09/ 6/16 04:57 PM, Thomas Wagner wrote:
[...]
> >
> > ...
> >   [2] somelib.so
> >   [3] [ LAZY ]          <- delayed load/binding, libc.so can bind funcs 
> > earlier then libgcc_s.so
> >   [4] libgcc_s.so
> > ...
> >   [5] someotherlib.so
> >   [6] [ LAZY ]          <- delayed load/binding, libc.so can bind funcs 
> > earlier then libstdc++.so
> >   [7] libstdc++.so
> >
> 
>  Hi.
> 
>  For g++ 5:
> 
>  Dynamic Section:  .dynamic
>       index  tag                value
>         [0]  NEEDED            0x2ad               libstdc++.so.6
>         [1]  NEEDED            0x2ee               libm.so.2
>         [2]  NEEDED            0x2f8               librt.so.1
>         [3]  NEEDED            0x303               libgcc_s.so.1
>         [4]  NEEDED            0x2c8               libc.so.1
>         [5]  INIT              0x8051030
>         [6]  FINI              0x8051050
>         [7]  RUNPATH           0x311               /usr/gcc/5/lib
>         [8]  RPATH             0x311               /usr/gcc/5/lib
>         [9]  HASH              0x80501c0
>        [10]  STRTAB            0x8050630
>        [11]  STRSZ             0x520
>        [12]  SYMTAB            0x8050420
>        [13]  SYMENT            0x10
>        [14]  SUNW_SYMTAB       0x80502e0
>        [15]  SUNW_SYMSZ        0x350
>        [16]  SUNW_SORTENT      0x4
>        [17]  SUNW_SYMSORT      0x8050be4
>        [18]  SUNW_SYMSORTSZ    0x50
>        [19]  CHECKSUM          0x5bf6
>        [20]  VERNEED           0x8050b50
>        [21]  VERNEEDNUM        0x2
>        [22]  FINI_ARRAY        0x8061318
>        [23]  FINI_ARRAYSZ      0x8
>        [24]  INIT_ARRAY        0x8061320
>        [25]  INIT_ARRAYSZ      0x8
>        [26]  PLTRELSZ          0x40
>        [27]  PLTREL            0x11
>        [28]  JMPREL            0x8050c64
>        [29]  REL               0x8050c34
>        [30]  RELSZ             0x70
>        [31]  RELENT            0x8
>        [32]  SYMINFO           0x805013c
>        [33]  SYMINSZ           0x84
>        [34]  SYMINENT          0x4
>        [35]  DEBUG             0
>        [36]  FLAGS             0                   0
>        [37]  FLAGS_1           0                   0
>        [38]  SUNW_STRPAD       0x200
>        [39]  SUNW_LDMACH       0x3e                EM_AMD64
>        [40]  PLTGOT            0x8061078
>     [41-51]  NULL              0
> 
> 
>  For g++ 4.9:
>  Dynamic Section:  .dynamic
>       index  tag                value
>         [0]  NEEDED            0x2c3               libstdc++.so.6
>         [1]  NEEDED            0x304               libm.so.2
>         [2]  NEEDED            0x30e               librt.so.1
>         [3]  NEEDED            0x319               libgcc_s.so.1
>         [4]  NEEDED            0x2de               libc.so.1
>         [5]  INIT              0x80510c0
>         [6]  FINI              0x80510f0
>         [7]  HASH              0x80501c0
>         [8]  STRTAB            0x8050640
>         [9]  STRSZ             0x527
>        [10]  SYMTAB            0x8050430
>        [11]  SYMENT            0x10
>        [12]  SUNW_SYMTAB       0x80502e0
>        [13]  SUNW_SYMSZ        0x360
>        [14]  SUNW_SORTENT      0x4
>        [15]  SUNW_SYMSORT      0x8050bfc
>        [16]  SUNW_SYMSORTSZ    0x50
>        [17]  CHECKSUM          0xaddb
>        [18]  VERNEED           0x8050b68
>        [19]  VERNEEDNUM        0x2
>        [20]  PLTRELSZ          0x40
>        [21]  PLTREL            0x11
>        [22]  JMPREL            0x8050c7c
>        [23]  REL               0x8050c4c
>        [24]  RELSZ             0x70
>        [25]  RELENT            0x8
>        [26]  SYMINFO           0x805013c
>        [27]  SYMINSZ           0x84
>        [28]  SYMINENT          0x4
>        [29]  DEBUG             0
>        [30]  FLAGS             0                   0
>        [31]  FLAGS_1           0                   0
>        [32]  SUNW_STRPAD       0x200
>        [33]  SUNW_LDMACH       0x3e                EM_AMD64
>        [34]  PLTGOT            0x806111c
>     [35-45]  NULL              0
> 
>  I don't see any specific patch for -zinterpose...
> 
> 
>  -- 
>  Best regards,
>  Alexander Pyhalov,
>  system administrator of Southern Federal University IT department
> 
>  _______________________________________________
>  openindiana-discuss mailing list
>  openindiana-discuss at openindiana.org
>  https://openindiana.org/mailman/listinfo/openindiana-discuss
> 

-- 
-- 
Thomas Wagner

------------------------------------------------------------------------
Service rund um UNIX(TM),     Wagner Network Services, Thomas Wagner
Solaris(TM), Linux(TM)        Eschenweg 21, 89174 Altheim, Germany
Novell(TM), Windows(TM)       TEL: +49-731-9807799, FAX: +49-731-9807711
Telekommunikation, LAN,       MOBILE/CELL: +49-171-6135989
Internet-Service, Elektronik  EMAIL: wagner at wagner-net.com



More information about the openindiana-discuss mailing list