Message ID | 20231212005932.2700725-1-raj.khem@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vfio: Include libgen.h for basename API | expand |
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index c62c02f7b6..f043c93b9e 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -19,6 +19,7 @@ */ #include "qemu/osdep.h" +#include <libgen.h> #include <linux/vfio.h> #include <sys/ioctl.h> diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c index 8e3d4ac458..a835ab03be 100644 --- a/hw/vfio/platform.c +++ b/hw/vfio/platform.c @@ -16,6 +16,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" +#include <libgen.h> #include <sys/ioctl.h> #include <linux/vfio.h>
Glibc has two implementation one based on POSIX which is used when libgen.h is included and second implementation is GNU implementation which is used when string.h is included. The functions are no identical in behavior. Musl C library does not implement the GNU version, but it has provided a declaration in string.h but this has been corrected in latest musl [1] which exposes places where it was being used from string.h to error out especially when -Wimplicit-function-declaration is treated as error. | ../qemu-8.1.2/hw/vfio/pci.c:3030:18: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] | 3030 | group_name = basename(group_path); clang-17 treats this warning as error by default Signed-off-by: Khem Raj <raj.khem@gmail.com> --- hw/vfio/pci.c | 1 + hw/vfio/platform.c | 1 + 2 files changed, 2 insertions(+)