Error: co-processor offset out of range on ARM
Original Reporter info from Mantis: ginggs
-
Reporter name: Graham Inggs
Original Reporter info from Mantis: ginggs
- Reporter name: Graham Inggs
Description:
While attempting to build MRIcron [1] on ARM, I receive several errors similar to the following:
(9009) Assembling parconvert
parconvert.s: Assembler messages:
parconvert.s:3121: Error: co-processor offset out of range
parconvert.s:3128: Error: co-processor offset out of range
parconvert.s:3211: Error: co-processor offset out of range
...
Full build log available [2].
[1] http://people.cas.sc.edu/rorden/mricron/index.html
[2] https://buildd.debian.org/status/fetch.php?pkg=mricron&arch=armhf&ver=0.20140804.1%7Edfsg.1-2&stamp=1484442821&raw=0
Steps to reproduce:
I used upstream tarball mricron_0.20140804.1~dfsg.1.orig.tar.gz [1].
A newer release is available on GitHub [2], and exhibits the same problem, although line numbers may not match.
I enabled line information in the assembler file with the following:
--- a/dcm2nii/dcm2nii.lpi
+++ b/dcm2nii/dcm2nii.lpi
@@ -482,6 +482,7 @@
<ConfigFilePath Value=""/>
</ConfigFile>
<CompilerPath Value="$(CompPath)"/>
+ <CustomOptions Value="-al"/>
</Other>
</CompilerOptions>
<EditorMacros Count="0"/>
The line numbers now became:
(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
Line 3775 corresponds to the vstr instruction 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]
I attach parconvert.s generated with -al.
[1] http://snapshot.debian.org/package/mricron/0.20140804.1%7Edfsg.1-2/
[2] https://github.com/neurolabusc/MRIcron/releases
Mantis conversion info:
- Mantis ID: 31287
- OS: Debian
- OS Build: 9
- Platform: ARM
- Version: 3.0.0
- Fixed in version: 3.1.1
- Fixed in revision: 35396 (#b41989ad)
- Monitored by: » ginggs (Graham Inggs)