[PATCH] ARC: Make vfork weak in libc
Vineet Gupta
Vineet.Gupta1 at synopsys.com
Thu Mar 13 12:38:38 UTC 2014
Anton reported:
------------------->8---------------------
Package iperf cannot be built in Buildroot due to following error:
/home/akolesov/env/autobuild/tmp/host/usr/bin/arc-buildroot-linux-uclibc-g++
-Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-pipe -Os --static -o iperf -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -pipe -Os -pthread -DHAVE_CONFIG_H Client.o
Extractor.o Launch.o List.o Listener.o Locale.o PerfSocket.o ReportCSV.o
ReportDefault.o Reporter.o Server.o Settings.o SocketAddr.o gnu_getopt.o
gnu_getopt_long.o main.o service.o sockets.o stdio.o tcp_window_size.o
../compat/libcompat.a
/home/akolesov/env/autobuild/tmp/host/usr/arc-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(vfork.os):
In function `vfork':
(.text+0x0): multiple definition of `vfork'
/home/akolesov/env/autobuild/tmp/host/usr/arc-buildroot-linux-uclibc/sysroot/usr/lib/libpthread.a(ptfork.os):ptfork.c:(.text+0xc0):
first defined here
collect2: error: ld returned 1 exit status
------------------->8---------------------
Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
Cc: Anton Kolesov <Anton.Kolesov at synopsys.com>
Cc: Francois Bedard <Francois.Bedard at synopsys.com>
---
libc/sysdeps/linux/arc/vfork.S | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libc/sysdeps/linux/arc/vfork.S b/libc/sysdeps/linux/arc/vfork.S
index 542239fb8421..11959b66b34c 100644
--- a/libc/sysdeps/linux/arc/vfork.S
+++ b/libc/sysdeps/linux/arc/vfork.S
@@ -15,7 +15,7 @@
#define CLONE_VFORK 0x00004000
#define CLONE_FLAGS_FOR_VFORK (CLONE_VM|CLONE_VFORK|SIGCHLD)
-ENTRY(vfork)
+ENTRY(__vfork)
mov r0, CLONE_FLAGS_FOR_VFORK
mov_s r1, sp
mov r8, __NR_clone
@@ -25,5 +25,7 @@ ENTRY(vfork)
jge [blink] ; pid >=0 return, else detour via tailcall to errno
b __syscall_error
-END(vfork)
+END(__vfork)
+
+weak_alias(__vfork,vfork)
libc_hidden_def(vfork)
--
1.8.3.2
More information about the uClibc
mailing list