<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 03 Mar 2014, at 09:24, Reinier Olislagers wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none;">make "FPC=/home/odroid/development/fpcbootstrap/arm-linux-ppcarm"</span><br style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none;">"--directory=/home/odroid/development/fpctrunk/compiler"</span><br style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none;">"CROSSOPT=-dFPC_ARMHF -Cparmv7a -CaEABIHF -CfVFPv3" "OPT=-dFPC_ARMHF"</span><br style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none;">"OS_TARGET=linux" "CPU_TARGET=arm" "OVERRIDEVERSIONCHECK=1" "cycle"</span><br style="color: rgb(0, 0, 0); font-family: monospace; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></blockquote></div><br><div>I just noticed that you are adding <span style="font-family: monospace;">-dFPC_ARMH also to CROSSOPT. That does not do anything and can be removed. In combination with your remark at </span><font face="monospace"><a href="http://wiki.lazarus.freepascal.org/ARM_compiler_options">http://wiki.lazarus.freepascal.org/ARM_compiler_options</a> that "e.g. adding -dFPC_ARMHF when compiling a program will not change anything" and the last post of Thaddy also talking about CROSSOPT, there seems to a lot of confusion about what this means. It's nevertheless very simple:</font></div><div><font face="monospace">* the -dXXX command line parameter simply tells the compiler to define symbol "XXX" as if there were a {$define XXX} at the top of every compiled source file. By definition this does not (and cannot) affect code generation. Regarding the statement on the wiki: it's like saying that adding "-vl" will not change anything regarding the code generation; it's not wrong, but it shouldn't be said either because it suggests that under some circumstances these parameters actually could change something (for the pedantic nitpickers: -dXXX could change something if fpc.cfg contains an "#ifdef XXX" statements, but that's not relevant here).</font></div><div><font face="monospace">* the compiler contains a bunch of {$ifdef FPC_ARMHF} source blocks. When these are enabled and you compile an ARM compiler, then the resulting compiler will generate ARM hardfloat ABI code. Adding -dFPC_ARMHF to OPT means that this parameter will be used while compiling the compiler (both cross and native), and hence the compiled ARM compilers (both cross and native) will generate ARM hardfloat ABI code</font></div><div><font face="monospace">* adding a parameter to CROSSOPT means that it is only specified when compiling code using a generated cross-compiler. So if you were to add -</font><span style="font-family: monospace;">dFPC_ARMHF to CROSSOPT and not to OPT, then you would first build an ARM cross-compiler that generate softfp ABI code, and subsequently the makefiles would build a native ARM compiler that itself uses the softfp ABI, but which generates hardfloat ABI code. It seems extremely unlikely that you would deliberately want your cross-compiler and native compiler to generate different code.</span></div><div><span style="font-family: monospace;">* Adding </span><font face="monospace">-</font><span style="font-family: monospace;">dFPC_ARMHF</span><span style="font-family: monospace;"> both to OPT and CROSSOPT means that </span><font face="monospace">-</font><span style="font-family: monospace;">dFPC_ARMHF will be passed once while building the cross-compiler and twice while building the native compiler. Again, this is not wrong, but it shouldn't be done because it suggests that under some circumstances </span><font face="monospace">-</font><span style="font-family: monospace;">dFPC_ARMHF should be part of CROSSOPT.</span></div><div><span style="font-family: monospace;"><br></span></div><div><span style="font-family: monospace;"><br></span></div><div><span style="font-family: monospace;">Jonas</span></div></body></html>