diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2006-11-14 19:47:51 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2006-11-14 19:47:51 +0000 |
commit | fb6c85a39c13a70c4bf6adad9a35a57271e50e47 (patch) | |
tree | c76c304ca88acf0ac511298c28cc611568961274 | |
parent | 292407999f38c217b3f419ad2a312c99e7bc8545 (diff) |
stack corruption was fixed a while ago.
-rw-r--r-- | libexec/ld.so/sh/ldasm.S | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/libexec/ld.so/sh/ldasm.S b/libexec/ld.so/sh/ldasm.S index 583f9753c38..61833ccff3f 100644 --- a/libexec/ld.so/sh/ldasm.S +++ b/libexec/ld.so/sh/ldasm.S @@ -1,4 +1,4 @@ -/* $OpenBSD: ldasm.S,v 1.6 2006/11/14 17:00:25 drahn Exp $ */ +/* $OpenBSD: ldasm.S,v 1.7 2006/11/14 19:47:50 drahn Exp $ */ /* * Copyright (c) 2006 Dale Rahn @@ -26,13 +26,7 @@ * */ -/* - * correct size is 16 * 4 but the 4096 is because of a stack corruption - * bug that I couldn't find. - */ - -#define DL_DATA_SIZE (8192 + 16 * 4) /* XXX */ -#define DATA_OFFSET (48) /* XXX */ +#define DL_DATA_SIZE (16 * 4) /* XXX */ #include <machine/asm.h> #include <sys/syscall.h> #include <SYS.h> @@ -43,9 +37,7 @@ ENTRY(_dl_start) mov r15, r4 // boot_bind(sp, dl_data) (sp) mov.l .L_datasize, r0 sub r0, r15 - mov.l .L_offset, r0 mov r15, r5 - add r0, r5 mov r5, r13 // not trusting register to store the data, push it on the stack. // callee/caller save questions @@ -103,8 +95,6 @@ ENTRY(_dl_start) .long _dl_boot-.L_call_boot .L_datasize: .long 4+4+DL_DATA_SIZE -.L_offset: - .long DATA_OFFSET .L_dynamic: .long _DYNAMIC-.L_offbase .L_loff: |