<br /><br /><span>Am 09.03.21 09:38 schrieb <b class="name">"Joshua M. Clulow" </b> <josh@sysmgr.org>:</span><blockquote cite="mid:CAEwA5n+HeCkc_1g78E6WTcXSM8qveRx_FJO6=o-E6HAEpt88Cw@mail.gmail.com" class="iwcQuote" style="border-left: 1px solid #00F; padding-left: 13px; margin-left: 0;" type="cite"><div class="mimetype-text-plain">On Tue, 9 Mar 2021 at 00:35, Carsten Grzemba via oi-dev<br /><oi-dev@openindiana.org> wrote:<br />> I attempt to build newer Firefox for OI, but my results alwas run in core dumps early on start or later on exit. One of them is demonstrated here.<br />> Our current userland toolchain use gcc7, but with gcc7 I get an strange memory allocation error of g++, so I switched to gcc10. Here cores 'js' in libicu. libicu is build with gcc7:<br />><br />> here is shown libstdc++ of gcc7 and gcc10 is loaded:<br />> $ pldd core<br />> core 'core' of 2496:    ./js<br />> /lib/amd64/libpthread.so.1<br />> /lib/amd64/libsocket.so.1<br />> /usr/lib/amd64/libffi.so.6.0.4<br />> /usr/lib/amd64/libicui18n.so.66.1<br />> /usr/lib/amd64/libicuuc.so.66.1<br />> /usr/lib/amd64/libicudata.so.66.1<br />> /usr/lib/mps/amd64/libplds4.so<br />> /usr/lib/mps/amd64/libplc4.so<br />> /usr/lib/mps/amd64/libnspr4.so<br />> /lib/amd64/libdl.so.1<br />> /lib/amd64/librt.so.1<br />> /usr/lib/amd64/libz.so.1.2.11<br />> /lib/amd64/libm.so.2<br />> /lib/amd64/libnsl.so.1<br />> /usr/gcc/10/lib/amd64/libstdc++.so.6.0.28<br />> /usr/gcc/10/lib/amd64/libgcc_s.so.1<br />> /lib/amd64/libc.so.1<br />> /usr/gcc/7/lib/amd64/libstdc++.so.6.0.24<br />> /usr/gcc/7/lib/amd64/libgcc_s.so.1<br />><br />> if I modify the rpath to load the gcc7 libs:<br />> $ elfedit -e 'dyn:value -s RPATH "$ORIGIN:/usr/lib/mps/amd64:/usr/gcc/7/lib/amd64"' js<br />> the 'js' binary runs without core and an 'pldd' shows the libs of gcc7 only are loaded.<br /><br />What was the RPATH/RUNPATH value before you modified it?</div></blockquote><span>     [20]  RPATH             0x19c635            /usr/gcc/10/lib/amd64:$ORIGIN<br /><br />I had to add the /usr/lib/mps/amd64 path anyway<br /></span><blockquote cite="mid:CAEwA5n+HeCkc_1g78E6WTcXSM8qveRx_FJO6=o-E6HAEpt88Cw@mail.gmail.com" class="iwcQuote" style="border-left: 1px solid #00F; padding-left: 13px; margin-left: 0;" type="cite"><div class="mimetype-text-plain"><br /><br />It might help to use "ldd -v" on the actual binary (rather than the<br />core) to see more details about why the runtime link editor decided to<br />load each copy of libstdc++...</div></blockquote><span>because I have js modified already, here of xpcshell, the unmodified rpath<br /><br />      [27]  RUNPATH           0x6327              /usr/gcc/10/lib/amd64:$ORIGIN<br />      [28]  RPATH             0x6327              /usr/gcc/10/lib/amd64:$ORIGIN<br /> <br />$ ldd -v xpcshell<br />..8<..<br />   find object=libstdc++.so.6; required by xpcshell<br />        libstdc++.so.6 =>        /usr/gcc/10/lib/amd64/libstdc++.so.6<br />   find version=libstdc++.so.6<br />        libstdc++.so.6 (GLIBCXX_3.4.21) =>       /usr/gcc/10/lib/amd64/libstdc++.so.6<br />        libstdc++.so.6 (CXXABI_1.3) =>   /usr/gcc/10/lib/amd64/libstdc++.so.6<br /></span><br /><span><span>..8<..<br /></span>   find object=libstdc++.so.6; required by /ws/grzemba/oi-userland/components/web/firefox/build/amd64/dist/bin/libxul.so<br />   find version=libstdc++.so.6<br />        libstdc++.so.6 (GLIBCXX_3.4.26) =>       /usr/gcc/10/lib/amd64/libstdc++.so.6<br />        libstdc++.so.6 (CXXABI_1.3.5) =>         /usr/gcc/10/lib/amd64/libstdc++.so.6<br /></span><br /><span><span>..8<..<br /></span>   find object=libstdc++.so.6; required by /usr/lib/64/libicui18n.so.66<br />        libstdc++.so.6 =>        /usr/gcc/7/lib/amd64/libstdc++.so.6<br />   find version=libstdc++.so.6<br />        libstdc++.so.6 (GLIBCXX_3.4) =>  /usr/gcc/7/lib/amd64/libstdc++.so.6<br />        libstdc++.so.6 (CXXABI_1.3.9) =>         /usr/gcc/7/lib/amd64/libstdc++.so.6<br /></span><br /><span><span>..8<..<br /></span>   find object=libstdc++.so.6; required by /usr/lib/64/libicuuc.so.66<br />   find version=libstdc++.so.6<br />        libstdc++.so.6 (GLIBCXX_3.4.11) =>       /usr/gcc/7/lib/amd64/libstdc++.so.6<br />        libstdc++.so.6 (CXXABI_1.3.9) =>         /usr/gcc/7/lib/amd64/libstdc++.so.6<br /></span><span><span>..8<..<br /></span><br />It seems so far </span><span><span> correct </span>but it do not works so.<br /><br />$ pstack core | c++filt <br />core 'core' of 6259:    ./xpcshell<br />--------------------- thread# 1 / lwp# 1 ---------------------<br /> 0000000000000000 ???????? ()<br /> fffffbffedab1408 icu_66::umtx_initImplPreInit(icu_66::UInitOnce&) () + 78<br /> fffffbffedab195c u_init_66 () + 4c<br /> fffffbffe5f7a27c JS::detail::InitWithFailureDiagnostic(bool) () + 116<br /> fffffbffe31d5578 NS_InitXPCOM () + 6c1<br /> fffffbffe385cf79 XRE_XPCShellMain(int, char**, char**, XREShellData const*) () + 14dc<br /> fffffbffe5db9de8 mozilla::BootstrapImpl::XRE_XPCShellMain(int, char**, char**, XREShellData const*) () + 14<br /> 0000000000411f08 main () + 76<br /> 0000000000411dd7 _start_crt () + 87<br /> 0000000000411d38 _start () + 18<br /><br /></span><blockquote cite="mid:CAEwA5n+HeCkc_1g78E6WTcXSM8qveRx_FJO6=o-E6HAEpt88Cw@mail.gmail.com" class="iwcQuote" style="border-left: 1px solid #00F; padding-left: 13px; margin-left: 0;" type="cite"><div class="mimetype-text-plain"><br /><br />-- <br />Joshua M. Clulow<br /><a href="http://blog.sysmgr.org" target="l">http://blog.sysmgr.org</a><br /></div></blockquote>-- <br signature="separator" />Carsten