<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">I think __aeabi is ARM EABI not Android
      EABI, e.g. <a
href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0043d/index.html">http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0043d/index.html</a>.
      The problem is not that the __aeabi functions are missing on
      Android, they're defined in libgcc.a, the problem is that they
      don't get linked in unless they're referenced. I don't know how
      this problem is avoided on ARM/Linux/glibc normally, but something
      pulls them in there according to my testing.<br>
      <br>
      The way to avoid disabling setLastModificationAndAccessTime is to
      rewrite it to take a path and use utime/utimes instead
      (incidentally the setLastModificationAndAccessTime function is
      only used by llvm-ar). I don't know why it was written the way it
      is now; i.e. I'm not sure what systems have futimens but not
      futimes and vice-verse. I would guess that the utime function
      should be universal though. There's a HAVE_UTIME_H test in
      Config.h but it doesn't seem to be used anywhere.<br>
      <br>
      James<br>
      <br>
      On 11/11/13 08:30, Renato Golin wrote:<br>
    </div>
    <blockquote
cite="mid:CAMSE1kc1dKMK-u1n5OGRuRhZNFzY6grcQ5316uhC=KC7hKihbw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>On 11 November 2013 01:45, James Lyon <span dir="ltr"><<a
              moz-do-not-send="true" href="mailto:jameslyon0@gmail.com"
              target="_blank">jameslyon0@gmail.com</a>></span> wrote:<br>
        </div>
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I've
              attached a patch which has got JIT compilation working
              (for me at least!) on Android. It turns out that the
              problem was a bunch of intrinsic __aeabi* functions which
              reside in libgcc.a rather than libc.so so are not
              available unless explicitly linked in, so it's rather
              similar to the StatSymbols hack.<br>
            </blockquote>
            <div><br>
            </div>
            <div>Hi James,<br>
            </div>
            <div><br>
            </div>
            <div>I may be wrong, but I remember LLVM treating
              "androideabi" as "aeabi", which is wrong. This may be the
              source of your problem, and I think we should teach
              Clang/LLVM to understand the Android ABI in its full form.<br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">There's
              one other minor change since
              setLastModificationAndAccessTime can't be supported on
              Android; all relevant system calls are missing from the C
              library. I've therefore changed the code to fail at
              runtime rather than compile-time here.</blockquote>
          </div>
          <br>
        </div>
        <div class="gmail_extra">This sounds worse... I'd rather we
          fixed the behaviour than the cause...</div>
        <div class="gmail_extra"><br>
        </div>
        <div class="gmail_extra">cheers,</div>
        <div class="gmail_extra">
          --renato</div>
      </div>
    </blockquote>
    <br>
  </body>
</html>