[PATCH] Fix v9/64-bit strcmp when string ends in multiple zero bytes.
Richard Earnshaw
rearnsha@arm.com
Thu May 1 16:54:00 GMT 2014
On 01/05/14 17:27, Carlos O'Donell wrote:
> On 05/01/2014 12:05 PM, David Miller wrote:
>> From: "Carlos O'Donell" <carlos@redhat.com>
>> Date: Thu, 01 May 2014 01:34:01 -0400
>>
>>> On 04/30/2014 04:00 PM, David Miller wrote:
>>>> + {
>>>> + int exp_result;
>>>> +
>>>> + for (CHAR val = 0x01; val < 0x10; val++)
>>>
>>> Permute over all char values e.g. [0x1,0xff] or val < 0x100;
>>
>> I tried that already, just making this change alone causes the test to
>> take minutes rather then just a few seconds.
>>
>> I'll see if I can mitigate the cost and still add the extra coverage.
>
> Perhaps not all values, but just values with interesting patterns then?
>
> for (CHAR val = 0x01; val < 0x100; val << 1) ?
>
> Cheers,
> Carlos.
>
>
I would expect the values that are likely to cause problems will lie
somewhere in the set {0x00, 0x01, 0x7e, 0x7f, 0x80, 0x81, 0xfe, 0xff},
given the way zero detection tends to work, plus the fact that standard
arithmetic is often done with potential for overflow from one byte to
another.
R.
More information about the Libc-alpha
mailing list