qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] windows build: -lssp added to qga-vss.dll libra


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] windows build: -lssp added to qga-vss.dll libraries list
Date: Wed, 11 Mar 2015 20:59:43 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.5.0

Am 11.03.2015 um 18:10 schrieb Joseph Hindin:
When building qga-bss.dll with 64-bit mingw toolchain v. 4.9.2, the

Typo: qga-vss.dll

qga-vss.dll linking fails with unresolved symbols from libssp,
stack protection support, like the following message:

.../qga/vss-win32/install.cpp:52: undefined reference to `__stack_chk_fail'

The patch fixes the problem by adding libssp to the qga-vss.dll
libraries 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..bd0840d 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 = -shared 
-Wl,--add-stdcall-alias,--enable-stdcall-fixup -lole32 -loleaut32 -lshlwapi 
-luuid -lssp -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)$@")

Adding -lssp works, but adding -fstack-protector-all to the linker flags also works and might be the better solution.

-$(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

Could you please try that and send an updated patch? Please cc it also to qemu-trivial.

Regards
Stefan




reply via email to

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