OK, got it. It's a misassembly. It assembles imull      $INVERSE_3, %eax,
%edx as imull   $INVERSE_3, %eax, %eax.

Removing the assembly instruction and including bytes corresponding to
the correct instruction fixes the problem and the test passes.

How bizarre. I better report the bug to the tcc people.

Bill.

2009/12/5 Bill Hart <[email protected]>:
> Actually it is odd. The MinGW version disassembles using the Windows
> objdump, but the tcc object file doesn't. I think this is because it
> doesn't recognize the code as actual code. It recognizes it as text
> strings, meaning it is probably in the wrong .section.
>
> There are significant differences in the object files. Actually gcc
> produces better code, for example automatically taking advantage of
> sign extension features of the processor, and tcc uses a long jump in
> one place and a short jump in the other, where gcc uses a short jump
> in both places.
>
> Some of the opcodes used for some of the assembly instructions are
> also different, though this may not actually be an issue.
>
> One significant problem is an entire assembly instruction is just
> omitted. That is the instruction to set esi to 0. I'm betting that is
> the real issue, as it would yield uninitialised data problems.
>
> Bill.
>
> 2009/12/5 Cactus <[email protected]>:
>>
>>
>> On Dec 5, 5:34 pm, Bill Hart <[email protected]> wrote:
>>> Actually, scrub that. It uses ELF-32.
>>>
>>> I'm trying objdump, though the Windows version doesn't seem to disassemble. 
>>> :-(
>>
>> Which is why I prefer Agner's objconv.exe. It can convert between
>> formats as well so you could take MIngw and Microsoft object files and
>> convert them to ELF-32.
>>
>>   Brian
>>
>> --
>>
>> You received this message because you are subscribed to the Google Groups 
>> "mpir-devel" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to 
>> [email protected].
>> For more options, visit this group at 
>> http://groups.google.com/group/mpir-devel?hl=en.
>>
>>
>>
>

--

You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.


Reply via email to