summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/xtensa
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2011-04-16 15:40:50 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-06-15 14:00:40 +0200
commit0a043c30ee71245dfe7c9d82d654312c5e1f6127 (patch)
tree5596b98af169f71b9ce8d3ba0f0088b271bee2c2 /libc/sysdeps/linux/xtensa
parent917176e71ef901297e420bbb0db99be5e8100fc3 (diff)
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 <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/xtensa')
-rw-r--r--libc/sysdeps/linux/xtensa/sysdep.h10
-rw-r--r--libc/sysdeps/linux/xtensa/vfork.S5
2 files changed, 12 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/xtensa/sysdep.h b/libc/sysdeps/linux/xtensa/sysdep.h
index 4c32c2ca4..fb691f8c6 100644
--- a/libc/sysdeps/linux/xtensa/sysdep.h
+++ b/libc/sysdeps/linux/xtensa/sysdep.h
@@ -38,6 +38,16 @@
entry sp, FRAMESIZE; \
CALL_MCOUNT
+#define HIDDEN_ENTRY(name) \
+ ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .hidden C_SYMBOL_NAME(name); \
+ ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name), @function); \
+ .align ALIGNARG(2); \
+ LITERAL_POSITION; \
+ C_LABEL(name) \
+ entry sp, FRAMESIZE; \
+ CALL_MCOUNT
+
#undef END
#define END(name) ASM_SIZE_DIRECTIVE(name)
diff --git a/libc/sysdeps/linux/xtensa/vfork.S b/libc/sysdeps/linux/xtensa/vfork.S
index 6e490fe45..977064cbc 100644
--- a/libc/sysdeps/linux/xtensa/vfork.S
+++ b/libc/sysdeps/linux/xtensa/vfork.S
@@ -49,7 +49,7 @@
/* pid_t vfork(void);
Implemented as __clone_syscall(CLONE_VFORK | CLONE_VM | SIGCHLD, 0) */
-ENTRY (__vfork)
+HIDDEN_ENTRY (__vfork)
movi a6, .Ljumptable
extui a2, a0, 30, 2 /* call-size: call4/8/12 = 1/2/3 */
@@ -165,6 +165,5 @@ ENTRY (__vfork)
.Lpseudo_end:
retw
-libc_hidden_def (__vfork)
-
weak_alias (__vfork, vfork)
+libc_hidden_def(vfork)