diff --git a/thirdparty/picoev/src/picoev_epoll.c b/thirdparty/picoev/src/picoev_epoll.c index 61bda4d38b..378fb15a0e 100644 --- a/thirdparty/picoev/src/picoev_epoll.c +++ b/thirdparty/picoev/src/picoev_epoll.c @@ -28,7 +28,13 @@ */ #include + +// tcc needs the pragmas, because it does not support yet +// the __EPOLL_PACKED macro, defined to be __attribute__ ((__packed__)) +#pragma pack(push, 1) #include +#pragma pack(pop) + #include #include "picoev.h" diff --git a/vlib/os/notify/backend_linux.c.v b/vlib/os/notify/backend_linux.c.v index 6b07aebdbf..f77dcb035a 100644 --- a/vlib/os/notify/backend_linux.c.v +++ b/vlib/os/notify/backend_linux.c.v @@ -3,7 +3,7 @@ module notify import time import os -#include +#insert "@VEXEROOT/vlib/os/notify/epoll.h" struct C.epoll_event { events u32 diff --git a/vlib/os/notify/epoll.h b/vlib/os/notify/epoll.h new file mode 100644 index 0000000000..a13c653fd0 --- /dev/null +++ b/vlib/os/notify/epoll.h @@ -0,0 +1,6 @@ +// NOTE: tcc does not support yet __attribute__ ((__packed__)) properly, +// so the __EPOLL_PACKED macro that /usr/include/bits/epoll.h uses does not work :-| . +// However, it *does support* the older `#pragma pack(push, 1)` +#pragma pack(push, 1) +#include +#pragma pack(pop)