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.
