[RFT] llquantize for FreeBSD's dtrace

Mark Peek mp at FreeBSD.org
Tue Jun 26 17:23:13 UTC 2012


On 6/23/12 11:09 AM, Pedro Giffuni wrote:
>
>
> --- Sab 23/6/12, Fabian Keil <freebsd-listen at 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 at 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


More information about the freebsd-current mailing list