Forward port the patches from Linaro GCC 4.5 to 4.6

Linaro GCC 4.5 carries some patches that are not yet mainlined. Upstream these and then backport to 4.6. Port directly from 4.5 to 4.6 if someone else owns the patch and will commit it to mainline in the medium term.