|
From: | Stefan Weil |
Subject: | Re: [Qemu-devel] [PATCH 2/5] vdi: don't override libuuid symbols |
Date: | Wed, 21 Nov 2012 20:25:24 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121028 Thunderbird/16.0.2 |
Am 21.11.2012 11:12, schrieb Stefan Hajnoczi:
It's poor symbol hygiene to provide a global symbols that collide with a common library like libuuid. If QEMU links against a shared library that depends on uuid_generate() it can end up calling our stub version of the function. This exact scenario happened with GlusterFS libgfapi.so, which depends on libglusterfs.so's uuid_generate(). Scope the uuid stubs for vdi.c only and avoid affecting other shared objects. Signed-off-by: Stefan Hajnoczi <address@hidden> Reviewed-by: Kevin Wolf <address@hidden> --- block/vdi.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
Hi Stefan, I'm not opposed to this patch but would like to better understand the problem which you had with the old solution. Does libglusterfs.so really have a uuid_generate? Why does it not take the implementation from libuuid.so? Then QEMU could also use libuuid.so, and there would be no problem at all. I tried to reproduce the problem but could not find a libgfapi.so in the Debian or Ubuntu package archives. Regards Stefan
[Prev in Thread] | Current Thread | [Next in Thread] |