HEADSUP: Something has gone south with -current

Konstantin Belousov kostikbel at gmail.com
Sat Dec 8 00:43:30 UTC 2018


On Fri, Dec 07, 2018 at 04:25:39PM -0800, Steve Kargl wrote:
> 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
Which tree ?  The strip that is used by install should be past this
revision.

> 
>   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


More information about the freebsd-hackers mailing list