Skip to content
Snippets Groups Projects
Forked from Reform / reform-boundary-uboot
Source project has a limited visibility.
  • Vignesh R's avatar
    cdce1f76
    tiny-printf: Add support for %p format · cdce1f76
    Vignesh R authored
    
    Add support for %p, %pa[p], %pM, %pm and %pI4 formats to tiny-printf.
    %pM and %pI4 are widely used by SPL networking stack and is required if
    networking support is desired in SPL.
    %p, %pa and %pap are mostly used by debug prints and hence supported
    only when DEBUG is enabled.
    
    Before this patch:
    $ size spl/u-boot-spl
       text	   data	    bss	    dec	    hex	filename
      99325	   4899	 218584	 322808	  4ecf8	spl/u-boot-spl
    
    After this patch (with CONFIG_SPL_NET_SUPPORT):
    $ size spl/u-boot-spl
       text	   data	    bss	    dec	    hex	filename
      99666	   4899	 218584	 323149	  4ee4d	spl/u-boot-spl
    
    So, this patch adds ~350 bytes to code size.
    
    If CONFIG_SPL_NET_SUPPORT is not enabled, this adds ~25 bytes.
    
    If CONFIG_USE_TINY_PRINTF is disabled then:
    $ size spl/u-boot-spl
      text	   data	    bss	    dec	    hex	filename
     101116	   4899	 218584	 324599	  4f3f7	spl/u-boot-spl
    
    So, there is still ~1.4K space saved even with support for %pM/%pI4.
    
    Compiler used is to build is:
    arm-linux-gnueabihf-gcc (Linaro GCC 6.2-2016.11) 6.2.1 20161016
    
    Signed-off-by: default avatarVignesh R <vigneshr@ti.com>
    Reviewed-by: default avatarTom Rini <trini@konsulko.com>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
    cdce1f76
    History
    tiny-printf: Add support for %p format
    Vignesh R authored
    
    Add support for %p, %pa[p], %pM, %pm and %pI4 formats to tiny-printf.
    %pM and %pI4 are widely used by SPL networking stack and is required if
    networking support is desired in SPL.
    %p, %pa and %pap are mostly used by debug prints and hence supported
    only when DEBUG is enabled.
    
    Before this patch:
    $ size spl/u-boot-spl
       text	   data	    bss	    dec	    hex	filename
      99325	   4899	 218584	 322808	  4ecf8	spl/u-boot-spl
    
    After this patch (with CONFIG_SPL_NET_SUPPORT):
    $ size spl/u-boot-spl
       text	   data	    bss	    dec	    hex	filename
      99666	   4899	 218584	 323149	  4ee4d	spl/u-boot-spl
    
    So, this patch adds ~350 bytes to code size.
    
    If CONFIG_SPL_NET_SUPPORT is not enabled, this adds ~25 bytes.
    
    If CONFIG_USE_TINY_PRINTF is disabled then:
    $ size spl/u-boot-spl
      text	   data	    bss	    dec	    hex	filename
     101116	   4899	 218584	 324599	  4f3f7	spl/u-boot-spl
    
    So, there is still ~1.4K space saved even with support for %pM/%pI4.
    
    Compiler used is to build is:
    arm-linux-gnueabihf-gcc (Linaro GCC 6.2-2016.11) 6.2.1 20161016
    
    Signed-off-by: default avatarVignesh R <vigneshr@ti.com>
    Reviewed-by: default avatarTom Rini <trini@konsulko.com>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>