From 788d5e24ca19c6291cebd8d1ad5b5ed6abf42665 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 10 Apr 2019 20:11:19 -0400 Subject: remove external __syscall function and last remaining users the weak version of __syscall_cp_c was using a tail call to __syscall to avoid duplicating the 6-argument syscall code inline in small static-linked programs, but now that __syscall no longer exists, the inline expansion is no longer duplication. the syscall.h machinery suppported up to 7 syscall arguments, only via an external __syscall function, but we presently have no syscall call points that actually make use of that many, and the kernel only defines 7-argument calling conventions for arm, powerpc (32-bit), and sh. if it turns out we need them in the future, they can easily be added. --- src/internal/powerpc64/syscall.s | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 src/internal/powerpc64/syscall.s (limited to 'src/internal/powerpc64/syscall.s') diff --git a/src/internal/powerpc64/syscall.s b/src/internal/powerpc64/syscall.s deleted file mode 100644 index fe21f9e1..00000000 --- a/src/internal/powerpc64/syscall.s +++ /dev/null @@ -1,17 +0,0 @@ - .global __syscall - .hidden __syscall - .type __syscall,@function -__syscall: - mr 0, 3 # Save the system call number - mr 3, 4 # Shift the arguments: arg1 - mr 4, 5 # arg2 - mr 5, 6 # arg3 - mr 6, 7 # arg4 - mr 7, 8 # arg5 - mr 8, 9 # arg6 - sc - bnslr+ # return if not summary overflow - neg 3, 3 # otherwise error: return negated value. - blr - .end __syscall - .size __syscall, .-__syscall -- cgit v1.2.1