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