------- Additional Comment #1 From Mark Wielaard 2006-09-11 09:25 [reply] When running the frysk.rt.tests.TestStackBacktrace test on something that is not x86 you get: 1) testBacktrace(frysk.rt.tests.TestStackBacktrace)java.lang.NullPointerException at frysk.rt.StackCallbacks.accessReg(TestRunner) at lib.unwind.StackTraceCreator.unwind_setup(TestRunner) at lib.unwind.StackTraceCreator.createStackTrace(TestRunner) at frysk.rt.StackFactory.createStackFrame(TestRunner) at frysk.rt.tests.TestStackBacktrace.testBacktrace(TestRunner) at frysk.junit.Runner.<init>(TestRunner) at TestRunner.main(TestRunner) Currently the callbacks are setup through the RegisterX86 class which only hardcodes x86 registers.
Is this true? I had thought that Alex's patches work for x86_64 too. Maybe I am wrong.
Correct, the backtraces work on AMD64 properly; waiting to check on EM64T.
Confirmed, they do. Changes by: aoliva@sourceware.org 2006-09-25 05:23:57 Modified files: lib/unwind : ChangeLog frysk/proc : ChangeLog Isa.java IsaEMT64.java IsaIA32.java IsaPPC.java IsaPPC64.java frysk/rt : ChangeLog StackCallbacks.java Log message: frysk-imports/lib/unwind/ChangeLog: * RegisterAMD64.java: New class. frysk-core/frysk/proc/ChangeLog: * Isa.java (getRegisterNameByUnwindRegnum): New. * IsaEMT64.java (getRegisterNameByUnwindRegnum): Implement. * IsaIA32.java (getRegisterNameByUnwindRegnum): Implement. * IsaPPC.java (getRegisterNameByUnwindRegnum): Add stub. * IsaPPC64.java (getRegisterNameByUnwindRegnum): Add stub. frysk-core/frysk/rt/ChangeLog: * StackCallbacks.java: Do not import lib.unwind.RegisterX86. (accessMem): Implement according to Isa-specified word size. (accessReg, writeReg, accessFpreg, writeFpreg): Do not use RegisterX86 directly.
^^^