diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/libc/Makefile | 4 | ||||
-rw-r--r-- | tests/libc/kernel_stub.c | 7 | ||||
-rw-r--r-- | tests/libc/kernel_stub.h | 9 |
3 files changed, 18 insertions, 2 deletions
diff --git a/tests/libc/Makefile b/tests/libc/Makefile index d9d2927..2d89940 100644 --- a/tests/libc/Makefile +++ b/tests/libc/Makefile @@ -2,8 +2,8 @@ CC := gcc DEFINES = -DOS_LINUX INCLUDES = -I. -I../../src/libc -I../../src/kernel -I/home/abaumann/cross-compilers/include CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Wall -Werror $(INCLUDES) $(DEFINES) -LD := ld -LDFLAGS := +LD := $(CC) +LDFLAGS := NASMFLAGS := -f elf32 NASM := nasm diff --git a/tests/libc/kernel_stub.c b/tests/libc/kernel_stub.c index 610c3d3..cacab34 100644 --- a/tests/libc/kernel_stub.c +++ b/tests/libc/kernel_stub.c @@ -22,3 +22,10 @@ void kernel_panic( const char *format, ... ) exit( 255 ); } +uintptr_t __stack_chk_guard = STACK_CHK_GUARD; + +__attribute__( ( noreturn ) ) +void __stack_chk_fail_local( void ) +{ + abort( ); +} diff --git a/tests/libc/kernel_stub.h b/tests/libc/kernel_stub.h index 467ad20..65047f9 100644 --- a/tests/libc/kernel_stub.h +++ b/tests/libc/kernel_stub.h @@ -24,4 +24,13 @@ long syscall1( long n, long a1 ); long syscall2( long n, long a1, long a2 ); long syscall3( long n, long a1, long a2, long a3 ); +// SSP stub, we don't want to link against libssp + +#include <stdint.h> +#include <stdlib.h> + +#define STACK_CHK_GUARD 0xe2dee396 + +extern uintptr_t __stack_chk_guard; + #endif |