[PATCH] ARC: Make vfork weak in libc

Vineet Gupta Vineet.Gupta1 at synopsys.com
Tue Apr 1 05:18:42 UTC 2014


Ping !

On Thursday 13 March 2014 06:08 PM, Vineet Gupta wrote:
> 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)
> 



More information about the uClibc mailing list