[U-Boot] [PATCH 1/8] UBSAN: run-time undefined behavior sanity checker

Eugeniu Rosca erosca at de.adit-jv.com
Mon Aug 20 12:54:09 UTC 2018


Hi Tom,

On Sun, Aug 19, 2018 at 09:51:32PM -0400, Tom Rini wrote:
> On Mon, Aug 20, 2018 at 02:00:25AM +0200, Eugeniu Rosca wrote:
[..]
> > To enable UBSAN, two prerequisites must be met from Kconfig perspective:
> >  - ARCH has to select CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL
> >  - defconfig has to enable CONFIG_UBSAN
> > 
> > This commit selects CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL for SANDBOX and
> > ARM64 (r8a7795_salvator-x_defconfig is the only tested ARM64 platform).
> > No defconfig changes are expected, since UBSAN is a development (not
> > production) option. With CONFIG_UBSAN disabled, no functional change
> > is expected from this commit.
> > 
> > The size increase of sanbox U-Boot (gcc 8.1.0):
> > $ size u-boot.sandbox.*
> >    text	   data	    bss	    dec	    hex	filename
> > 1234958	  80048	 291472	1606478	 18834e	u-boot.sandbox.default
> > 1422710	 272240	 291472	1986422	 1e4f76	u-boot.sandbox.ubsan
> > +187752 +192192       0 +379944
> > 
> > The size increase of H3 Salvator-X U-Boot (aarch64-linux-gnu-gcc 7.2.1):
> > $ size u-boot.r8a7795-salvator-x.*
> >    text	   data	    bss	    dec	    hex	filename
> >  589954	  23504	 263984	 877442	  d6382	u-boot.r8a7795-salvator-x.default
> >  810968	 103304	 263984	1178256	 11fa90	u-boot.r8a7795-salvator-x.ubsan
> > +221014  +79800       0 +300814
> 
> Can we re-work this so that there isn't a size increase unless UBSAN is
> enabled?  I ask since I think for a v2 we should be able to say more
> broadly that just about everyone can enable this, but only out of the
> box sandbox should.

Sorry for the confusion. This commit alone does not contribute with any
U-Boot binary size increase. The numbers provided above assume enabling
and disabling CONFIG_UBSAN by hand via menuconfig/defconfig. I could
relocate the numbers to a separate patch updating the sandbox_defconfig,
if UBSAN is wanted there by default. That said, I think the contents of
this commit already complies with your particular request stated above.

> 
> -- 
> Tom

Thanks,
Eugeniu.


More information about the U-Boot mailing list