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

Tom Rini trini at konsulko.com
Mon Aug 20 17:50:36 UTC 2018


On Mon, Aug 20, 2018 at 02:54:09PM +0200, Eugeniu Rosca wrote:
> 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.

Ah, ok.  I think it should be a bit split up into introducing framework
and then enabling on sandbox, and that's where we show the size
increase.  But I do also think we should be able to enable the framework
on most targets.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180820/f52224a6/attachment.sig>


More information about the U-Boot mailing list