[fpc-devel] Compiling for libgdb, and using make -j on larger SPARC systems

Sven Barth pascaldragon at googlemail.com
Sun Aug 11 18:21:54 CEST 2013


On 11.08.2013 15:15, Mark Morgan Lloyd wrote:
> Sven Barth wrote:
>> On 09.08.2013 19:05, Mark Morgan Lloyd wrote:
>>> Sven Barth wrote:
>>>
>>>>> So you changed the "len = 0" to "len <= 0"? Then this is very strange,
>>>>> because that almost surely shouldn't happen. Could you please print
>>>>> somehow (either debugging or Writeln) the value of left.resultdef.typ
>>>>> (yes, without "e" at the end!) when len <= 0? Then we could at least
>>>>> check which def produces problematic results here (is suspect records,
>>>>> but just to be sure).
>>>>
>>>> On the other hand the only def that I've found so far that does indeed
>>>> return -1 in certain cases is the array... hmm...
>>>
>>> Noting Pierre's comments from earlier, TIntRegs contains arrays for
>>> SPARC and PPC (and also for the catch-all case) but not for i386 or 68k.
>>>
>>
>> It seems to be a bug in the Sparc code generator nevertheless, because
>> the IDE compiles (not assembles/links though :P ) using a Sparc cross
>> compiler...
>
> Hold on: the IDE without libgdb compiles OK natively on SPARC. It's only
> adding libgdb which screws things.
>

This might be, but the problem nevertheless suggests a potentially 
serious compiler bug as the compiler should not raise exceptions (or 
internal errors) on valid code.

Regards,
Sven



More information about the fpc-devel mailing list