diff options
Diffstat (limited to 'gpxe/src/arch/i386/core/nulltrap.c')
-rw-r--r-- | gpxe/src/arch/i386/core/nulltrap.c | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/gpxe/src/arch/i386/core/nulltrap.c b/gpxe/src/arch/i386/core/nulltrap.c deleted file mode 100644 index 3046fbec..00000000 --- a/gpxe/src/arch/i386/core/nulltrap.c +++ /dev/null @@ -1,51 +0,0 @@ -#include <stdint.h> -#include <stdio.h> - -__attribute__ (( noreturn, section ( ".text.null_trap" ) )) -void null_function_trap ( void ) { - void *stack; - - /* 128 bytes of NOPs; the idea of this is that if something - * dereferences a NULL pointer and overwrites us, we at least - * have some chance of still getting to execute the printf() - * statement. - */ - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - __asm__ __volatile__ ( "nop ; nop ; nop ; nop" ); - - __asm__ __volatile__ ( "movl %%esp, %0" : "=r" ( stack ) ); - printf ( "NULL method called from %p (stack %p)\n", - __builtin_return_address ( 0 ), stack ); - DBG_HD ( stack, 256 ); - while ( 1 ) {} -} |