summaryrefslogtreecommitdiff
path: root/ldso/util/lddstub.S
diff options
context:
space:
mode:
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