summaryrefslogtreecommitdiff
path: root/ldso/util/lddstub.S
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-04-23 17:43:54 +0000
committerEric Andersen <andersen@codepoet.org>2001-04-23 17:43:54 +0000
commit66f269d2a51dae6a2cb10f1a9ae4aaeba815219b (patch)
treee2094832990caf6d849ba90e4b1a82a6264f86b3 /ldso/util/lddstub.S
parentc4a3f3f81ea90e3df93c352ac0e2161a4bfd3327 (diff)
Initial checkin for ld.so. This is a combination of effort from Manuel Novoa
III and me. I've been working on stripping out arch dependant stuff and replacing it with generic stuff whenever possible. -Erik
Diffstat (limited to 'ldso/util/lddstub.S')
-rw-r--r--ldso/util/lddstub.S42
1 files changed, 42 insertions, 0 deletions
diff --git a/ldso/util/lddstub.S b/ldso/util/lddstub.S
new file mode 100644
index 000000000..33a67ee8d
--- /dev/null
+++ b/ldso/util/lddstub.S
@@ -0,0 +1,42 @@
+ .text
+.globl main
+.globl exit
+main:
+exit:
+#if defined(__i386__)
+ movl $1,%eax
+ movl $0,%ebx
+ int $0x80
+#elif defined(__mc68000__)
+ movel #1,%d0
+ clrl %d1
+ trap #0
+#elif defined(__sparc__)
+ mov 1,%g1
+ mov 0,%o0
+ t 0x10
+#else
+#error Only know how to support i386, m68k and sparc architectures
+#endif
+
+.globl atexit
+.globl __libc_init
+.globl __setfpucw
+atexit:
+__libc_init:
+__setfpucw:
+#if defined(__i386__)
+ ret
+#elif defined(__mc68000__)
+ rts
+#elif defined(__sparc__)
+ ret
+ nop
+#else
+#error Only know how to support i386, m68k and sparc architectures
+#endif
+
+ .data
+.globl __fpu_control
+__fpu_control:
+ .long 0