Re: [fpc-devel] Status of dynamic packages
On 25.01.2017 21:40, Mattias Gaertner wrote: > On Thu, 10 Nov 2016 17:29:50 +0100 > Sven Barthwrote: > >> Am 10.11.2016 15:17 schrieb "gabor" : >>> >>> Hello. >>> What's the status of dynamic packages? Are they usable? >> >> Currently only compile time packages work (meaning you can't load >> additional packages at runtime). Also currently only i386-win32 and the OS >> X targets (I did only test powerpc-darwin however) would be supported if >> packages would be enabled. >> Additionally there still needs to be fpmake support for dynamic packages >> added (so that the ppk is generated based on the fpmake.pp and that it >> indeed compiles the package). > > If someone wants to help with it, what skills/knowledge are required and > what are the next steps? For the compiler/RTL there isn't much that can be done as I'll need to redesign the unit initialization and finalization as well as prepare the RTL for a more dynamic approach regarding various tables. What could be helped with however would be fpmake since that would need to be able to generate package files and compile them along with the units if the target supports dynamic packages (cause I don't want to maintain a parallel .ppk file). I've already asked Joost on Core whether he'd be inclined to do that, but I haven't received an answer, so I don't know whether he read my mail or even already started working on it... Regards, Sven ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] co-processor offset out of range issue in Debian armhf.
On 01/26/2017 04:12 PM, peter green wrote: 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); movr0,r11 blxPARCONVERT$_$READ_PAR2NII$crcDDE5A164_$$_READPARFLOAT$$DOUBLE blxfpc_round_real blxfpc_int64_to_double vmov.f64d1,d0 subr0,r11,#143360 vstrd1,[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. I'm fairly certain this is from spilling code as the only other case has bounds checks. The code in question also has a huge number of local variables, so that supports this case. Not sure if it can be fixed, except by minimizing the local variables.. It already contained this mention: const kMaxnSLices = 18000;//delphi 32000 - lazarus fails >15000 Best Regards, Jeppe ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
[fpc-devel] co-processor offset out of range issue in Debian armhf.
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); movr0,r11 blxPARCONVERT$_$READ_PAR2NII$crcDDE5A164_$$_READPARFLOAT$$DOUBLE blxfpc_round_real blxfpc_int64_to_double vmov.f64d1,d0 subr0,r11,#143360 vstrd1,[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