Re: [PATCH 4/4] options: discontinue -xversion=V as a valid option

Kris Van Hees <[email protected]>
Newsgroups dev.linux.lists.dtrace
Message-ID <aURjF0z//hh7Q8/[email protected]>
On Thu, Dec 18, 2025 at 03:22:47PM -0500, Eugene Loh wrote:
> Okay, but there must surely be test-suite changes.  At the very least:
> 
> * test/unittest/version/err.1.1.d  The err.* tests should not simply fail; 
> they should fail for the correct reason.
> 
> * test/unittest/version/tst.1.0.d
> 
> Maybe nothing else???

Right.  Making those changes now, and will post v2.

> On 12/17/25 00:10, Kris Van Hees wrote:
> > DTrace allowed setting a previous version to operate in compatibility
> > mode.  Unfortunately, it was not fully implemented.  Translators are
> > not really versioned, and if a translator uses an identifier that does
> > not exist in the version specified in -xversion=V, data structures end
> > up corrupted.
> > 
> > Since the usefulness of -xversion=V seems to be less than the effort
> > needed to rectify the implementation, we are no longer supporting this
> > option.
> > 
> > Signed-off-by: Kris Van Hees <[email protected]>
> > ---
> >   libdtrace/dt_options.c | 14 ++------------
> >   1 file changed, 2 insertions(+), 12 deletions(-)
> > 
> > diff --git a/libdtrace/dt_options.c b/libdtrace/dt_options.c
> > index 97516517..0a35e852 100644
> > --- a/libdtrace/dt_options.c
> > +++ b/libdtrace/dt_options.c
> > @@ -24,6 +24,7 @@
> >   #include <dt_pcap.h>
> >   #include <dt_string.h>
> >   #include <libproc.h>
> > +#include <port.h>
> >   static int
> >   dt_opt_agg(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
> > @@ -676,18 +677,7 @@ dt_opt_invcflags(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
> >   static int
> >   dt_opt_version(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
> >   {
> > -	dt_version_t v;
> > -
> > -	if (arg == NULL)
> > -		return dt_set_errno(dtp, EDT_BADOPTVAL);
> > -
> > -	if (dt_version_str2num(arg, &v) == -1)
> > -		return dt_set_errno(dtp, EDT_VERSINVAL);
> > -
> > -	if (!dt_version_defined(v))
> > -		return dt_set_errno(dtp, EDT_VERSUNDEF);
> > -
> > -	return dt_reduce(dtp, v);
> > +	return dt_set_errno(dtp, ENOTSUPP);
> >   }
> >   static int
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.