harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@gmail.com>
Subject Re: [drlvm][em64t] build fails
Date Tue, 14 Nov 2006 15:10:19 GMT
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


Mime
View raw message