@knc1: The issue with putting it in LDFLAGS is that if one were to pass those to ld directly, not through a compiler driver like gcc, ld/gold would (probably, haven't checked) choke on -flto. And even through a driver, since it's not 'escaped' by -Wl, ld would probably not be a happy camper. And if you put it escaped in LDFLAGS, go back to square 1: ld chokes on it ^^.
Long story short: It's a GCC flag/feature, it goes in CFLAGS. Don't try to use it though any other means

. The buildsystem just has to be 'smart' enough to link through the gcc linker driver, and to honor the *FLAGS properly.