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/mips/syscall.s | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 src/internal/mips/syscall.s (limited to 'src/internal/mips') diff --git a/src/internal/mips/syscall.s b/src/internal/mips/syscall.s deleted file mode 100644 index 5d0def52..00000000 --- a/src/internal/mips/syscall.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noreorder - -.global __syscall -.hidden __syscall -.type __syscall,@function -__syscall: - move $2, $4 - move $4, $5 - move $5, $6 - move $6, $7 - lw $7, 16($sp) - lw $8, 20($sp) - lw $9, 24($sp) - lw $10,28($sp) - subu $sp, $sp, 32 - sw $8, 16($sp) - sw $9, 20($sp) - sw $10,24($sp) - sw $2 ,28($sp) - lw $2, 28($sp) - syscall - beq $7, $0, 1f - addu $sp, $sp, 32 - subu $2, $0, $2 -1: jr $ra - nop -- cgit v1.2.1