git: CCVER=gcc46: Adjust Makefile so boot2 remains < 7.5kb

John Marino marino at
Sat Feb 4 12:09:58 PST 2012

commit 64005844ae3d5bad9607c2bdcbdf3ec627bc70bc
Author: John Marino <draco at>
Date:   Sat Feb 4 18:27:41 2012 +0100

    CCVER=gcc46: Adjust Makefile so boot2 remains < 7.5kb
    A big sticking point with getting gcc46 to successfully buildworld was
    getting boot2 to come in at 7680 bytes or less.  Unmodified it was
    weighing in 784 bytes too much.  Every applying several byte-reducing
    changes to it from FreeBSD only knocked off about 380 bytes.
    Comparing the assembly dumps between versions built by the base
    compiler and gcc46 didn't reveal that much, but using the readelf
    utility on both did.  GCC 4.6 was embedding the .eh_frame section
    to the object file generated from boot2.c which was adding over 1900
    bytes to it.
    After adding three command line switches to the makefile, the
    exception handler section is prohibited from building.  There are
    4968 bytes still available, down from 4988 bytes seen with the base
    compiler.  The updates from FreeBSD can be applied later to free up
    more memory but for now it's not required.

Summary of changes:
 sys/boot/pc32/boot2/Makefile |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list