mricron is failing to build for Debian armhf, specifically we are getting a bunch of 
"co-processor offset out of range" errors.

(9009) Assembling parconvert
parconvert.s: Assembler messages:
parconvert.s:3775: Error: co-processor offset out of range
parconvert.s:3783: Error: co-processor offset out of range
parconvert.s:3880: Error: co-processor offset out of range
parconvert.s:3886: Error: co-processor offset out of range
parconvert.s:3892: Error: co-processor offset out of range
parconvert.s:3895: Error: co-processor offset out of range
parconvert.s:3899: Error: co-processor offset out of range
parconvert.s:3903: Error: co-processor offset out of range
parconvert.s:3918: Error: co-processor offset out of range
parconvert.s:3924: Error: co-processor offset out of range
parconvert.s:3930: Error: co-processor offset out of range
parconvert.s:4813: Error: co-processor offset out of range
parconvert.s:4817: Error: co-processor offset out of range
parconvert.s:4821: Error: co-processor offset out of range
parconvert.s:4825: Error: co-processor offset out of range
parconvert.s:4895: Error: co-processor offset out of range
parconvert.s:4899: Error: co-processor offset out of range
parconvert.pas(1375) Error: (9007) Error while assembling exitcode 1
parconvert.pas(1375) Fatal: (10026) There were 2 errors compiling
module, stopping
Fatal: (1018) Compilation aborted

The first error corresponds to the vstr instruction on line 3775 below:

# [593] lScanResX :=  round(readParFloat);
     mov    r0,r11
     blx    PARCONVERT$_$READ_PAR2NII$crcDDE5A164_$$_READPARFLOAT$$DOUBLE
     blx    fpc_round_real
     blx    fpc_int64_to_double
     vmov.f64    d1,d0
     sub    r0,r11,#143360
     vstr    d1,[r0, #-2528]

Which in turn, corresponds to line 593 of parconvert.pas:

       if lUpCaseStr = 'SCANRESOLUTION(XY)' then begin
          lScanResX :=  round(readParFloat);
          lScanResY :=  round(readParFloat);
More detail at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851834

Any thoughts on what might cause this or possible fixes? my guess is that the 
compiler is missing an offset range check for access to local variables.

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to