> Date: Thu, 12 Sep 2024 00:05:24 +0900 > From: Ryo ONODERA <r...@tetera.org> > > "Taylor R Campbell" <riastr...@netbsd.org> writes: > > > sys/endian.h: Hide le32enc/be32enc/... under _NETBSD_SOURCE. > > > > These are non-standard extensions, so they should not be exposed by, > > e.g., _XOPEN_SOURCE=700. > > > > PR standards/57807: #include <arpa/inet.h> spuriously defines > > le32enc/be32enc/... under _XOPEN_SOURCE=700 > > After this change, -current build on -current is broken, > because tools/libctf defines _NETBSD_SOURCE and le32dec and so on > cause conflicts. > > I think HAVE_NBTOOLS_CONFIG_H part in external/cddl/osnet/sys/sys/types.h > may be problematic. However it is not clear how to fix properly. > > Could you take a look at this problem?
christos was looking at this yesterday -- christos, did you make progress after our discussion? > P.S. > I feel that HAVE_NBTOOLS_CONFIG_H should be HAVE_NBTOOL_CONFIG_H. Yes, except I think that whole stanza under HAVE_NBTOOL[S]_CONFIG_H is wrong and should be replaced by an _unconditional_ #include_next <sys/types.h> #include_next <sys/ccompile.h> without any _NETBSD_SOURCE games (which the tools build should never play; we go out of our way to use _XOPEN_SOURCE=600 in compat_defs.h so that _NETBSD_SOURCE does not get used everywhere else in the tools build, in order to keep the tools build clean and portable).