This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: m68k bootstrapping broken


On Fri, Jan 09, 2004 at 04:22:18AM +0100, Bernardo Innocenti wrote:
> Richard Zidlicky wrote:
> 
> >>This change could affect buggy user code containing
> >>off-by-one stack overflows.
> >
> >Is it possible that there is some endianness or similar issue
> >inside the new frame generation code? Bitfields or whatever might
> >cause portability problems?
> 
> No, it shouldn't be possible.  There might some obscure bug somewhere
> in corner cases such as functions with big frames or functions with
> strange attributes...

even if it doesnt bomb it generates code like this:
__cmpdi2:
.LFB38:
	.file 1 "../../gcc-3.4-20031210/gcc/libgcc2.c"
	.loc 1 1068 0
	pea (%a6)
	move.l %sp,%a6
.LCFI0:
	move.l %d2,-(%sp)
.LCFI1:
	lea (8,%a6),%a0      !!!!!!!!
	move.l (%a0),%d0
	move.l 4(%a0),%d1
.....

The use of %a0 is not incorrect but completely unnecessary.. same
optimisation settings etc again. What would cause this kind of code
get generated? Wrong cost estimate? Some comparison against +/32K
run amuck?

> The new code couldn't be regtested with dejagnu because there is
> no m68k simulator in GDB and there were too many issues with remote
> testsuite execution on embedded ColdFire boards.

If you want to debug this it should be possible to get an account
on some of the m68k boxes of the Debian project, 
mail debian-68k@lists.debian.org


Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]