nulltrap.c
Go to the documentation of this file.00001 #include <stdint.h>
00002 #include <stdio.h>
00003
00004 __attribute__ (( noreturn, section ( ".text.null_trap" ) ))
00005 void null_function_trap ( void ) {
00006 void *stack;
00007
00008
00009
00010
00011
00012
00013 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00014 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00015 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00016 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00017 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00018 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00019 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00020 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00021 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00022 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00023 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00024 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00025 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00026 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00027 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00028 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00029 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00030 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00031 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00032 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00033 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00034 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00035 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00036 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00037 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00038 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00039 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00040 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00041 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00042 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00043 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00044 __asm__ __volatile__ ( "nop ; nop ; nop ; nop" );
00045
00046 __asm__ __volatile__ ( "movl %%esp, %0" : "=r" ( stack ) );
00047 printf ( "NULL method called from %p (stack %p)\n",
00048 __builtin_return_address ( 0 ), stack );
00049 DBG_HD ( stack, 256 );
00050 while ( 1 ) {}
00051 }