diff options
author | Peter S. Mazinger <ps.m@gmx.net> | 2011-04-16 15:40:50 +0200 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2012-06-15 14:00:40 +0200 |
commit | 0a043c30ee71245dfe7c9d82d654312c5e1f6127 (patch) | |
tree | 5596b98af169f71b9ce8d3ba0f0088b271bee2c2 /libc/sysdeps/linux/xtensa | |
parent | 917176e71ef901297e420bbb0db99be5e8100fc3 (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.h | 10 | ||||
-rw-r--r-- | libc/sysdeps/linux/xtensa/vfork.S | 5 |
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) |