On Fri, Apr 29, 2016 at 04:43:56PM +1000, David Gwynne wrote:
> 
> > On 28 Apr 2016, at 22:49, Mark Kettenis <[email protected]> wrote:
> > 
> >> Date: Thu, 28 Apr 2016 13:50:53 +0200
> >> From: Martin Pieuchot <[email protected]>
> >> 
> >> The reason why we do not use 'static' in the kernel is no longer valid
> >> since all our platforms are ELF.  ddb(4) handle them just fine.
> >> 
> >> Here's an example after setting 'static' in the uhci(4) driver:
> >> 
> >>    $ nm /bsd |grep uhci_poll_hub
> >>    ffffffff81107080 t uhci_poll_hub
> >>    
> >>    $ nm /obsd |grep uhci_poll_hub
> >>    ffffffff81107080 T uhci_poll_hub
> >> 
> >> Diff below convert and unify all the Makefile.$arch to no longer remove
> >> local symbols.
> >> 
> >> ok?
> > 
> > In principle this diff is fine.  I don't expect the symbol tables to
> > grow too much by this.
> > 
> > However, using static in the kernel is still bad.  The compiler will
> > optimize away static functions, and when that happens they won't show
> > up in the backtraces.
> 
> can we throw in -fno-inline to prevent that? or do we not trust gcc?

No, that will break cases where we opt in to inlines with the inline
keyword.

