Преглед на файлове

sh: add back sh2 specific assembly for clone()

In gcc 5.x there is a compile failure, for sh2 builds
as shad no longer is accepted. Strange that it is working for
4.9.x. Add back old assembly code.
Waldemar Brodkorb преди 8 години
родител
ревизия
1e28bdaabb
променени са 1 файла, в които са добавени 16 реда и са изтрити 0 реда
  1. 16 0
      libc/sysdeps/linux/sh/clone.S

+ 16 - 0
libc/sysdeps/linux/sh/clone.S

@@ -53,8 +53,24 @@ ENTRY(__clone)
 	mov	#+SYS_ify(clone), r3
 	trapa	#0x15
 	mov     r0, r1
+#ifdef __sh2__
+/* 12 arithmetic shifts for the sh2, because shad doesn't exist! */
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+        shar    r1
+#else
 	mov	#-12, r2
 	shad	r2, r1
+#endif
 	not	r1, r1			// r1=0 means r0 = -1 to -4095
 	tst	r1, r1			// i.e. error in linux
 	bf	.Lclone_end