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

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Fri Aug 9 21:11:30 CEST 2013


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...

But so far it appears to affect only this one bit of the compiler: 
nothing else. If I were paranoid I'd be invoking Ken Thompson's 
"Trusting Trust" paper http://cm.bell-labs.com/who/ken/trust.html

I'll put a bit more time on IDE+libgdb on various platforms, and might 
look at slightly older versions on SPARC. In the past I've had it 
running reasonably successfully on everything except ARM... which is an 
unfortunate exception since the sort of alignment problems which affect 
SPARC also affect at least some ARM variants.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



More information about the fpc-devel mailing list