On Mon, May 25, 2009 at 10:01:56AM +0100, David Chisnall wrote:
> I believe so, although I can't confirm it from personal experience.
> For x86-64, you should just need to regenerate the MsgSendSmallInt.bc
> file. Once you've done that, please run the Smalltalk test suite and
> report to me any failure (other than RetainOnlyOnce which is currently
> an expected fail).
I did regenerate it but had to do some tweaking: Clang (build from
r72105) did refuse to compile MsgSendSmallInt.m with the commandline
from the makefile. I needed to modify it this way:
clang-cc -c -ftrapv -emit-llvm -fexceptions
-I/usr/lib/gcc/x86_64-linux-gnu/4.3.3/include MsgSendSmallInt.m -o
MsgSendSmallInt.bc
"-c" was needed because clang was trying to link the object file (which
failed), "-emit-llvm" because the "-emit-llvm-bc" switch was not
recognized and finally it kept complaining that it couldn't find the
objc/objc-api.h header, so I manually added the include path to my
gcc-version (Is this correct? I'm assuming LanguageKit is still
using the gnu-runtime and thus referred to the headers that came with
gcc's libobjc)
Unfortunately, all the tests still fail with SIGABRT reporting a failed
assertion deep within the innards of llvm:
edlc: TargetRegisterInfo.cpp:59: virtual const llvm::TargetRegisterClass*
llvm::TargetRegisterInfo::getPhysicalRegisterRegClass(unsigned int, llvm::MVT)
const: Assertion `BestRC && "Couldn't find the register class"' failed.
If have attached a backtrace. I hope it's of any use.
Cheers,
Niels
Starting program: /usr/GNUstep/Local/Tools/x86_64/linux-gnu/gnu-gnu-gnu/edlc -f
test.st
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffb8d2d9af0 (LWP 6210)]
edlc: TargetRegisterInfo.cpp:59: virtual const llvm::TargetRegisterClass*
llvm::TargetRegisterInfo::getPhysicalRegisterRegClass(unsigned int, llvm::MVT)
const: Assertion `BestRC && "Couldn't find the register class"' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffb8d2d9af0 (LWP 6210)]
0x00007ffb8ad16065 in raise () from /lib/libc.so.6
(gdb) bt full
#0 0x00007ffb8ad16065 in raise () from /lib/libc.so.6
No symbol table info available.
#1 0x00007ffb8ad19153 in abort () from /lib/libc.so.6
No symbol table info available.
#2 0x00007ffb8ad0f159 in __assert_fail () from /lib/libc.so.6
No symbol table info available.
#3 0x00007ffb85c9768d in llvm::TargetRegisterInfo::getPhysicalRegisterRegClass
()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#4 0x00007ffb8597ad60 in llvm::ScheduleDAGSDNodes::EmitCopyFromReg ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#5 0x00007ffb8597d31d in llvm::ScheduleDAGSDNodes::EmitNode ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#6 0x00007ffb8597dba8 in llvm::ScheduleDAGSDNodes::EmitSchedule ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#7 0x00007ffb858edeca in llvm::SelectionDAGISel::CodeGenAndEmitDAG ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#8 0x00007ffb858efaaa in llvm::SelectionDAGISel::SelectBasicBlock ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#9 0x00007ffb858efea2 in llvm::SelectionDAGISel::SelectAllBasicBlocks ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#10 0x00007ffb858f1279 in llvm::SelectionDAGISel::runOnFunction ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#11 0x00007ffb85d03b59 in llvm::FPPassManager::runOnFunction ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#12 0x00007ffb85d0453e in llvm::FunctionPassManagerImpl::run ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals#13 0x00007ffb85d0474b in llvm::FunctionPassManager::run ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#14 0x00007ffb85699899 in llvm::JIT::runJITOnFunctionUnlocked ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#15 0x00007ffb85699be0 in llvm::JIT::getPointerToFunction ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#16 0x00007ffb856a5c0f in (anonymous namespace)::JITResolver::JITCompilerFn ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#17 0x00007ffb8584417f in X86CompilationCallback2 ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#18 0x00007ffb8584408a in X86CompilationCallback ()
from
/usr/GNUstep/Local/Library/Frameworks/LanguageKitCodeGen.framework/Versions/Current/x86_64/linux-gnu/gnu-gnu-gnu/LanguageKitCodeGen
No locals.
#19 0x00007ffb844f7fbd in ?? ()
No symbol table info available.
#20 0x00000000004020fa in main (argc=3, argv=0x7fff9530fb88) at main.m:220
opts = (class NSDictionary *) 0xcb8df0
bundle = (class NSString *) 0x0
framework = (class NSString *) 0x0
frameworks = (class NSString *) 0x0
transformName = (class NSString *) 0x0
ProgramFile = (class NSString *) 0xcb9070
Program = (class NSString *) 0xce0ca0
extension = (class NSString *) 0xcb9100
c1 = 220000
className = (class NSString *) 0x603c00
tool = (struct objc_class *) 0x7ffb844f8740
aTool = (struct objc_object *) 0xee2880
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev