On Sat, Dec 08, 2018 at 02:08:20AM +0200, Konstantin Belousov wrote: > On Fri, Dec 07, 2018 at 03:52:33PM -0800, Steve Kargl wrote: > > On Fri, Dec 07, 2018 at 03:30:19PM -0800, Steve Kargl wrote: > > > On Fri, Dec 07, 2018 at 03:06:22PM -0800, Steve Kargl wrote: > > > > > > > > make core dumps. > > > > devd core dumps. > > > > init core dumps. > > > > cc core dumps. > > > > c++ core dumps. > > > > > > > > Something seems to be broken. > > > > > > > > > > Further investigation, > > > as core dumps. > > > cpp core dumps. > > > /rescue/vi core dumps. > > > > > > All of these programs are statically linked. Note, ar and ranlib > > > have static linkage, and appear to still work but these were not > > > replaced by the failing 'make installworld'. > > > > > > Ah, so if I go into /usr/obj/usr/src/amd64.amd64/ar, this ar > > > is static and not stripped and works! But, if I do > > > > > > cp ar ar.new > > > strip ar > > > ./ar > > > > > > This ar core dumps. So, stripping static binaries seems to > > > break the binary. > > > > > > > Yep, definitely, a problem with stripping static binaries. > > > > I copied both init and devd from /usr/obj to /sbin without > > stripping the binaries. System rebooted as expected. > > Most likely this is an issue fixed by r339350. My tree is at r341703. The last paragraph of the commit message for r339350 is Just remove filter_reloc. This fixes certain cases including statically linked binaries containing ifuncs. Stripping binaries with relocations referencing removed symbols was already broken, and after this change may still be broken in a different way. So, I guess I'm hitting the "broken in a different way". The gdb82 backtrace ends up in jemalloc. I do build world with MALLOC_PRODUCTION="YES". Perhaps, ifuncs+jemalloc aren't at production level. I have few more broken static binaries that I need to replace before I can rebuild without MALLOC_PRODUCTION. -- SteveReceived on Fri Dec 07 2018 - 23:25:41 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC