Re: [oi-dev] [OpenIndiana-discuss] GCC 5.4 added to the repository

2016-09-06 Thread Alexander Pyhalov



Thomas Wagner писал 06.09.2016 20:53:

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



Looking at some real applications look different (g++ 4.9):

$ elfdump -d  /usr/bin/mate-system-monitor

Dynamic Section:  .dynamic
 index  tagvalue
   [0]  POSFLAG_1 0x1 [ LAZY ]
   [1]  NEEDED0x2b7fa libgmodule-2.0.so.0
   [2]  POSFLAG_1 0x1 [ LAZY ]
   [3]  NEEDED0x2b6f5 libpthread.so.1
   [4]  POSFLAG_1 0x1 [ LAZY ]
   [5]  NEEDED0x2b80e libgtop-2.0.so.7
   [6]  POSFLAG_1 0x1 [ LAZY ]
   [7]  NEEDED0x2b81f libwnck-3.so.0
   [8]  POSFLAG_1 0x1 [ LAZY ]
   [9]  NEEDED0x2b82e libgtkmm-3.0.so.1
  [10]  POSFLAG_1 0x1 [ LAZY ]
  [11]  NEEDED0x2b840 libgdkmm-3.0.so.1
  [12]  POSFLAG_1 0x1 [ LAZY ]
  [13]  NEEDED0x2b852 libgtk-3.so.0
  [14]  POSFLAG_1 0x1 [ LAZY ]
  [15]  NEEDED0x2b860 libgdk-3.so.0
  [16]  POSFLAG_1 0x1 [ LAZY ]
  [17]  NEEDED0x2b86e libpangocairo-1.0.so.0
  [18]  POSFLAG_1 0x1 [ LAZY ]
  [19]  NEEDED0x2b885 libpango-1.0.so.0
  [20]  POSFLAG_1 0x1 [ LAZY ]
  [21]  NEEDED0x2b70e libxml2.so.2
  [22]  POSFLAG_1 0x1 [ LAZY ]
  [23]  NEEDED0x2b897 librsvg-2.so.2
  [24]  POSFLAG_1 0x1 [ LAZY ]
  [25]  NEEDED0x2b8a6 libgdk_pixbuf-2.0.so.0
  [26]  POSFLAG_1 0x1 [ LAZY ]
  [27]  NEEDED0x2b8bd libcairo.so.2
  [28]  POSFLAG_1 0x1 [ LAZY ]
  [29]  NEEDED0x2b8cb libgiomm-2.4.so.1
  [30]  POSFLAG_1 0x1 [ LAZY ]
  [31]  NEEDED0x2b8dd libgio-2.0.so.0
  [32]  POSFLAG_1 0x1 [ LAZY ]
  [33]  NEEDED0x2b8ed libglibmm-2.4.so.1
  [34]  POSFLAG_1 0x1 [ LAZY ]
  [35]  NEEDED0x2b900 libgobject-2.0.so.0
  [36]  POSFLAG_1 0x1 [ LAZY ]
  [37]  NEEDED0x2b914 libglib-2.0.so.0
  [38]  POSFLAG_1 0x1 [ LAZY ]
  [39]  NEEDED0x2b925 libsigc-2.0.so.0
  [40]  POSFLAG_1 0x1 [ LAZY ]
  [41]  NEEDED0x2b724 libsocket.so.1
  [42]  POSFLAG_1 0x1 [ LAZY ]
  [43]  NEEDED0x2b74e libstdc++.so.6
  [44]  POSFLAG_1 0x1 [ LAZY ]
  [45]  NEEDED0x2b7a1 libm.so.2
  [46]  POSFLAG_1 0x1 [ LAZY ]
  [47]  NEEDED0x2b7b4 libgcc_s.so.1
  [48]  NEEDED0x2b7ca libc.so.1
  [49]  INIT  0x80cc5b0
  [50]  FINI  0x80cc5e0
  [51]  HASH  0x80566c4
  [52]  STRTAB0x8068050
  [53]  STRSZ 0x2bb36
  [54]  SYMTAB0x805d2d0
  [55]  SYMENT0x10
  [56]  SUNW_SYMTAB   0x805bd90
  [57]  SUNW_SYMSZ0xc2c0
  [58]  SUNW_SORTENT  0x4
  [59]  SUNW_SYMSORT  0x80952d8
  [60]  SUNW_SYMSORTSZ0x2504
  [61]  CHECKSUM  0x83e4
  [62]  VERNEED   0x8093b88
  [63]  VERNEEDNUM0x7
  [64]  PLTRELSZ  0x15b0
  [65]  PLTREL0x11
  [66]  JMPREL0x8097844
  [67]  REL   0x80977dc
  [68]  RELSZ 0x1618
  [69]  RELENT0x8
  [70]  SYMINFO   0x8053b64
  [71]  SYMINSZ   0x2b60
  [72]  SYMINENT  0x4
  [73]  DEBUG 0
  [74]  FLAGS 0   0
  [75]  FLAGS_1   0x100  

[oi-dev] Netboot on OpenIndiana

2016-09-06 Thread Till Wegmüller

Hello fellow Community

So i have been working with netboot today and would like to give you a 
rundown of what works/what not and would like to ask you how you see 
this project going forward.


So the basic idea was that Users new to OI could use the service 
netboot.xyz to easily launch the installer of OI and Install.


However it turns out that the boot_archive included in the Hipster Isos 
is not usable for netboot.


While investigating the boot process it also turns out that someone 
built many safeguards into the SMF Install scripts that would need to be 
changed.


