This is the mail archive of the gcc-help@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: ARM EABI version 5 and bpabi.o


On 03/16/2011 03:45 PM, Ian Lance Taylor wrote:
> Sebastian Huber <sebastian.huber@embedded-brains.de> writes:
> 
>> Thanks for the hint.  How can an assembler or C function throw an exception?
> 
> It can raise a signal, e.g., SIGFPE, and the signal handler can throw.

Yes, it is a raise() in the #ifdef L_dvmd_lnx part of
"gcc/config/arm/lib1funcs.asm".

> 
>> Does this mean that only on GNU/Linux we need this unwind stuff?
> 
> You only need it if your signal handlers can throw, or call backtrace,
> or otherwise try to unwind the stack.
> 
> Ian

The #ifdef L_dvmd_tls part uses only a RET (which is a mov or bx).  I think the
-fexceptions is superfluous for the tool chains using this part.  It looks
difficult to disable this compiler flag in this case.

-- 
Sebastian Huber, embedded brains GmbH

Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone   : +49 89 18 90 80 79-6
Fax     : +49 89 18 90 80 79-9
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


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