Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jun 2012 10:23:05 -0700
From:      Mark Peek <mp@FreeBSD.org>
To:        pfg@freebsd.org
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: [RFT] llquantize for FreeBSD's dtrace
Message-ID:  <4FE9EFF9.9080507@FreeBSD.org>
In-Reply-To: <1340474946.11584.YahooMailClassic@web113506.mail.gq1.yahoo.com>
References:  <1340474946.11584.YahooMailClassic@web113506.mail.gq1.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 6/23/12 11:09 AM, Pedro Giffuni wrote:
>
>
> --- Sab 23/6/12, Fabian Keil <freebsd-listen@fabiankeil.de> ha scritto:
> ...
>>> My suggestion would be to instead try using the test
>>> scripts in
>>>
>> cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/
>>>
>>> err.D_LLQUANT_FACTORSMALL.d (for example) has
>>>
>>> @ = llquantize(0, 1, 0, 10, 10);
>>
>> The problem appears to be unrelated to the syntax change:
>>
>> fk@r500
>> /usr/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize
>> $sudo dtrace -s err.D_LLQUANT_FACTORSMALL.d
>> Assertion failed: (!(arg & (UINT16_MAX <<
>> args[i].shift))), file
>>
>
> It's a different assertion.
>
> Probably some difference between Solaris and BSD.
> this is very useful, thanks!

Try this, change the assert on line 1429 in file dt_cc.c from:

assert(!(arg & (UINT16_MAX << args[i].shift)));

to

assert(!(arg & ((uint64_t)UINT16_MAX << args[i].shift)));


Mark



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FE9EFF9.9080507>