This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Re : PPC440, GCC-4.1.1 supposes cr{2,3,4} saved but the hard real time kernel doesn't...
- From: Ian Lance Taylor <iant at google dot com>
- To: Etienne Lorrain <etienne_lorrain at yahoo dot fr>
- Cc: gcc at gcc dot gnu dot org
- Date: 28 Nov 2006 08:28:04 -0800
- Subject: Re: Re : PPC440, GCC-4.1.1 supposes cr{2,3,4} saved but the hard real time kernel doesn't...
- References: <20061128155533.7805.qmail@web26906.mail.ukl.yahoo.com>
Etienne Lorrain <etienne_lorrain@yahoo.fr> writes:
> powerpc-eabi-gcc -Wall -W -O2 -g -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-schedule-insns -std=gnu99 -fcall-used-cr2 -fcall-used-cr3 -fcall-used-cr4 -Xassembler -mregnames ... *.c
>
> ../net/src/net_dbg.c:668: error: Attempt to delete prologue/epilogue insn:
> (insn 238 237 239 22 ../net/src/net_dbg.c:668 (set (reg:SI 12 12)
> (mem:SI (plus:SI (reg/f:SI 1 1)
> (const_int 12 [0xc])) [0 S4 A8])) -1 (nil)
> (nil))
> ../net/src/net_dbg.c:668: internal compiler error: in propagate_one_insn, at flow.c:1699
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Looks like the code in rs6000_stack_info in config/rs6000/rs6000.c
does not consider the possibility of the -fcall-used option. It
checks regs_ever_live without checking call_used_regs.
I don't have a solution to suggest, other than patching the compiler.
Ian