Date: Fri, 7 Dec 2018 16:25:39 -0800 From: Steve Kargl <sgk@troutmask.apl.washington.edu> To: Konstantin Belousov <kostikbel@gmail.com> Cc: freebsd-current@freebsd.org, freebsd-hackers@freebsd.org Subject: Re: HEADSUP: Something has gone south with -current Message-ID: <20181208002539.GC23410@troutmask.apl.washington.edu> In-Reply-To: <20181208000820.GM52540@kib.kiev.ua> References: <20181207230622.GA22163@troutmask.apl.washington.edu> <20181207233019.GA22981@troutmask.apl.washington.edu> <20181207235233.GA23410@troutmask.apl.washington.edu> <20181208000820.GM52540@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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. -- Steve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181208002539.GC23410>