Follow-up Comment #1, bug #26734 (project avr-libc):

The ISR(INT0_vect,ISR_NOBLOCK) macro expand in:
void __vector_1 (void) __attribute__ ((signal,used, externally_visible))
__attribute__((interrupt)); void __vector_1 (void)

This code confused the GCC. The 'interrupt' attribute makes emit the 'sei'
instruction but the 'signal' attribute makes don't disable interrupt when SP
reg is changed.

This is bad use 'interrupt' and 'signal' attribute simultaneously.

1. I will add in the GCC code for checking incorrect attributes use. i.e use
'interrupt' and 'signal' attribute simultaneously for one function.

2. avr-libc should be modified and don't use 'interrupt' and 'signal'
attribute simultaneously.

Anatoly.

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?26734>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
AVR-libc-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-libc-dev

Reply via email to