On Mon, Apr 28, 2014 at 8:17 AM, Sébastien Bernard <sbern...@nerim.net>wrote:

> Le 28/04/2014 14:15, Thomas Schmitt a écrit :
>
>  Hi,
>>
>> Sébastien Bernard:
>>
>>> result from strcmp('\0000','\0001' is 0)
>>> result from strcmp('\0000','\0001' is -1)
>>> Typicaly, an endianness error.
>>>
>> But one in strcmp(), not in your code or the one of genisoimage.
>> You compare an empty string with a string that contains one
>> character 0x01.
>> This is under no endianness allowed to strcmp() == 0.
>>
> Ok, you are correct.
> strcmp yields a bad result. I wasn't sure strcmp was doing byte
> comparaison.
> However, memcmp function is ok.
>
>
>
>  -    if (strcmp(rpnt, lpnt) == 0) {
>>> +    if (strcmp(rpnt, lpnt) == 0 && rpnt[0] == lpnt[0]) {
>>>
>> Are you sure that it does not miscompare other strings too ?
>>
> Basically, the fix is just to check, in case of strcmp() == 0 that the
> first byte of each string is the same.
> It's should be redundant operation if strcmp == 0 but not in the case of
> strcmp is misbehaving.
> It's just a workaround. The correct fix is, of course, to fix the strcmp.
> Another workaround would be to use :
>
>
> -    if (strcmp(rpnt, lpnt) == 0) {
> +    if (memcmp(rpnt, lpnt,MAX_ISONAME+1) == 0) {
>
>
>
>
>>
>>  I think that genisoimage with that test is
>>> unable to generated any iso at all on big endian machines.
>>>
>> I cannot agree with this diagnosis.
>> Not having a big-endian machine at hand now, i can confirm from
>> my old SunOS-4-on-SPARC days that strcmp() is supposed to yield
>> a non-zero result with your example char arrays.
>>
>> strcmp() may well be implemented by word comparisons. But then it
>> is the duty of the implementation to properly handle the ends of
>> the strings even if those are not word aligned.
>>
> Indeed, the correct fix is using strcmp. Meanwhile, the package is broken.
>
>
Wow, that's pretty bad. How did that slip? Also, are you building 64-bit or
32-bit code, and what CPU architecture (perhaps some per-CPU implementation
is buggy but not others?) This information will help when tracking down the
issue.


>
>
>>
>>  I filed a bug with xorriso. Waiting for the number to show up.
>>>
>> I will hopefully get a notification via the pkg-libburnia-devel
>> list. Else i will bother you.
>>
>
> Hum, still no answer. I'm going to fill it again.
>
>
>
>>
>> Steve McIntyre:
>>
>>> We build all the release images on an amd64 machine, pettersson.d.o
>>>
>> Ok. That explains why there are sparc-bootable ISOs from xorriso.
>>
> I didn't imagine it could be doable.
>
>
>>
>>
>> Have a nice day :)
>>
>> Thomas
>>
>>
>>  Thanks for your time and dedication.
>
> Seb
>
>
>
> --
> To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmas...@lists.debian.org
> Archive: https://lists.debian.org/535e54ee.6050...@nerim.net
>
>

Reply via email to