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


Reply via email to