Due to the fact that distro constructor takes 2+ hours to build an iso 
on every change and my need for some experimentation, I built some 
scripts based on alhazred's Firefly Recovery Image, Jimklimov's make 
firefly from root and Peter Tribbles minimal viable Illumos.


you can find the code here: https://github.com/Toasterson/firefly

The Script's are capable of making a boot_archive from your System. and 
a Bootable ISO from a boot_archive.


The mkfirefly.sh script has an -i switch where you can choose a root 
directory from where to take the files.


I tried this with a properly mounted Hipster ISO but that produces a 
unbootable Image.


Given the restrictions of the Installation process I will probably have 
to change some bits in that process in order to make netboot work. I yet 
don't know which.


Thus i would like to ask for some feedback from the Community.

I would like to know what you think about the scripts. How could I 
improve them? What would you use them for? Does that need some change to 
the script(e.g additional commandline option)?


I would also like to know what about the Installation Process would you 
like to see changed and how?


What's your opinion about AI (Automated Installer)?
Would you rather like Jumpstart as installer automation solution?


Looking forward for your feedback
Greetings
Till

___
oi-dev mailing list
oi-dev@openindiana.org
https://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] [OpenIndiana-discuss] GCC 5.4 added to the repository

2016-09-06 Thread Alexander Pyhalov

On 09/ 6/16 04:57 PM, Thomas Wagner wrote:

Hi Aurelien,

it would be very cool if someone could send me / the list the output
of "elfdump -d" on a compiled binary with C++ code. If that is not
available, then regular C-code is okay too. e.g. gcc -o hello hello.c
I have no test system at hand (have only older hipster on disk).

What I would appreciated to see would be a configuration that has
"[ LAZY ]"-load removed (only) for gcc runtime libs.

Excample "good":

...
  [2] somelib.so
  [3] libgcc_s.so
...
  [5] someotherlib.so
  [6] libstdc++.so


Excample "bad":

...
  [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  tagvalue
   [0]  NEEDED0x2ad   libstdc++.so.6
   [1]  NEEDED0x2ee   libm.so.2
   [2]  NEEDED0x2f8   librt.so.1
   [3]  NEEDED0x303   libgcc_s.so.1
   [4]  NEEDED0x2c8   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]  STRTAB0x8050630
  [11]  STRSZ 0x520
  [12]  SYMTAB0x8050420
  [13]  SYMENT0x10
  [14]  SUNW_SYMTAB   0x80502e0
  [15]  SUNW_SYMSZ0x350
  [16]  SUNW_SORTENT  0x4
  [17]  SUNW_SYMSORT  0x8050be4
  [18]  SUNW_SYMSORTSZ0x50
  [19]  CHECKSUM  0x5bf6
  [20]  VERNEED   0x8050b50
  [21]  VERNEEDNUM0x2
  [22]  FINI_ARRAY0x8061318
  [23]  FINI_ARRAYSZ  0x8
  [24]  INIT_ARRAY0x8061320
  [25]  INIT_ARRAYSZ  0x8
  [26]  PLTRELSZ  0x40
  [27]  PLTREL0x11
  [28]  JMPREL0x8050c64
  [29]  REL   0x8050c34
  [30]  RELSZ 0x70
  [31]  RELENT0x8
  [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   0x3eEM_AMD64
  [40]  PLTGOT0x8061078
   [41-51]  NULL  0


For g++ 4.9:
Dynamic Section:  .dynamic
 index  tagvalue
   [0]  NEEDED0x2c3   libstdc++.so.6
   [1]  NEEDED0x304   libm.so.2
   [2]  NEEDED0x30e   librt.so.1
   [3]  NEEDED0x319   libgcc_s.so.1
   [4]  NEEDED0x2de   libc.so.1
   [5]  INIT  0x80510c0
   [6]  FINI  0x80510f0
   [7]  HASH  0x80501c0
   [8]  STRTAB0x8050640
   [9]  STRSZ 0x527
  [10]  SYMTAB0x8050430
  [11]  SYMENT0x10
  [12]  SUNW_SYMTAB   0x80502e0
  [13]  SUNW_SYMSZ0x360
  [14]  SUNW_SORTENT  0x4
  [15]  SUNW_SYMSORT  0x8050bfc
  [16]  SUNW_SYMSORTSZ0x50
  [17]  CHECKSUM  0xaddb
  [18]  VERNEED   0x8050b68
  [19]  VERNEEDNUM0x2
  [20]  PLTRELSZ  0x40
  [21]  PLTREL0x11
  [22]  JMPREL0x8050c7c
  [23]  REL   0x8050c4c
  [24]  RELSZ 0x70
  [25]  RELENT0x8
  [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   0x3eEM_AMD64
  [34]  PLTGOT0x806111c
   [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

___
oi-dev mailing list
oi-dev@openindiana.org
https://openindiana.org/mailman/listinfo/oi-dev


[oi-dev] GCC 5.4 added to the repository

2016-09-06 Thread Aurélien Larcher
Hello,
I wrote a short post about it:

https://www.openindiana.org/2016/09/06/gcc-5-4-now-available-as-testing-compiler/

Thanks go to Rich Lowe for his fixes to the linker and to Alexander
for patches and thorough testing.

Please comment if you think about additional information which should
be provided.
Best regards,

Aurelien

-- 
---
Praise the Caffeine embeddings

___
oi-dev mailing list
oi-dev@openindiana.org
https://openindiana.org/mailman/listinfo/oi-dev