http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47230
--- Comment #19 from Uros Bizjak <ubizjak at gmail dot com> 2012-04-12 10:24:36 UTC --- (In reply to comment #18) > It seems to be triggered(*) by Uros' PR46533 patch in r166999: > http://gcc.gnu.org/viewcvs?view=revision&revision=166999 I don't think that this patch has anything to do with GPREL16. The patch fixes relocation on functions, where you have problems with symbol relocations. > Repeat-by: > 1. have cross tools to alpha-linux hosted on e.g. x86, mine has > binutils-2.20.1 > 2. build gcc-4.6 r166998 as cross to alpha-linux > 3. used the above to cross-build a linux-3.3.0 kernel, this works for me > 4. repeat steps 2 and 3 with gcc-4.6 r166999, gcc builds ok but the kernel > build fails with the usual 'relocation truncated to fit: GPREL16 against ...' > errors Just stick -Wl,--no-relax somewhere. This is standard practice to build a kernel.