From: Stephan Baerwolf Date: Mon, 6 May 2013 10:21:31 +0000 (+0200) Subject: fix: WARNING and probably dangerous naked function leaveBootloader() X-Git-Tag: v0.96.2~2 X-Git-Url: http://git.linex4red.de/pub/USBaspLoader.git/commitdiff_plain/a48ee25be3896a771f113d1ed1d4680bdbb899d2?ds=inline fix: WARNING and probably dangerous naked function leaveBootloader() Signed-off-by: Stephan Baerwolf --- diff --git a/firmware/main.c b/firmware/main.c index 2639644..9c8bab3 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -220,12 +220,14 @@ void __func_clearram(void) { } #endif +#if (!USE_EXCESSIVE_ASSEMBLER) || (!(defined (__AVR_ATmega8__) || defined (__AVR_ATmega8A__) || defined (__AVR_ATmega8HVA__))) static void (*nullVector)(void) __attribute__((__noreturn__)); +#endif -static void __attribute__((naked)) __attribute__((__noreturn__)) leaveBootloader(void); -static void leaveBootloader(void) { #if (USE_EXCESSIVE_ASSEMBLER) && (defined (__AVR_ATmega8__) || defined (__AVR_ATmega8A__) || defined (__AVR_ATmega8HVA__)) -asm volatile ( +static void __attribute__((naked,__noreturn__)) leaveBootloader(void); +static void leaveBootloader(void) { + asm volatile ( "cli\n\t" "sbi %[usbddr], %[usbminus]\n\t" "cbi %[port], %[bit]\n\t" @@ -245,8 +247,10 @@ asm volatile ( [mygicr] "I" (_SFR_IO_ADDR(GICR)), [ivce] "I" (1<