qemu-trivial
[Top][All Lists]
Advanced

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

Re: [Qemu-trivial] [PATCH] When building qga-vss.dll with 64-bit MinGW t


From: Paolo Bonzini
Subject: Re: [Qemu-trivial] [PATCH] When building qga-vss.dll with 64-bit MinGW toolchain, qga-vss.dll linking fails with unresolved symbols from libssp, stack protection support, like the following message:
Date: Thu, 12 Mar 2015 15:15:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0


On 12/03/2015 11:35, Joseph Hindin wrote:
> .../qga/vss-win32/install.cpp:52: undefined reference to `__stack_chk_fail'
> 
> The patch fixes the problem by adding -fstack-protector-all option to the
> linker options' list.
> 
> Signed-off-by: Joseph Hindin <address@hidden>
> ---
>  qga/vss-win32/Makefile.objs | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/qga/vss-win32/Makefile.objs b/qga/vss-win32/Makefile.objs
> index 6a69d50..3b296f0 100644
> --- a/qga/vss-win32/Makefile.objs
> +++ b/qga/vss-win32/Makefile.objs
> @@ -5,7 +5,7 @@ qga-vss-dll-obj-y += requester.o provider.o install.o
>  obj-qga-vss-dll-obj-y = $(addprefix $(obj)/, $(qga-vss-dll-obj-y))
>  $(obj-qga-vss-dll-obj-y): QEMU_CXXFLAGS = $(filter-out -Wstrict-prototypes 
> -Wmissing-prototypes -Wnested-externs -Wold-style-declaration 
> -Wold-style-definition -Wredundant-decls -fstack-protector-all, 
> $(QEMU_CFLAGS)) -Wno-unknown-pragmas -Wno-delete-non-virtual-dtor
>  
> -$(obj)/qga-vss.dll: LDFLAGS = -shared 
> -Wl,--add-stdcall-alias,--enable-stdcall-fixup -lole32 -loleaut32 -lshlwapi 
> -luuid -static
> +$(obj)/qga-vss.dll: LDFLAGS =  -fstack-protector-all -shared 
> -Wl,--add-stdcall-alias,--enable-stdcall-fixup -lole32 -loleaut32 -lshlwapi 
> -luuid -static
>  $(obj)/qga-vss.dll: $(obj-qga-vss-dll-obj-y) $(SRC_PATH)/$(obj)/qga-vss.def
>       $(call quiet-command,$(CXX) -o $@ $(qga-vss-dll-obj-y) 
> $(SRC_PATH)/qga/vss-win32/qga-vss.def $(CXXFLAGS) $(LDFLAGS),"  LINK  
> $(TARGET_DIR)$@")
>  
> 

Sorry for the late reply to v1.  I left a few other comments there.

Basically, the Makefile is trying to disable ssp, in the line above the
one you touched.  Either we can support ssp, and then that incomplete
effort must be removed, or we cannot, and then your fix may hide other bugs.

Paolo



reply via email to

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