From 0a043c30ee71245dfe7c9d82d654312c5e1f6127 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Sat, 16 Apr 2011 15:40:50 +0200 Subject: vfork: make all archs consistent __vfork is hidden. __GI_vfork is strong (not weak as it was). vfork is weak. e1 can use the generic version. Note: libc_hidden_def(x) has different meaning in .c and .S files. Signed-off-by: Peter S. Mazinger Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/ia64/sysdep.h | 9 +++++++++ libc/sysdeps/linux/ia64/vfork.S | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'libc/sysdeps/linux/ia64') diff --git a/libc/sysdeps/linux/ia64/sysdep.h b/libc/sysdeps/linux/ia64/sysdep.h index d10020ac1..bae27d1a6 100644 --- a/libc/sysdeps/linux/ia64/sysdep.h +++ b/libc/sysdeps/linux/ia64/sysdep.h @@ -49,6 +49,15 @@ C_LABEL(name) \ CALL_MCOUNT +#define HIDDEN_ENTRY(name) \ + .text; \ + .align 32; \ + .proc C_SYMBOL_NAME(name); \ + .global C_SYMBOL_NAME(name); \ + .hidden C_SYMBOL_NAME(name); \ + C_LABEL(name) \ + CALL_MCOUNT + #define LEAF(name) \ .text; \ .align 32; \ diff --git a/libc/sysdeps/linux/ia64/vfork.S b/libc/sysdeps/linux/ia64/vfork.S index f233b05e2..ba0a862cb 100644 --- a/libc/sysdeps/linux/ia64/vfork.S +++ b/libc/sysdeps/linux/ia64/vfork.S @@ -29,7 +29,7 @@ /* pid_t vfork(void); */ /* Implemented as __clone_syscall(CLONE_VFORK | CLONE_VM | SIGCHLD, 0) */ -ENTRY(__vfork) +HIDDEN_ENTRY(__vfork) alloc r2=ar.pfs,0,0,2,0 mov out0=CLONE_VM+CLONE_VFORK+SIGCHLD mov out1=0 /* Standard sp value. */ @@ -41,4 +41,4 @@ ENTRY(__vfork) PSEUDO_END(__vfork) weak_alias(__vfork,vfork) -libc_hidden_weak(vfork) +libc_hidden_def(vfork) -- cgit v1.2.3