Bug in CYGWIN's UUID library: GUID_NULL not found.

Carlo B. carlo.bramini@gmail.com
Mon Feb 20 15:48:50 GMT 2023


Hello,
I think that there is a bug into the uuid library, the one to be used
with the W32API for the POSIX core.
Please have a look to the following tiny test code:

//====================
#include <windows.h>
#include <initguid.h>
#include <ks.h>
#include <stdio.h>

int main()
{
    printf("GUID_NULL=\"%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X\"\n",
        GUID_NULL.Data1,
        GUID_NULL.Data2, GUID_NULL.Data3,
        GUID_NULL.Data4[0], GUID_NULL.Data4[1],
        GUID_NULL.Data4[2], GUID_NULL.Data4[3],
        GUID_NULL.Data4[4], GUID_NULL.Data4[5],
        GUID_NULL.Data4[6], GUID_NULL.Data4[7]
    );

    return 0;
}
//====================

Compiling it with x86_64-pc-cygwin or i686-pc-cygwin does not work:

$ gcc e.c -o e.exe -luuid
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld:
/tmp/ccyJK3d9.o:e.c:(.rdata$.refptr.GUID_NULL[.refptr.GUID_NULL]+0x0):
undefined reference to `GUID_NULL'
collect2: error: ld returned 1 exit status

But it works fine when using MinGW-w64 compilers:

$ x86_64-w64-mingw32-gcc e.c -o e.exe -luuid

$ ./e.exe
GUID_NULL="00000000-0000-0000-0000-000000000000"


I discovered this issue when making a new FluidSynth package for
CYGWIN for my repository of packages.
Can you confirm it?
Thank you very much for your time.

Sincerely,

Carlo Bramini.


More information about the Cygwin mailing list