Re: [PATCH v2 2/8] file2alias: fix uuid_t definitions for macos

From: Andy Shevchenko
Date: Thu Oct 03 2024 - 18:34:16 EST


Fri, Sep 06, 2024 at 01:01:29PM +0200, Daniel Gomez kirjoitti:
> The uuid_t struct defined in sys/types.h on macOS hosts conflicts with
> the one defined in file2alias, resulting in the typedef redefinition
> error below. To resolve this conflict, define the _UUID_T and
> __GETHOSTUUID_ in file2alias HOSTCFLAGS.
>
> Error:
> HOSTCC scripts/mod/file2alias.o scripts/mod/file2alias.c:45:3:
> error: typedef redefinition with different types ('struct uuid_t' vs
> '__darwin_uuid_t' (aka 'unsigned char[16]')) 45 | } uuid_t; |
> ^
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/
> sys/_types/_uuid_t.h:31:25: note: previous definition is here 31 |
> typedef __darwin_uuid_t uuid_t; | ^
> scripts/mod/file2alias.c:1354:7: error: member reference base
> type 'typeof (((struct tee_client_device_id *)0)->uuid)' (aka
> 'unsigned char[16]') is not a structure or union 1354 |
> uuid->b[0], uuid->b[1], uuid->b[2], uuid->b[3], uuid->b[4], |
> ~~~~^ ~
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/
> secure/_stdio.h:47:56: note: expanded from macro 'sprintf' 47 |
> __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
> | ^~~~~~~~~~~
> scripts/mod/file2alias.c:1354:19: error: member reference base
> type 'typeof (((struct tee_client_device_id *)0)->uuid)' (aka
> 'unsigned char[16]') is not a structure or union 1354 |
> uuid->b[0], uuid->b[1], uuid->b[2], uuid->b[3], uuid->b[4], |
> ~~~~^ ~
> /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/
> secure/_stdio.h:47:56: note: expanded from macro 'sprintf' 47 |
> __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
> | ^~~~~~~~~~~

Please, shrink this to the valuable ~3-5 lines. No need to repeat the same for
each case!

--
With Best Regards,
Andy Shevchenko