summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2006-11-14 19:47:51 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2006-11-14 19:47:51 +0000
commitfb6c85a39c13a70c4bf6adad9a35a57271e50e47 (patch)
treec76c304ca88acf0ac511298c28cc611568961274 /libexec
parent292407999f38c217b3f419ad2a312c99e7bc8545 (diff)
stack corruption was fixed a while ago.
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ld.so/sh/ldasm.S14
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: