<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>