qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Makefile: Compute libraries for libqemuutil.a and libvhost-u


From: Stefan Hajnoczi
Subject: Re: [PATCH] Makefile: Compute libraries for libqemuutil.a and libvhost-user.a
Date: Tue, 28 Jul 2020 11:14:52 +0100

On Thu, Jul 02, 2020 at 04:06:32PM +0300, Michael Tokarev wrote:
> 01.07.2020 12:12, Christophe de Dinechin wrote:
> ..
> >>>  # Build libraries
> >>>
> >>> +libqemuutil.a-libs += $(call extract-libs, $(util-obj-y) $(trace-obj-y) 
> >>> $(stub-obj-y))
> >>> +libvhost-user.a-libs += $(call extract-libs, $(libvhost-user-obj-y) 
> >>> $(util-obj-y) $(stub-obj-y))
> ..
> >> Another thing I wonder about: the purpose of the .a files is to compile
> >> all object files and only link those .o files needed by the program
> >> (i.e. a subset of the .a file).
> > 
> > I believe that what you are saying is that by passing the required libraries
> > automatically, the binaries that use libqemuutil.a will inherit undesired
> > ldd dependencies. Indeed, a quick experiment shows that if you pass a -l
> > option, the library dependency is recorded even if no symbol in that library
> > is used. I saw no obvious linker option to address that.
> 
> There's --as-needed and --no-as-needed ld flag (used with cc as 
> -Wl,--as-needed),
> which is designed for this very case.

Nice, sounds like a solution. So -Wl,--as-needed should be at the end of
the command-line followed by $(libqemuutil.a-libs).

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]