Page MenuHomeFreeBSD

D43056.id.diff
No OneTemporary

D43056.id.diff

diff --git a/lib/libc/powerpc/SYS.h b/lib/libc/powerpc/SYS.h
--- a/lib/libc/powerpc/SYS.h
+++ b/lib/libc/powerpc/SYS.h
@@ -40,14 +40,17 @@
li 0,(SYS_##name); \
sc
+#define _SYSCALL_BODY(name) \
+ _SYSCALL(name) \
+ bnslr; \
+ b CNAME(HIDENAME(cerror))
+
#define PSEUDO(name) \
.text; \
.align 2; \
ENTRY(__sys_##name); \
WEAK_REFERENCE(__sys_##name, _##name); \
- _SYSCALL(name); \
- bnslr; \
- b CNAME(HIDENAME(cerror)); \
+ _SYSCALL_BODY(name); \
END(__sys_##name)
#define RSYSCALL(name) \
@@ -56,7 +59,5 @@
ENTRY(__sys_##name); \
WEAK_REFERENCE(__sys_##name, name); \
WEAK_REFERENCE(__sys_##name, _##name); \
- _SYSCALL(name); \
- bnslr; \
- b CNAME(HIDENAME(cerror)); \
+ _SYSCALL_BODY(name); \
END(__sys_##name)
diff --git a/lib/libc/powerpc64/SYS.h b/lib/libc/powerpc64/SYS.h
--- a/lib/libc/powerpc64/SYS.h
+++ b/lib/libc/powerpc64/SYS.h
@@ -40,11 +40,7 @@
li 0,(SYS_##name); \
sc
-#define PSEUDO(name) \
- .text; \
- .align 2; \
-ENTRY(__sys_##name); \
- WEAK_REFERENCE(__sys_##name, _##name); \
+#define _SYSCALL_BODY(name) \
_SYSCALL(name); \
bnslr; \
mflr %r0; \
@@ -55,7 +51,14 @@
addi %r1,%r1,48; \
ld %r0,16(%r1); \
mtlr %r0; \
- blr; \
+ blr
+
+#define PSEUDO(name) \
+ .text; \
+ .align 2; \
+ENTRY(__sys_##name); \
+ WEAK_REFERENCE(__sys_##name, _##name); \
+ _SYSCALL_BODY(name); \
END(__sys_##name)
#define RSYSCALL(name) \
@@ -64,16 +67,5 @@
ENTRY(__sys_##name); \
WEAK_REFERENCE(__sys_##name, name); \
WEAK_REFERENCE(__sys_##name, _##name); \
- _SYSCALL(name); \
- bnslr; \
- \
- mflr %r0; \
- std %r0,16(%r1); \
- stdu %r1,-48(%r1); \
- bl CNAME(HIDENAME(cerror)); \
- nop; \
- addi %r1,%r1,48; \
- ld %r0,16(%r1); \
- mtlr %r0; \
- blr; \
+ _SYSCALL_BODY(name); \
END(__sys_##name)

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 27, 6:31 AM (28 m, 36 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16188328
Default Alt Text
D43056.id.diff (1 KB)

Event Timeline