Gregory Shimansky wrote:
Stefano Mazzocchi wrote:
Gregory Shimansky wrote:
On Tuesday 14 November 2006 00:51 Gregory Shimansky wrote:
I'm going to try to do this on my Gentoo at home now. It is mostly
bleeding edge up to date installation.
Now I see what you're talking about. The threading library of classlib doesn't compile on x86_64. It fails with the same error

[exec] /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object. [exec] /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: x86_64/thrspinlock.o: relocation R_X86_64_PC32 against `hythread_yield' can not be used when making a shared object; recompile with -fPIC [exec] /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value

I've found out that thrspinlock.o is compiled from an assembly code of thrspinlock.s which was created in HARMONY-1005. It looks like something wasn't done correctly enough. On SuSE9 it did work ok, but not any more. Compiling assembly sources with "gcc -fpic" didn't change anything. It looks like the code itself has to be changed.

Thanks for having identified the issue.

Do we have any idea on how to proceed?

(sorry for being pushy, but gump is waiting ;-)


I think I've found a solution. The fix for assembly code is in HARMONY-2185. Now if I get everything working with it I'll commit the patch.

I've committed the fix. I had to also patch drlvm to make it compile on gcc 4.1. In depends for classlib I had to link /usr/lib64/lib{lcms,png,jpeg}.so files because the static versions don't work.

Now it seems to be working but many tests crash. For the most part these tests are kernel tests running on jitrino.opt.


--
Gregory

Reply via email to