I'm not sure if this is related or not, but compiling grub2 1.98 with gcc 4.5.2 doesn't produce a working grub2 even though it compiles fine. So, it could be due to some change in gcc.