• A
    vsprintf: factorize "(null)" string · 0f4f81dc
    André Goddard Rosa 提交于
    This patchset reduces lib/lib.a code size by 482 bytes on my Core 2 with
    gcc 4.4.1 even considering that it exports a newly defined function
    skip_spaces() to drivers:
    
       text    data     bss     dec     hex filename
      64867     840     592   66299   102fb (TOTALS-lib.a-BEFORE)
      64641     584     592   65817   10119 (TOTALS-lib.a-AFTER)
    and implements some code tidy up.
    
    Besides reducing lib.a size, it converts many in-tree drivers to use the
    newly defined function, which makes another small reduction on kernel size
    overall when those drivers are used.
    
    This patch:
    
    Change "<NULL>" to "(null)", unifying 3 equal strings.
    glibc also uses "(null)" for the same purpose.
    
    It decreases code size by 7 bytes:
     text    data     bss     dec     hex filename
    15765       0       8   15773    3d9d vsprintf.o (ex lib/lib.a-BEFORE)
    15758       0       8   15766    3d96 vsprintf.o (ex lib/lib.a-AFTER)
    Signed-off-by: NAndré Goddard Rosa <andre.goddard@gmail.com>
    Acked-by: NFrederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    0f4f81dc
vsprintf.c 46.9 KB