Skip site navigation (1)Skip section navigation (2)
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>