summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/h8300/crt0.S4
-rw-r--r--libc/sysdeps/linux/h8300/setjmp.S14
-rw-r--r--libc/sysdeps/linux/h8300/vfork.S4
3 files changed, 18 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/h8300/crt0.S b/libc/sysdeps/linux/h8300/crt0.S
index a4f862797..b94551b9d 100644
--- a/libc/sysdeps/linux/h8300/crt0.S
+++ b/libc/sysdeps/linux/h8300/crt0.S
@@ -24,7 +24,11 @@ Cambridge, MA 02139, USA. */
.global atexit
.global main
+#ifdef __H8300S__
+ .h8300s
+#else
.h8300h
+#endif
.text
_start: /* put here so that references to _start work with elf-PIC */
diff --git a/libc/sysdeps/linux/h8300/setjmp.S b/libc/sysdeps/linux/h8300/setjmp.S
index 97b91e204..53ecf3dbe 100644
--- a/libc/sysdeps/linux/h8300/setjmp.S
+++ b/libc/sysdeps/linux/h8300/setjmp.S
@@ -1,10 +1,16 @@
-.h8300h
-.text
+#ifdef __H8300S__
+ .h8300s
+#else
+ .h8300h
+#endif
+ .text
.global __setjmp
-.global _longjmp
+.global ___sigsetjmp
+.global ___longjmp
__setjmp:
+___sigsetjmp:
add.l #20,er0
mov.l er6,@er0
mov.l er5,@-er0
@@ -18,7 +24,7 @@ __setjmp:
sub.l er0,er0
rts
-_longjmp:
+___longjmp:
mov.l er1,er1
bne 1f
sub.l er1,er1
diff --git a/libc/sysdeps/linux/h8300/vfork.S b/libc/sysdeps/linux/h8300/vfork.S
index aa8520d89..e84a78d6a 100644
--- a/libc/sysdeps/linux/h8300/vfork.S
+++ b/libc/sysdeps/linux/h8300/vfork.S
@@ -5,7 +5,11 @@
#define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */
#endif
+#ifdef __H8300S__
+ .h8300s
+#else
.h8300h
+#endif
.text
.align 2
.globl _errno