kernel/eka/include/cpudefs.h
changeset 276 c36ee65c5fa1
parent 231 75252ea6123b
equal deleted inserted replaced
275:2b433474f2ba 276:c36ee65c5fa1
   604 #define __MSR_CPSR_C(cc,r) asm("msr"#cc" cpsr_c,"#r);
   604 #define __MSR_CPSR_C(cc,r) asm("msr"#cc" cpsr_c,"#r);
   605 #endif
   605 #endif
   606 
   606 
   607 // Causes undefined instruction exception on both ARM and THUMB
   607 // Causes undefined instruction exception on both ARM and THUMB
   608 #define __ASM_CRASH()					asm(".word 0xe7ffdeff ")
   608 #define __ASM_CRASH()					asm(".word 0xe7ffdeff ")
   609 #if defined(__GNUC__)  
   609 // Bug 2742 - beware armcc run with the --gnu option to enable gnu extensions!
       
   610 #if defined(__GNUC__) && !defined(__ARMCC__)  
   610 #define	__crash()						asm(".word 0xe7ffdeff " : : : "memory")
   611 #define	__crash()						asm(".word 0xe7ffdeff " : : : "memory")
   611 #elif defined(__GCCXML__)
   612 #elif defined(__GCCXML__)
   612 #define __crash()						(*((TInt *) 0x0) = 0xd1e)
   613 #define __crash()						(*((TInt *) 0x0) = 0xd1e)
   613 #elif defined(__ARMCC__)
   614 #elif defined(__ARMCC__)
   614 // RVCT doesn't let us inline an undefined instruction
   615 // RVCT doesn't let us inline an undefined instruction