summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/libc/Makefile4
-rw-r--r--tests/libc/kernel_stub.c7
-rw-r--r--tests/libc/kernel_stub.h9
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