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

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Mon Aug 26 11:55:32 CEST 2013


Mark Morgan Lloyd wrote:
> Sven Barth wrote:
> 
>>> Would it help if I were to build a cross-compiler here and try building
>>> the IDE both with and without libgdb?
>>
>> It would help more if you'd be able to reduce the problem from 
>> "compile IDE with libgdb" to "compile this simple unit/program". Thus 
>> could you please try to reduce the ide/fpregs.pp unit (which contains 
>> the suspicious TVectorRegs record) so far that it can be compiled 
>> standalone (no further dependencies), but still triggers the exception?
> 
> I'll be back.

This isn't quite what you've asked, but I can duplicate it with a 
minimal program:

program test_fp_ide;

(* This is a specific test of the fp IDE interface to libgdb, which 
fails       *)
(* to compile on SPARC using fpc later than 2.4.x. MarkMLl. 
         *)

uses FPRegs;

// var  vr: TVectorRegs;

begin
//  WriteLn(SizeOf(vr));

end.

#0  0x001e61c0 in TCGASSIGNMENTNODE__PASS_GENERATE_CODE 
(this=0xf58d6a40) at ncgld.pas:785
#1  0x0014d9c4 in SECONDPASS (P=0xf58d6a40) at pass_2.pas:195
..

which takes us back to the same line

if (right.location.reference.offset mod alignmentrequirement<>0) or

with the implication that alignmentrequirement is unexpectedly zero.

Above is based on 2.6.2, running on SPARC Debian "Lenny". I'm omitting 
details of the paths etc. pending confirmation that what I've got is of 
some use.

-----

I'm having problems reducing fpregs to a simple program, I'll post more 
details once I've been able to look at it on the machine I've moved onto 
for test purposes.

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