Le Thursday 28 May 2009 17:43:18 David Daney, vous avez écrit : > Wu Zhangjin wrote: > > Hi, > > > > On Thu, 2009-05-28 at 13:31 +0200, Florian Fainelli wrote: > >> Le Saturday 27 December 2008 16:19:40 Richard Sandiford, vous avez écrit : > >>> "Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx> writes: > >>>> On Wed, 17 Dec 2008, David Daney wrote: > >>>>> This is an incomplete proof of concept that I applied to be able to > >>>>> build a 64 bit kernel with GCC-4.4. It doesn't handle the 32 bit > >>>>> case or the R4000_WAR case. > >>>> > >>>> The R4000_WAR case can use the same C code -- GCC will adjust code > >>>> generated as necessary according to the -mfix-r4000 flag. For the > >>>> 32-bit case I think the conclusion was the only way to get it working > >>>> is to use MFHI explicitly in the asm. > >>> > >>> No, the same sort of cast, multiply and shift should work for 32-bit > >>> code too. I.e.: > >>> > >>> usecs = ((uint64_t)usecs * lpj) >> 32; > >>> > >>> It should work for both -mfix-r4000 and -mno-fix-r4000. > >> > >> Any updates on this ? > > > > I have updated it to this PATCH, could you help to review it? > > FWIW, Ralf also has a patch, that I have tested, that takes a slightly > different approach. Are you refering to this one: "MIPS: Rewrite <asm/div64.h> to work with gcc 4.4.0." ? If so, it does not solve the problem for 32-bits kernels. > > In any event, it would be nice if one of the patches were merged to > 2.6.30 before it is released. GCC-4.4 has been available for quite a > while now. Not being able to build the kernel with it will become a > larger issue as time goes by. Definitively. -- Best regards, Florian Fainelli Email : florian@xxxxxxxxxxx http://openwrt.org -------------------------------