svn commit: r297974 - in head/sys: i386/i386 i386/ibcs2 x86/x86

Peter Wemm peter at wemm.org
Fri Apr 15 06:12:18 UTC 2016


On Thursday, April 14, 2016 12:14:13 PM Pedro Giffuni wrote:
> On 04/14/16 12:04, Pedro F. Giffuni wrote:
> > Author: pfg
> > Date: Thu Apr 14 17:04:06 2016
> > New Revision: 297974
> > URL: https://svnweb.freebsd.org/changeset/base/297974
> > 
> > Log:
> >    x86: for pointers replace 0 with NULL.
> >    
> >    These are mostly cosmetical, no functional change.
> >    
> >    Found with devel/coccinelle.
> > 
> > Modified:
> >    head/sys/i386/i386/db_disasm.c
> >    head/sys/i386/i386/pmap.c
> >    head/sys/i386/ibcs2/imgact_coff.c
> >    head/sys/x86/x86/nexus.c
> 
> ...
> 
> > Modified: head/sys/i386/i386/pmap.c
> > ==========================================================================
> > ==== --- head/sys/i386/i386/pmap.c	Thu Apr 14 16:32:27 2016	
(r297973)
> > +++ head/sys/i386/i386/pmap.c	Thu Apr 14 17:04:06 2016	(r297974)
> > @@ -269,15 +269,15 @@ pt_entry_t *CMAP3;
> > 
> >   static pd_entry_t *KPTD;
> >   caddr_t ptvmmap = 0;
> >   caddr_t CADDR3;
> > 
> > -struct msgbuf *msgbufp = 0;
> > +struct msgbuf *msgbufp = NULL;
> > 
> >   /*
> >   
> >    * Crashdump maps.
> >    */
> >   
> >   static caddr_t crashdumpmap;
> > 
> > -static pt_entry_t *PMAP1 = 0, *PMAP2;
> > -static pt_entry_t *PADDR1 = 0, *PADDR2;
> > +static pt_entry_t *PMAP1 = NULL, *PMAP2;
> > +static pt_entry_t *PADDR1 = NULL, *PADDR2;
> > 
> >   #ifdef SMP
> >   static int PMAP1cpu;
> >   static int PMAP1changedcpu;
> 
> Hmm .. being static, there is no need to initialize these.

Several eons ago, at least some of these were initialized to force them into 
the data section so that they had known or safe values before the bss zero 
pass.  I don't know if that was ever an issue on freebsd, or just the upstream 
code.  You'd have to look well back into ancient 2.0 or earlier vintage code.  

I have a vague memory that our early a.out kernel had to zero its own bss 
because the early a.out boot blocks didn't, and these variables would have 
been caught in the crossfire.  Or something..

In any case, I'd be surprised if the compiler didn't put them in the bss 
section these days anyway.  At least without cc -ffreestanding, anyway.

-- 
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com; KI6FJV
UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20160414/68211687/attachment.sig>


More information about the svn-src-head mailing list