On 2018/10/15 19:04, Paul Goyette wrote: ...
and sorry for troubling you...Don't worry about it. This is the risk one takes when working on a branch. I will deal with it.
Thank you for your kind words :).
Hmm, unfortunately, support for BIOC[GS]ORTIMEOUT makes the situation worse. We have netbsd32_{to,from}_timeval50() in netbsd32_conv.h, and they convert between netbsd32_timeval50 and timeval, not timeval50! Apparently, we have too many different kinds of functions that share the same naming rule :(. Fix may be made in two steps: (1) minimum fix to HEAD for now and netbsd-8, in order to reduce conflicts b/w pgoyette-compat branch as much as possible, then (2) real fix after merge of pgoyette-compat. However, I'm not sure neither whether "the minimum fix" like this http://www.netbsd.org/~rin/netbsd32_ioctl_20181015.patch is acceptable, nor how "the real fix" should be...I think we need to decide on what "the real fix" looks like before we decide to use one-step or two-step patch.
OK. IMO, the cause of trouble is naming rule violation for netbsd32_{to,from}_foo() functions; we have (at least) four different kinds of functions: (1) Functions in netbsd32_conv.h that take two argument, struct netbsd32_foo, and struct foo (2) Functions in netbsd32_conv.h that require additional arguments, e.g., netbsd32_to_iovecin(): https://nxr.netbsd.org/xref/src/sys/compat/netbsd32/netbsd32_conv.h#241 (3) Functions in netbsd32_conv.h that do *not* convert b/w struct netbsd32_foo and struct foo, e.g., netbsd32_to_timeval50(): https://nxr.netbsd.org/xref/src/sys/compat/netbsd32/netbsd32_conv.h#72 (4) Functions in netbsd32_ioctl.c that require "u_long cmd" argument. Note that the most of these functions do not actually use "cmd". At the moment, I cannot imagine how to resolve this confusion... Thanks, rin