1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
Index: dietlibc-0.29/parisc/clone.S
===================================================================
--- dietlibc-0.29.orig/parisc/clone.S
+++ dietlibc-0.29/parisc/clone.S
@@ -37,4 +37,4 @@ __clone:
bl _exit,%r2 /* exit thread */
copy %r28,%r26 /* return -> arg0 */
- iitlbp %r0,(%r0) /* DIE ! DIE ! */
+ iitlbp %r0,(%sr0,%r0) /* DIE ! DIE ! */
Index: dietlibc-0.29/parisc/recvfrom.S
===================================================================
--- dietlibc-0.29.orig/parisc/recvfrom.S
+++ dietlibc-0.29/parisc/recvfrom.S
@@ -1,3 +1,12 @@
#include "syscalls.h"
-syscall(recvfrom, recvfrom);
+.level 1.1
+.globl recvfrom
+.type recvfrom,@function
+recvfrom:
+ /* Just load the arguments from the
+ stack into %r21 and %r22 */
+ ldw -56(%sr0, %sp), %r21 ; 0x78
+ ldw -52(%sr0, %sp), %r22 ; 0x74
+ b __unified_syscall
+ ldi __NR_recvfrom, %r20
Index: dietlibc-0.29/parisc/sendto.S
===================================================================
--- dietlibc-0.29.orig/parisc/sendto.S
+++ dietlibc-0.29/parisc/sendto.S
@@ -1,3 +1,12 @@
#include "syscalls.h"
-syscall(sendto, sendto);
+.level 1.1
+.globl sendto
+.type sendto,@function
+sendto:
+ /* Just load the arguments from the
+ stack into %r21 and %r22 */
+ ldw -56(%sr0, %sp), %r21 ; 0x78
+ ldw -52(%sr0, %sp), %r22 ; 0x74
+ b __unified_syscall
+ ldi __NR_sendto, %r20
|