Date: Sun, 11 Dec 2022 12:07:23 +0100 From: Szabolcs Nagy <nsz@...t70.net> To: Rich Felker <dalias@...c.org> Cc: Yuriy Chernyshov <georgthegreat@...il.com>, musl@...ts.openwall.com Subject: Re: Various conflicts with linux system headers (ioctl.h) * Rich Felker <dalias@...c.org> [2022-12-11 00:53:35 -0500]: > On Tue, Dec 06, 2022 at 11:36:24AM +0100, Yuriy Chernyshov wrote: > > The following workaround helps, but looks quite ugly: > > > > --- arch/generic/bits/ioctl.h (b4624b83eafbdd5f2e2c37374d62426c27687f35) > > > +++ arch/generic/bits/ioctl.h (d545cbc1ae3f5c9132eb26b176bef3638c9d8063) > > > @@ -1,3 +1,9 @@ > > > +#undef _IO > > > +#undef _IOC > > > +#undef _IOR > > > +#undef _IOW > > > +#undef _IOWR > > > + > > > #define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) ) > > > #define _IOC_NONE 0U > > > #define _IOC_WRITE 1U > > > > > > > Is it possible to get official solution for the macro conflict? > > It's explicitly unsupported to include linux/* headers that might > produce conflicting definitions *before* the libc headers they might > conflict with. Does the same problem happen if you put the linux/* > headers after? i don't think reordering can fix the conflict as linux defines the macros unconditionally. (and glibc relies on the linux definitions) > > NB: we have to use linux/fs.h in order to get BLKGETSIZE64 constant defined > > which is missing in sys/ioctl.h. musl defines that in sys/mount.h (just like glibc)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.