Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Mar 2016 19:44:09 -0600
From:      Larry Rosenman <ler@lerctr.org>
To:        Julian Elischer <julian@freebsd.org>
Cc:        Dimitry Andric <dim@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r296428 - head/sys/boot/common
Message-ID:  <20160307014409.GB1299@pita.lerctr.org>
In-Reply-To: <56DCD52F.4010709@freebsd.org>
References:  <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 06, 2016 at 05:11:11PM -0800, Julian Elischer wrote:
> On 6/03/2016 7:57 AM, Dimitry Andric wrote:
> > Author: dim
> > Date: Sun Mar  6 15:57:43 2016
> > New Revision: 296428
> > URL: https://svnweb.freebsd.org/changeset/base/296428
> >
> > Log:
> >    Since kernel modules can now contain sections of type SHT_AMD64_UNWIND,
> >    the boot loader should not skip over these anymore while loading images.
> >    Otherwise the kernel can still panic when it doesn't find the .eh_frame
> >    section belonging to the .rela.eh_frame section.
> >    
> >    Unfortunately this will require installing boot loaders from sys/boot
> >    before attempting to boot with a new kernel.
> 
> what happens to someone who doesn't replace their bootblocks?
> Or is this just the loader?
> 
> The general way we have handled this sort of thing in the past is that 
> we do something
> that produces a nagging message for a decent time before it becomes 
> mandatory.
> 
> I don't like the idea of people being caught unaware by this..
> 
> Can you please give a more detailed description of what happens?


In this case it's the loader.  I just upgraded a second laptop and did NOT replace
the boot block (boot1.efi), but DID populate /boot (and actually a full world), and 
it booted fine,


> 
> >    
> >    Reviewed by:	kib
> >    MFC after:	2 weeks
> >    X-MFC-With:	r296419
> >
> > Modified:
> >    head/sys/boot/common/load_elf_obj.c
> >
> > Modified: head/sys/boot/common/load_elf_obj.c
> > ==============================================================================
> > --- head/sys/boot/common/load_elf_obj.c	Sun Mar  6 14:37:49 2016	(r296427)
> > +++ head/sys/boot/common/load_elf_obj.c	Sun Mar  6 15:57:43 2016	(r296428)
> > @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f
> >   		switch (shdr[i].sh_type) {
> >   		case SHT_PROGBITS:
> >   		case SHT_NOBITS:
> > +#if defined(__i386__) || defined(__amd64__)
> > +		case SHT_AMD64_UNWIND:
> > +#endif
> >   			lastaddr = roundup(lastaddr, shdr[i].sh_addralign);
> >   			shdr[i].sh_addr = (Elf_Addr)lastaddr;
> >   			lastaddr += shdr[i].sh_size;
> >
> >
> 
> _______________________________________________
> svn-src-all@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"

-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 214-642-9640                 E-Mail: ler@lerctr.org
US Mail: 7011 W Parmer Ln, Apt 1115, Austin, TX 78729-6961



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160307014409.GB1299>