Bladeren bron

Do hidden pipe, please check the change in mips (.end __pipe?)

Peter S. Mazinger 18 jaren geleden
bovenliggende
commit
73130cae60

+ 3 - 1
libc/sysdeps/linux/common/pipe.c

@@ -9,4 +9,6 @@
 
 #include "syscalls.h"
 #include <unistd.h>
-_syscall1(int, pipe, int *, filedes);
+#define __NR___pipe __NR_pipe
+attribute_hidden _syscall1(int, __pipe, int *, filedes);
+strong_alias(__pipe,pipe)

+ 8 - 5
libc/sysdeps/linux/mips/pipe.S

@@ -7,9 +7,12 @@
 #include <asm/unistd.h>
 #include <asm/regdef.h>
 
-        .globl  pipe
-        .ent    pipe, 0
-pipe:
+	.globl	pipe
+	.set	pipe,__pipe
+        .globl  __pipe
+	.hidden	__pipe
+        .ent    __pipe, 0
+__pipe:
         addiu   sp,sp,-24
         sw      a0,16(sp)
         li      v0,__NR_pipe
@@ -27,5 +30,5 @@ pipe:
 2:
         addiu   sp,sp,24
         j       ra
-        .end    pipe
-        .size   pipe,.-pipe
+        .end    __pipe
+        .size   __pipe,.-__pipe

+ 2 - 1
libc/sysdeps/linux/mips/pipe.c

@@ -6,7 +6,7 @@
 #include <unistd.h>
 #include <syscall.h>
 
-int pipe(int *fd)
+int attribute_hidden __pipe(int *fd)
 {
     register long int res __asm__ ("$2"); // v0
     register long int res2 __asm__ ("$3"); // v1
@@ -21,3 +21,4 @@ int pipe(int *fd)
 	fd[1] = res2;
 	return(0);
 }
+strong_alias(__pipe,pipe)

+ 2 - 3
libc/sysdeps/linux/sh/pipe.c

@@ -5,7 +5,7 @@
 #include <unistd.h>
 #include <syscall.h>
 
-int pipe(int *fd)
+int attribute_hidden __pipe(int *fd)
 {
 	long __res, __res2;
 	__asm__ __volatile__ (
@@ -27,5 +27,4 @@ int pipe(int *fd)
 	fd[1] = __res2;
 	return(0);
 }
-
-
+strong_alias(__pipe,pipe)