Hi Jan,

On 18/04/2024 09:26, Jan Beulich wrote:
> 
> 
> On 17.04.2024 14:14, Michal Orzel wrote:
>> Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
>> in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
>> for it. This results in a build failure. Example on Arm:
>>
>> ./include/public/arch-arm.h:205:41: error: unknown type name 
>> ‘__guest_handle_64_int32_t’
>>   205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
>>       |                                         ^~~~~~~~~~~~~~~~~~
>> ./include/public/arch-arm.h:206:41: note: in expansion of macro 
>> ‘__XEN_GUEST_HANDLE’
>>   206 | #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
>>       |                                         ^~~~~~~~~~~~~~~~~~
>> ./include/public/memory.h:277:5: note: in expansion of macro 
>> ‘XEN_GUEST_HANDLE’
>>   277 |     XEN_GUEST_HANDLE(int32_t) errs;
>>
>> Fix it. Also, drop guest handle definition for int given no further use.
> 
> Such cannot be done like this. Consumers of the header may have grown their
> own uses. The declaration needs to remain active for any consumers
> supplying __XEN_INTERFACE_VERSION__ < 0x00041900. Which means you need to
> bump __XEN_LATEST_INTERFACE_VERSION__ and wrap the handle type declaration
> in #ifdef. Provided the removal of that handle type for newer interface
> versions is really warranting all this effort.
I think we could just leave this guest handle definition as is then.

~Michal

Reply via email to