[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] [AVR] RTL prologue/epilogue ver.3
From: |
Weddington, Eric |
Subject: |
Re: [avr-gcc-list] [AVR] RTL prologue/epilogue ver.3 |
Date: |
Thu, 13 Oct 2011 14:28:13 -0600 |
> -----Original Message-----
> From: Georg-Johann Lay [mailto:address@hidden
> Sent: Thursday, October 13, 2011 12:10 PM
> To: Weddington, Eric
> Cc: Boyapati, Anitha; address@hidden
> Subject: Re: [avr-gcc-list] [AVR] RTL prologue/epilogue ver.3
>
> For the compiler, assume:
>
> void __attribute__((noreturn,noinline)) b (void);
>
> void a (void)
> {
> b();
> }
>
> void b (void)
> {
> while (1);
> }
>
> avr-gcc ab.c -S -Os -fno-toplevel-reorder
>
> a:
> rcall b
>
> b:
> .L3:
> rjmp .L3
>
> But there is symbol information for b despite rcall .+0
>
See! I thought you might come up with a counter-example. ;-)
Is the problem really about matching up 'returns' with the 'calls'? If
that is true, then the above doesn't necessarily fit the problem as
function 'b' is a noreturn function.
But I can also see where it could be a problem where in that example
above, the 'rcall 0' is a valid subroutine call.
There will probably have to be some info in the DWARF debug info for the
debugger to track...
Re: [avr-gcc-list] [AVR] RTL prologue/epilogue ver.3, Boyapati, Anitha, 2011/10/14
Re: [avr-gcc-list] [AVR] RTL prologue/epilogue ver.3, Boyapati, Anitha, 2011/10/14