I don't know who wrote the original gcc-33.patch, but it radically changes the meaning of the flags. The -m prefix for the following changed to -f, but the behaviour stayed the same. Passing a 0 or no number with the arguments means to use the default value for that machine, which is definetly not what we want to do. We explictly want an alignment of '1' (no alignment at all) as opposed to the default alignment. On a machine with a large default alignment that would be otherwise used, this results in a lot of wasted space. = Robin H. Johnson (robbat2@gentoo.org) - October 01, 2004. --- diet.c 2003-10-10 15:17:46.000000000 +0200 +++ diet.c 2004-02-15 19:03:01.000000000 +0100 @@ -26,8 +26,8 @@ static const char* Os[] = { "i386","-Os","-mpreferred-stack-boundary=2", - "-malign-functions=1","-malign-jumps=1", - "-malign-loops=1","-fomit-frame-pointer",0, + "-falign-functions=1","-falign-jumps=1", + "-falign-loops=1","-fomit-frame-pointer",0, "x86_64","-Os","-fno-omit-frame-pointer",0, "sparc","-Os","-mcpu=supersparc",0, "sparc64","-Os","-m64",0,