> 
> 
> >> Index: arch/alpha/conf/Makefile.alpha
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/alpha/conf/Makefile.alpha,v
> >> retrieving revision 1.87
> >> diff -u -p -r1.87 Makefile.alpha
> >> --- arch/alpha/conf/Makefile.alpha 13 Jan 2015 01:12:48 -0000      1.87
> >> +++ arch/alpha/conf/Makefile.alpha 28 Apr 2016 11:39:15 -0000
> >> @@ -77,14 +77,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/amd64/conf/Makefile.amd64
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/amd64/conf/Makefile.amd64,v
> >> retrieving revision 1.66
> >> diff -u -p -r1.66 Makefile.amd64
> >> --- arch/amd64/conf/Makefile.amd64 13 Nov 2015 07:52:20 -0000      1.66
> >> +++ arch/amd64/conf/Makefile.amd64 28 Apr 2016 09:39:39 -0000
> >> @@ -81,13 +81,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/armish/conf/Makefile.armish
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/armish/conf/Makefile.armish,v
> >> retrieving revision 1.51
> >> diff -u -p -r1.51 Makefile.armish
> >> --- arch/armish/conf/Makefile.armish       13 Jan 2015 01:12:49 -0000      
> >> 1.51
> >> +++ arch/armish/conf/Makefile.armish       28 Apr 2016 09:39:24 -0000
> >> @@ -85,14 +85,13 @@ SYSTEM_LD_TAIL+=; \
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/armv7/conf/Makefile.armv7
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/armv7/conf/Makefile.armv7,v
> >> retrieving revision 1.12
> >> diff -u -p -r1.12 Makefile.armv7
> >> --- arch/armv7/conf/Makefile.armv7 8 Jun 2015 06:33:16 -0000       1.12
> >> +++ arch/armv7/conf/Makefile.armv7 28 Apr 2016 11:39:32 -0000
> >> @@ -82,14 +82,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/hppa/conf/Makefile.hppa
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/hppa/conf/Makefile.hppa,v
> >> retrieving revision 1.80
> >> diff -u -p -r1.80 Makefile.hppa
> >> --- arch/hppa/conf/Makefile.hppa   13 Jan 2015 01:12:49 -0000      1.80
> >> +++ arch/hppa/conf/Makefile.hppa   28 Apr 2016 11:39:41 -0000
> >> @@ -87,13 +87,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/hppa64/conf/Makefile.hppa64
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/hppa64/conf/Makefile.hppa64,v
> >> retrieving revision 1.52
> >> diff -u -p -r1.52 Makefile.hppa64
> >> --- arch/hppa64/conf/Makefile.hppa64       13 Jan 2015 01:12:49 -0000      
> >> 1.52
> >> +++ arch/hppa64/conf/Makefile.hppa64       28 Apr 2016 11:39:47 -0000
> >> @@ -79,7 +79,7 @@ SYSTEM_LD_TAIL=  @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >> Index: arch/i386/conf/Makefile.i386
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/i386/conf/Makefile.i386,v
> >> retrieving revision 1.93
> >> diff -u -p -r1.93 Makefile.i386
> >> --- arch/i386/conf/Makefile.i386   12 Aug 2015 06:19:25 -0000      1.93
> >> +++ arch/i386/conf/Makefile.i386   28 Apr 2016 11:39:56 -0000
> >> @@ -83,14 +83,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/landisk/conf/Makefile.landisk
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/landisk/conf/Makefile.landisk,v
> >> retrieving revision 1.53
> >> diff -u -p -r1.53 Makefile.landisk
> >> --- arch/landisk/conf/Makefile.landisk     13 Jan 2015 01:12:49 -0000      
> >> 1.53
> >> +++ arch/landisk/conf/Makefile.landisk     28 Apr 2016 11:40:04 -0000
> >> @@ -76,14 +76,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/loongson/conf/Makefile.loongson
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/loongson/conf/Makefile.loongson,v
> >> retrieving revision 1.45
> >> diff -u -p -r1.45 Makefile.loongson
> >> --- arch/loongson/conf/Makefile.loongson   13 Jan 2015 01:12:49 -0000      
> >> 1.45
> >> +++ arch/loongson/conf/Makefile.loongson   28 Apr 2016 11:40:19 -0000
> >> @@ -84,14 +84,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/luna88k/conf/Makefile.luna88k
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/luna88k/conf/Makefile.luna88k,v
> >> retrieving revision 1.59
> >> diff -u -p -r1.59 Makefile.luna88k
> >> --- arch/luna88k/conf/Makefile.luna88k     13 Jan 2015 01:12:49 -0000      
> >> 1.59
> >> +++ arch/luna88k/conf/Makefile.luna88k     28 Apr 2016 11:40:27 -0000
> >> @@ -81,14 +81,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/macppc/conf/Makefile.macppc
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/macppc/conf/Makefile.macppc,v
> >> retrieving revision 1.71
> >> diff -u -p -r1.71 Makefile.macppc
> >> --- arch/macppc/conf/Makefile.macppc       13 Jan 2015 01:12:49 -0000      
> >> 1.71
> >> +++ arch/macppc/conf/Makefile.macppc       28 Apr 2016 11:40:38 -0000
> >> @@ -76,14 +76,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/octeon/conf/Makefile.octeon
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/octeon/conf/Makefile.octeon,v
> >> retrieving revision 1.21
> >> diff -u -p -r1.21 Makefile.octeon
> >> --- arch/octeon/conf/Makefile.octeon       13 Jan 2015 01:12:50 -0000      
> >> 1.21
> >> +++ arch/octeon/conf/Makefile.octeon       28 Apr 2016 11:40:45 -0000
> >> @@ -85,13 +85,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> +LINKFLAGS+=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/sgi/conf/Makefile.sgi
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/sgi/conf/Makefile.sgi,v
> >> retrieving revision 1.69
> >> diff -u -p -r1.69 Makefile.sgi
> >> --- arch/sgi/conf/Makefile.sgi     13 Jan 2015 01:12:50 -0000      1.69
> >> +++ arch/sgi/conf/Makefile.sgi     28 Apr 2016 11:40:52 -0000
> >> @@ -84,14 +84,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/socppc/conf/Makefile.socppc
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/socppc/conf/Makefile.socppc,v
> >> retrieving revision 1.42
> >> diff -u -p -r1.42 Makefile.socppc
> >> --- arch/socppc/conf/Makefile.socppc       13 Jan 2015 01:12:50 -0000      
> >> 1.42
> >> +++ arch/socppc/conf/Makefile.socppc       28 Apr 2016 11:41:00 -0000
> >> @@ -76,14 +76,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/sparc/conf/Makefile.sparc
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/sparc/conf/Makefile.sparc,v
> >> retrieving revision 1.84
> >> diff -u -p -r1.84 Makefile.sparc
> >> --- arch/sparc/conf/Makefile.sparc 13 Jan 2015 01:12:50 -0000      1.84
> >> +++ arch/sparc/conf/Makefile.sparc 28 Apr 2016 11:41:10 -0000
> >> @@ -80,14 +80,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/sparc64/conf/Makefile.sparc64
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/sparc64/conf/Makefile.sparc64,v
> >> retrieving revision 1.72
> >> diff -u -p -r1.72 Makefile.sparc64
> >> --- arch/sparc64/conf/Makefile.sparc64     13 Jan 2015 01:12:50 -0000      
> >> 1.72
> >> +++ arch/sparc64/conf/Makefile.sparc64     28 Apr 2016 11:41:18 -0000
> >> @@ -77,14 +77,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -S -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> >> Index: arch/zaurus/conf/Makefile.zaurus
> >> ===================================================================
> >> RCS file: /cvs/src/sys/arch/zaurus/conf/Makefile.zaurus,v
> >> retrieving revision 1.54
> >> diff -u -p -r1.54 Makefile.zaurus
> >> --- arch/zaurus/conf/Makefile.zaurus       13 Jan 2015 01:12:50 -0000      
> >> 1.54
> >> +++ arch/zaurus/conf/Makefile.zaurus       28 Apr 2016 11:41:31 -0000
> >> @@ -81,14 +81,13 @@ SYSTEM_LD_TAIL=        @${SIZE} $@; chmod 755 $
> >> 
> >> DEBUG?=
> >> .if ${DEBUG} == "-g"
> >> -LINKFLAGS+=       -X
> >> -STRIPFLAGS=       -g -x
> >> +STRIPFLAGS=       -S
> >> SYSTEM_LD_TAIL+=; \
> >>            echo mv $@ [email protected]; rm -f [email protected]; mv $@ [email protected]; \
> >>            echo ${STRIP} ${STRIPFLAGS} -o $@ [email protected]; \
> >>            ${STRIP} ${STRIPFLAGS} -o $@ [email protected]
> >> .else
> >> -LINKFLAGS+=       -x
> >> +LINKFLAGS+=       -S
> >> .endif
> >> 
> >> %LOAD
> 

Reply via email to