Hi,

On Sep 23, 2010, at 20:13 , Jan Rovins wrote:

> On 9/23/2010 1:37 PM, Rene Rebe wrote:
>> Porting the MIPS bits in dietlibc to 64 bit may only take some hours of 
>> trial and error. In fact I may even do so the next days (donations welcome 
>> :-).
> I looked at that dietlibc code a while ago, and tried to do some things so it 
> would build for mips64, but I gave up because there was too much mips32 
> specific assembly code in there that would need porting, and my knowledge of 
> Mips64 assembly was not sufficient to do this in a reasonable amount of time, 
> If you can find a way to bypass those assembly code issues, or are not 
> daunted by coding at that level, perhaps a few hours will do it.

well, I'm doing such stuff for years.

>> You could mark dietlibc [R] - mips64 temporarily (in it's .desc).
> Thanks for the tip.
>> I have a local mips64 glibc fix that i am just test build to check 
>> regressions and hope to commit any minute.
> The glibc solution is at the heart of the mips64 building troubles, I was 
> never able to get multilib working, so I bailed out into building it either 
> as n64abi or n32abi. for embedded purposes, it may still be good to let the 
> user specify whether its multilib, single lib n64 or single lib n32.
> 
> In building off the trunk as it is right now, I am getting the o32 abi libs 
> in /lib and the n32 abi libs in /lib64.
> The question arises as to which libs really should be used where.  The o32 
> abi libs are the true old 32 bit libs which will allow the running of the 
> ancient mips32 binaries on a mips64 system, but the n32 abi libs are of more 
> interest to someone running on modern 64bit hardware, and wants to maintain a 
> 32 bit user space. the n32 abi relies on some 64bit hardware features, and is 
> not usable on 32bit hardware, but it is still a 32 bit abi, not a full 64bit 
> abi. I think n32 would be the most common choice for a 32bit abi on current 
> Mips technology. I think the true n64 abi should be in /lib64. The question 
> is:  does one library solution make sense for every one using Mips64, or 
> should we let them pick their own combos?

Personally I would set it up like powerpc64, or x86-64, that is default to the 
full 64bit binaries in lib64 and have fully backward compatible lib/ support to 
support running the vanilla 32bit binaries of the architecture, which for MIPS 
would mean o32.

I see little benefit in supporting the n32 variant. Of course anyone is free to 
setup his target to build n32 if they want to gain the extra performance % 
digit, ... But as outlined I would default to reasonable choices, the efforts 
to keep them working are already high enough. The Linux kconfig has this:

          Select this option if you want to run n32 binaries.  These are
          64-bit binaries using 32-bit quantities for addressing and certain
          data that would normally be 64-bit.  They are used in special
          cases.

          If unsure, say N.

So this would mean fixing trunk to built n64 binaries instead of n32 gcc is 
apparently (accidentally) defaulting to.

        René

> Jan
>> René
>> 
>> Sent abroad - http://ExactCODE.com Germany.
>> 
>> On Sep 23, 2010, at 18:51, Jan Rovins<[email protected]>  wrote:
>> 
>>> Thanks Rene for reviewing&  committing pieces of that big patch.
>>> 
>>> I am starting to work again on the current trunk, just to see what will 
>>> build for Mips64.
>>> would like to have the embedded, embedded-minimal, and generic-minimal 
>>> buildable for mips64
>>> Right now, the biggest show stopper is dietlibc.  I don't think it will be 
>>> ported to mips64 any time soon, so is there a way to leave it out of the 
>>> package list conditionally, when we are building a Mips64 target?
>>> 
>>> Jan
>>> 
>>> 
>>> On 9/23/2010 9:21 AM, Rene Rebe wrote:
>>>> Hi,
>>>> 
>>>> On Sep 8, 2010, at 7:01 AM, Jan Rovins wrote:
>>>> 
>>>>> <mips64-T2-R36064.patch>
>>>> Applied reworked tcl cross compile glue:
>>>> 
>>>>> Index: package/base/tcl/tcl.desc
>>>>> ===================================================================
>>>>> --- package/base/tcl/tcl.desc     (revision 36064)
>>>>> +++ package/base/tcl/tcl.desc     (working copy)
>>>>> @@ -26,9 +26,10 @@
>>>>> 
>>>>>  [C] extra/development extra/tool extra/shell
>>>>  >
>>>>> +[F] CROSS
>>>> ...
>>>> 
>>>>> +    #JLR ? do we need seperate include paths for cross&   non cross 
>>>>> builds?
>>>>> +    # or can $root$includedir work for native builds too?
>>>> Yes, we can!
>>>> 
>>>>> +strtod_fix () {
>>>>> + export ac_cv_func_strtod=yes
>>>>> + export tcl_cv_strtod_buggy=1
>>>>> +}
>>>>> +
>>>>> +if ! atstage native; then
>>>>> +  hook_add preconf 4 strtod_fix
>>>>> +fi
>>>> This can also be done more elegantly, see:
>>>> 
>>>> Committed revision 37666.
>>>> 
>>>>    René
>>>> 
> 

-- 
  René Rebe, ExactCODE GmbH, Jaegerstr. 67, DE-10117 Berlin
  http://exactcode.com | http://t2-project.org | http://rene.rebe.de

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to