FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance (gcc3.3.3 v/sgcc2.9.5)

Matthew Dillon dillon at apollo.backplane.com
Mon Feb 16 13:12:18 PST 2004


    I'm surprised Bruce hasn't chimed in here yet.  I guess he's tired of
    repeating himself.

    In 4.9, libcsu, which generates crt1.o (which is the start code for
    C programs which the linker links in automatically) has this line in it:

	    andl    $~0xf, %%esp            # align stack to 16-byte boundary

    So anything linked with 4.9 is going to align the stack on a 
    16 byte boundary no matter WHAT the kernel does.

    FreeBSD-5 does not have this alignment in its crt1.o because GCC3
    automatically aligns the stack on a per-procedure basis.  Or at least
    it is supposed to.  Maybe it's broke?  :-)

						-Matt



More information about the freebsd-hackers mailing list