<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Well, call me a monkey or an ape, but if you leave it out, you get
an EABI version of the compiler and EABIHF is missing. Whatever you
do, bootstrapped from 2.6.2.<br>
On both linux and windows you only seem to obtain an EABIHF capable
cross compiler if -dFPC_ARMHF is included in both OPT and CROSSOPT
and bootstrap with trunk.<br>
<br>
Try it.<br>
<br>
Your explanation is both logical and theoretically correct, but QED
shows otherwise for about the last 10 months.<br>
But I will look at my build scripts anyway. They produce the desired
results, though: EABIHF crosscompilers from windows and linux i386.<br>
<br>
Thaddy<br>
<br>
<br>
<div class="moz-cite-prefix">On 5-3-2014 17:06, Jonas Maebe wrote:<br>
</div>
<blockquote
cite="mid:0826E1B1-294E-4E32-862A-094F0248FA44@elis.ugent.be"
type="cite"><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 moz-do-not-send="true"
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>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
fpc-devel maillist - <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
</blockquote>
<br>
</body>
</html>