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 <[email protected]>
Reviewed-by: Kevin Wolf <[email protected]>
---
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