Hi Adrian,
All this is required is to subtract 1, so the padding is INT_MAX. So the following snippet will work:
typedef enum { seL4_SysDebugPutChar = -9, _enum_pad_seL4_Syscall_ID = (1U << ((sizeof(int)*8) - 1)) - 1 } seL4_Syscall_ID;
static int _assert[sizeof(seL4_Syscall_ID) == 4 ? 0 : -1];
This is something we will definitely fix and push out shortly.
thank you for the quick reply and the right fix for the issue.
If you can come up with a nice way of conditionally building both PIC and non-PIC versions of what is in syscalls.h then we would certainly accept it.
It's good to know that you are principally open for such a change. I understand your sentiment about possibly spoiling the clarity and performance of the bindings with PIC-specific considerations. Right now, the PIC issue is not on the critical path for my work. Once I tackled it, I will come back to you with a suggestion (or a way to side-step the issue altogether). Cheers Norman -- Dr.-Ing. Norman Feske Genode Labs http://www.genode-labs.com · http://genode.org Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth