<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
<div class="moz-text-flowed"
style="font-family: -moz-fixed; font-size: 13px;" lang="x-western">Hello
all,
<br>
<br>
I've been trying to compile LLVM and LLVM-GCC on the SPARC
architecture, but I've been running into lots of issues:
<br>
<br>
LLVM 2.5 works, but 2.6 does not -- gcc can't even parse the triple.h
file needed in commandline.cpp. For 2.5, there's a compile error for
llvm-gcc for that version. I've been compiling with gcc 4.5.0, and
have also tried 4.4.3.
<br>
<br>
I've turned to trying to build the trunk version to see if I get better
results. I do get further (since LLVM itself won't even compile on 2.5
-- it compiles fine on trunk). LLVM-GCC also compiles farther than any
previous version for trunk. However, eventually, I encounter the
following assertion failure in llvm:
<br>
<br>
Assertion failed: Offset >= 0, file
/space/home/skou/llvm-trunk/lib/Transforms/InstCombine/InstructionCombining.cpp,
line 387
<br>
../../../../libstdc++-v3/libsupc++/unwind-cxx.h: In function
'__cxxabiv1::__cxa_exception*
__cxxabiv1::__get_exception_header_from_ue(_Unwind_Exception*)':
<br>
../../../../libstdc++-v3/libsupc++/unwind-cxx.h:171: internal compiler
error: Abort
<br>
<br>
I checked, and the "Offset" variable at this point in the source file
(InstructionCombining.cpp:387), is -23. The offending assert looks
like the following:
<br>
<br>
// Handle hosts where % returns negative instead of values
[0..TySize).
<br>
if (Offset < 0) {
<br>
--FirstIdx;
<br>
Offset += TySize;
<br>
fprintf(stderr, "ERROR: %d", Offset); // << endl;
<br>
assert(Offset >= 0);
<br>
}
<br>
<br>
Is anyone able to help me, or have been able to successfully compile
LLVM + LLVM-GCC on the SPARC platform? If so, what version of the
toolchain did you use?
<br>
<br>
Thank you for the help,
<br>
stephen
<br>
</div>
</body>
</html>