On Aug 17, 2015, Christophe Lyon <christophe.l...@linaro.org> wrote: > On 17 August 2015 at 13:58, Alexandre Oliva <aol...@redhat.com> wrote: >> On Aug 17, 2015, Christophe Lyon <christophe.l...@linaro.org> wrote: >> >>> Since this was committed (r226901), I can see that the compiler build >>> fails for armeb targets, when building libgcc: >> >> Any chance you could get me a preprocessed testcase for this failure, please? >> > Yes, here it is, attached.
Thanks. This patch fixes this particular case. I'll also add this configuration to the cross build tests I'm going to rerun shortly, before submitting a followup formally, to see whether other non-MEM mems need to be handled explicitly. --- a/gcc/function.c +++ b/gcc/function.c @@ -3017,6 +3017,11 @@ assign_parm_setup_block (struct assign_parm_data_all *all, else if (size == 0) ; + /* MEM may be a REG if coalescing assigns the param's partition + to a pseudo. */ + else if (REG_P (mem)) + emit_move_insn (mem, entry_parm); + /* If SIZE is that of a mode no bigger than a word, just use that mode's store operation. */ else if (size <= UNITS_PER_WORD) -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer