This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Mar 22 15:32, Yaakov Selkowitz wrote: > On 2016-03-22 15:14, Corinna Vinschen wrote: > >On Mar 22 11:10, Yaakov Selkowitz wrote: > >>On 2016-03-22 04:49, Corinna Vinschen wrote: > >>>On Mar 21 16:27, Corinna Vinschen wrote: > >>>>I mean, that was the whole point of asking this question. If you read > >>>>https://sourceware.org/ml/newlib/2016/msg00282.html you see that I > >>>>specificially refer to these types, u_char, u_short, etc. grep for them > >>>>on Linux and you'll see more then hundred header files using these > >>>>types. They are guarded with __USE_MISC in sys/types.h and there's no > >>>>explicit enabling invocation in any of the files using these types. > >> > >>Due to the incompatibility in licences between glibc and newlib/cygwin, I > >>have been avoiding looking at the headers directly. > >> > >>>So my proposal is this: > >>> > >>>diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h > >>>index 52530c5..8ab8670 100644 > >>>--- a/newlib/libc/include/sys/types.h > >>>+++ b/newlib/libc/include/sys/types.h > >>>@@ -90,8 +90,7 @@ typedef quad_t * qaddr_t; > >>> # define quad quad_t > >>> #endif > >>> > >>>-/* These types are required by netinet/*.h on Cygwin */ > >>>-#if __BSD_VISIBLE || defined(__CYGWIN__) > >>>+#if __MISC_VISIBLE > >>> #ifndef _BSDTYPES_DEFINED > >>> /* also defined in mingw/gmon.h and in w32api/winsock[2].h */ > >>> #ifndef __u_char_defined > >> > >>That only works if the parts of our netinet/*.h which use these are > >>similarly guarded, or their struct members converted to the u_intN_t types > >>(as in netinet/ip6.h).' > > > >Again, the same headers in Linux use the same types, and these > >headers do NOT use similar guards. They just include sys/types.h > >and expect these types to exist. If that's good enough for glibc... > > Not sure I understand; `grep -r __USE_ /usr/include/netinet/' shows lots of > __USE_MISC and even a __USE_GNU ... Doh. How did I miss them? <checking glasses> However, I also checked on multiple files outside netinet and there are some headers which use u_short etc. without checking for __USE_MISC, e.g. fts.h and resolv.h. But, anyway, since Cygwin's netinet headers don't do what glib's do, I retract my proposal, at least in terms of __CYGWIN__. But shouldn't we still use __MISC_VISIBLE instead of __BSD_VISIBLE in sys/type.h to follow glibc more closely? I applied Sebastian's patch for the time being. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |